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 Scalar & operator() (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 > Random ()
 
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 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: