6#include <MGIS/Behaviour/Variable.hxx>
20template <
typename Derived>
24 template <
int DisplacementDim>
25 static constexpr std::size_t
size()
31 template <
int DisplacementDim>
32 static constexpr std::size_t
rows()
34 using T = mgis::behaviour::Variable::Type;
36 switch (Derived::type)
41 return DisplacementDim;
56 case T::HIGHER_ORDER_TENSOR:
58 OGS_FATAL(
"Unsupported MGIS variable type {}.",
64 template <
int DisplacementDim>
65 static constexpr std::size_t
cols()
67 using T = mgis::behaviour::Variable::Type;
68 switch (Derived::type)
87 case T::HIGHER_ORDER_TENSOR:
89 OGS_FATAL(
"Unsupported MGIS variable type {}.",
99 constexpr static const char*
name =
"Strain";
102 constexpr static mgis::behaviour::Variable::Type
type =
103 mgis::behaviour::Variable::Type::STENSOR;
119 constexpr static const char*
name =
"GreenLagrangeStrain";
122 constexpr static mgis::behaviour::Variable::Type
type =
123 mgis::behaviour::Variable::Type::STENSOR;
139 constexpr static const char*
name =
"DeformationGradient";
142 constexpr static mgis::behaviour::Variable::Type
type =
143 mgis::behaviour::Variable::Type::TENSOR;
155 constexpr static const char*
name =
"LiquidPressure";
157 constexpr static mgis::behaviour::Variable::Type
type =
158 mgis::behaviour::Variable::Type::SCALAR;
168 constexpr static const char*
name =
"Stress";
170 constexpr static mgis::behaviour::Variable::Type
type =
171 mgis::behaviour::Variable::Type::STENSOR;
180 constexpr static const char*
name =
"SecondPiolaKirchhoffStress";
182 constexpr static mgis::behaviour::Variable::Type
type =
183 mgis::behaviour::Variable::Type::STENSOR;
192 constexpr static const char*
name =
"Saturation";
194 constexpr static mgis::behaviour::Variable::Type
type =
195 mgis::behaviour::Variable::Type::SCALAR;
205 constexpr static const char*
name =
"Temperature";
207 constexpr static mgis::behaviour::Variable::Type
type =
208 mgis::behaviour::Variable::Type::SCALAR;
KelvinVector mechanical_strain
DeformationGradient deformation_gradient
double liquid_phase_pressure
constexpr auto to_underlying(E e) noexcept
Converts an enumeration to its underlying type.
static constexpr Temperature temperature
static constexpr SecondPiolaKirchhoffStress second_piola_kirchhoff_stress
static constexpr LiquidPressure liquid_pressure
static constexpr Strain strain
Instance that can be used for overload resolution/template type deduction.
static constexpr DeformationGradient deformation_gradient
Instance that can be used for overload resolution/template type deduction.
static constexpr Saturation saturation
static constexpr GreenLagrangeStrain green_lagrange_strain
Instance that can be used for overload resolution/template type deduction.
static constexpr Stress stress
constexpr int tensorSize(int dim)
See Tensor type for details.
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
Meta data for Green-Lagrange strain.
static constexpr mgis::behaviour::Variable::Type type
The type of the variable in MFront.
static constexpr auto mpl_var
static constexpr const char * name
The name of the variable in MFront.
static constexpr auto mpl_var
static constexpr const char * name
static constexpr mgis::behaviour::Variable::Type type
static constexpr auto mpl_var
static constexpr mgis::behaviour::Variable::Type type
static constexpr const char * name
static constexpr const char * name
static constexpr mgis::behaviour::Variable::Type type
static constexpr auto mpl_var
static constexpr mgis::behaviour::Variable::Type type
The type of the variable in MFront.
static constexpr const char * name
The name of the variable in MFront.
static constexpr auto mpl_var
static constexpr mgis::behaviour::Variable::Type type
static constexpr auto mpl_var
static constexpr const char * name
static constexpr const char * name
static constexpr auto mpl_var
static constexpr mgis::behaviour::Variable::Type type
static constexpr std::size_t cols()
The number of columns of the variable.
static constexpr std::size_t rows()
The number of rows of the variable.
static constexpr std::size_t size()
The number of components of the variable.