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

#include <Matrix4_Full.H>

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::FullRandom ()
 
static Matrix4< 2, Sym::FullZero ()
 

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 23 of file Matrix4_Full.H.

Constructor & Destructor Documentation

◆ Matrix4()

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

Definition at line 27 of file Matrix4_Full.H.

Member Function Documentation

◆ contains_nan()

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

Definition at line 82 of file Matrix4_Full.H.

◆ operator()() [1/2]

Definition at line 30 of file Matrix4_Full.H.

◆ 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 46 of file Matrix4_Full.H.

◆ Print()

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

Definition at line 68 of file Matrix4_Full.H.

◆ Random()

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

Definition at line 62 of file Matrix4_Full.H.

◆ Zero()

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

Definition at line 72 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 25 of file Matrix4_Full.H.


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