OGS
MaterialLib::Solids::MFront::Variable< Derived > Struct Template Reference

Detailed Description

template<typename Derived>
struct MaterialLib::Solids::MFront::Variable< Derived >

Holds meta data describing a variable that can be passed from OGS to MFront.

For the description of the parameter Derived please see Strain below.

Definition at line 27 of file Variable.h.

#include <Variable.h>

Static Public Member Functions

template<int DisplacementDim>
static constexpr std::size_t size ()
 The number of components of the variable.
 
template<int DisplacementDim>
static constexpr std::size_t rows ()
 The number of rows of the variable.
 
template<int DisplacementDim>
static constexpr std::size_t cols ()
 The number of columns of the variable.
 

Member Function Documentation

◆ cols()

template<typename Derived >
template<int DisplacementDim>
static constexpr std::size_t MaterialLib::Solids::MFront::Variable< Derived >::cols ( )
inlinestaticconstexpr

The number of columns of the variable.

Definition at line 57 of file Variable.h.

58 {
59 using T = mgis::behaviour::Variable::Type;
60 switch (Derived::type)
61 {
62 case T::SCALAR:
63 return 1;
64 case T::VECTOR:
65 return 1;
66 case T::STENSOR:
67 return 1;
68 case T::TENSOR:
69 return 1;
70 }
71 }

◆ rows()

template<typename Derived >
template<int DisplacementDim>
static constexpr std::size_t MaterialLib::Solids::MFront::Variable< Derived >::rows ( )
inlinestaticconstexpr

The number of rows of the variable.

Definition at line 38 of file Variable.h.

39 {
40 using T = mgis::behaviour::Variable::Type;
41 switch (Derived::type)
42 {
43 case T::SCALAR:
44 return 1;
45 case T::VECTOR:
46 return DisplacementDim;
47 case T::STENSOR:
49 DisplacementDim);
50 case T::TENSOR:
51 return MaterialPropertyLib::tensorSize(DisplacementDim);
52 }
53 }
constexpr int tensorSize(int dim)
See Tensor type for details.
Definition Tensor.h:19
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.

References MathLib::KelvinVector::kelvin_vector_dimensions(), and MaterialPropertyLib::tensorSize().

◆ size()

template<typename Derived >
template<int DisplacementDim>
static constexpr std::size_t MaterialLib::Solids::MFront::Variable< Derived >::size ( )
inlinestaticconstexpr

The number of components of the variable.

Definition at line 31 of file Variable.h.

32 {
33 return rows<DisplacementDim>() * cols<DisplacementDim>();
34 }

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