Alamo
Public Member Functions | Static Public Member Functions | Private Attributes
Set::Matrix4< 2, Sym::Full > Class Reference

Public Member Functions

AMREX_GPU_HOST_DEVICE Matrix4 ()
 
AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE Scalaroperator() (const int i, const int j, const int k, const int l)
 
Scalar operator() (const int i, const int j, const int k, const int l) const
 
void Print (std::ostream &)
 
bool contains_nan () const
 

Static Public Member Functions

static Matrix4< 2, Sym::Full > Randomize ()
 
static Matrix4< 2, Sym::Full > Zero ()
 

Private Attributes

Scalar data [5] = {NAN,NAN,NAN,NAN,NAN}
 

Detailed Description

Let the tensor \(\mathbb{C}\in\mathbb{R}^3\times\mathbb{R}^3\times\mathbb{R}^3\times\mathbb{R}^3\) be fully symmetrix such that \(\mathbb{C}_{ijkl}=\mathbb{C}_{\sigma(i,j,k,l)\) where \(\sigma\) is any permutation. Then there are only 5 (2D) or 15(3D) unique elements (rather than 81).

This object acts like a 4D array such that C(i,j,k,l) returns the corresponding element, but symmetry is always obeyed. This allows the user code to be much prettier.

Definition at line 21 of file Matrix4_Full.H.

Constructor & Destructor Documentation

◆ Matrix4()

AMREX_GPU_HOST_DEVICE Set::Matrix4< 2, Sym::Full >::Matrix4 ( )
inline

Definition at line 25 of file Matrix4_Full.H.

Member Function Documentation

◆ contains_nan()

bool Set::Matrix4< 2, Sym::Full >::contains_nan ( ) const
inline

Definition at line 80 of file Matrix4_Full.H.

◆ operator()() [1/2]

AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE Scalar& Set::Matrix4< 2, Sym::Full >::operator() ( const int  i,
const int  j,
const int  k,
const int  l 
)
inline

Definition at line 28 of file Matrix4_Full.H.

Here is the call graph for this function:

◆ operator()() [2/2]

Scalar Set::Matrix4< 2, Sym::Full >::operator() ( const int  i,
const int  j,
const int  k,
const int  l 
) const
inline

Definition at line 44 of file Matrix4_Full.H.

Here is the call graph for this function:

◆ Print()

void Set::Matrix4< 2, Sym::Full >::Print ( std::ostream &  )
inline

Definition at line 66 of file Matrix4_Full.H.

Here is the call graph for this function:

◆ Randomize()

static Matrix4<2,Sym::Full> Set::Matrix4< 2, Sym::Full >::Randomize ( )
inlinestatic

Definition at line 60 of file Matrix4_Full.H.

Here is the call graph for this function:

◆ Zero()

static Matrix4<2,Sym::Full> Set::Matrix4< 2, Sym::Full >::Zero ( )
inlinestatic

Definition at line 70 of file Matrix4_Full.H.

Field Documentation

◆ data

Scalar Set::Matrix4< 2, Sym::Full >::data[5] = {NAN,NAN,NAN,NAN,NAN}
private

Definition at line 23 of file Matrix4_Full.H.


The documentation for this class was generated from the following file: