Alamo
Public Member Functions | Static Public Member Functions | Private Attributes | Friends
Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic > Class Reference

Public Member Functions

AMREX_GPU_HOST_DEVICE Matrix4 ()
 
AMREX_GPU_HOST_DEVICE Matrix4 (Set::Scalar a_lambda, Set::Scalar a_mu)
 
AMREX_FORCE_INLINE Scalar operator() (const int i, const int j, const int k, const int l) const
 
void Randomize ()
 
void Print (std::ostream &os)
 
Set::Scalar Lambda () const
 
Set::Scalar Mu () const
 
Matrix4< AMREX_SPACEDIM, Sym::Isotropic > Inverse () const
 
AMREX_GPU_HOST_DEVICE void operator+= (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a)
 
AMREX_GPU_HOST_DEVICE void operator-= (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a)
 
AMREX_GPU_HOST_DEVICE void operator*= (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a)
 
AMREX_GPU_HOST_DEVICE void operator/= (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a)
 
AMREX_GPU_HOST_DEVICE void operator*= (const Set::Scalar &alpha)
 
AMREX_GPU_HOST_DEVICE void operator/= (const Set::Scalar &alpha)
 
Set::Scalar Norm ()
 
bool contains_nan () const
 

Static Public Member Functions

static Matrix4< AMREX_SPACEDIM, Sym::Isotropic > Zero ()
 

Private Attributes

Set::Scalar lambda =NAN
 
Set::Scalar mu =NAN
 

Friends

Set::Matrix operator* (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a, const Set::Matrix &b)
 
Set::Vector operator* (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a, const Set::Matrix3 &b)
 
Matrix4< AMREX_SPACEDIM, Sym::Isotropic > operator- (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a, const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &b)
 
Matrix4< AMREX_SPACEDIM, Sym::Isotropic > operator* (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a, const Set::Scalar &b)
 
Matrix4< AMREX_SPACEDIM, Sym::Isotropic > operator* (const Set::Scalar &b, const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a)
 
Matrix4< AMREX_SPACEDIM, Sym::Isotropic > operator/ (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a, const Set::Scalar &b)
 
Matrix4< AMREX_SPACEDIM, Sym::Isotropic > operator* (const Set::Scalar &b, const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a)
 
bool operator== (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a, const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &b)
 
Matrix4< AMREX_SPACEDIM, Sym::Isotropic > operator+ (const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &a, const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &b)
 

Detailed Description

Definition at line 33 of file Matrix4_Isotropic.H.

Constructor & Destructor Documentation

◆ Matrix4() [1/2]

AMREX_GPU_HOST_DEVICE Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Matrix4 ( )
inline

Definition at line 37 of file Matrix4_Isotropic.H.

◆ Matrix4() [2/2]

AMREX_GPU_HOST_DEVICE Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Matrix4 ( Set::Scalar  a_lambda,
Set::Scalar  a_mu 
)
inline

Definition at line 38 of file Matrix4_Isotropic.H.

Member Function Documentation

◆ contains_nan()

bool Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::contains_nan ( ) const
inline

Definition at line 112 of file Matrix4_Isotropic.H.

◆ Inverse()

Matrix4<AMREX_SPACEDIM,Sym::Isotropic> Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Inverse ( ) const
inline

Definition at line 82 of file Matrix4_Isotropic.H.

◆ Lambda()

Set::Scalar Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Lambda ( ) const
inline

Definition at line 65 of file Matrix4_Isotropic.H.

◆ Mu()

Set::Scalar Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Mu ( ) const
inline

Definition at line 69 of file Matrix4_Isotropic.H.

◆ Norm()

Set::Scalar Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Norm ( )
inline

Definition at line 107 of file Matrix4_Isotropic.H.

◆ operator()()

AMREX_FORCE_INLINE Scalar Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::operator() ( const int  i,
const int  j,
const int  k,
const int  l 
) const
inline

Note: for the Isotropic Matrix4 this routine works for retrieval only! If you try to assign a value using this with, say

isotropicmatrix4(i,j,k,l) = 8.0

you will get a lvalue required as left operand of assignment compile error. You should probably consider using a lower symmetry operator.

Definition at line 48 of file Matrix4_Isotropic.H.

◆ operator*=() [1/2]

AMREX_GPU_HOST_DEVICE void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::operator*= ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a)
inline

Definition at line 102 of file Matrix4_Isotropic.H.

◆ operator*=() [2/2]

AMREX_GPU_HOST_DEVICE void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::operator*= ( const Set::Scalar alpha)
inline

Definition at line 104 of file Matrix4_Isotropic.H.

◆ operator+=()

AMREX_GPU_HOST_DEVICE void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::operator+= ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a)
inline

Definition at line 100 of file Matrix4_Isotropic.H.

◆ operator-=()

AMREX_GPU_HOST_DEVICE void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::operator-= ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a)
inline

Definition at line 101 of file Matrix4_Isotropic.H.

◆ operator/=() [1/2]

AMREX_GPU_HOST_DEVICE void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::operator/= ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a)
inline

Definition at line 103 of file Matrix4_Isotropic.H.

◆ operator/=() [2/2]

AMREX_GPU_HOST_DEVICE void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::operator/= ( const Set::Scalar alpha)
inline

Definition at line 105 of file Matrix4_Isotropic.H.

◆ Print()

void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Print ( std::ostream &  os)
inline

Definition at line 61 of file Matrix4_Isotropic.H.

◆ Randomize()

void Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Randomize ( )
inline

Definition at line 56 of file Matrix4_Isotropic.H.

Here is the call graph for this function:

◆ Zero()

static Matrix4<AMREX_SPACEDIM,Sym::Isotropic> Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::Zero ( )
inlinestatic

Definition at line 73 of file Matrix4_Isotropic.H.

Friends And Related Function Documentation

◆ operator* [1/5]

Set::Matrix operator* ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a,
const Set::Matrix b 
)
friend

Definition at line 120 of file Matrix4_Isotropic.H.

◆ operator* [2/5]

Set::Vector operator* ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a,
const Set::Matrix3 b 
)
friend

Definition at line 146 of file Matrix4_Isotropic.H.

◆ operator* [3/5]

Matrix4<AMREX_SPACEDIM,Sym::Isotropic> operator* ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a,
const Set::Scalar b 
)
friend

Definition at line 158 of file Matrix4_Isotropic.H.

◆ operator* [4/5]

Matrix4<AMREX_SPACEDIM,Sym::Isotropic> operator* ( const Set::Scalar b,
const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a 
)
friend

Definition at line 174 of file Matrix4_Isotropic.H.

◆ operator* [5/5]

Matrix4<AMREX_SPACEDIM,Sym::Isotropic> operator* ( const Set::Scalar b,
const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a 
)
friend

Definition at line 174 of file Matrix4_Isotropic.H.

◆ operator+

Matrix4<AMREX_SPACEDIM,Sym::Isotropic> operator+ ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a,
const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  b 
)
friend

Definition at line 187 of file Matrix4_Isotropic.H.

◆ operator-

Matrix4<AMREX_SPACEDIM,Sym::Isotropic> operator- ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a,
const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  b 
)
friend

Definition at line 196 of file Matrix4_Isotropic.H.

◆ operator/

Matrix4<AMREX_SPACEDIM,Sym::Isotropic> operator/ ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a,
const Set::Scalar b 
)
friend

Definition at line 166 of file Matrix4_Isotropic.H.

◆ operator==

bool operator== ( const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  a,
const Matrix4< AMREX_SPACEDIM, Sym::Isotropic > &  b 
)
friend

Definition at line 180 of file Matrix4_Isotropic.H.

Field Documentation

◆ lambda

Set::Scalar Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::lambda =NAN
private

Definition at line 35 of file Matrix4_Isotropic.H.

◆ mu

Set::Scalar Set::Matrix4< AMREX_SPACEDIM, Sym::Isotropic >::mu =NAN
private

Definition at line 35 of file Matrix4_Isotropic.H.


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