13#include <MGIS/Behaviour/Variable.hxx>
27template <
typename Derived>
31 template <
int DisplacementDim>
32 static constexpr std::size_t
size()
38 template <
int DisplacementDim>
39 static constexpr std::size_t
rows()
41 using T = mgis::behaviour::Variable::Type;
43 switch (Derived::type)
48 return DisplacementDim;
63 case T::HIGHER_ORDER_TENSOR:
65 OGS_FATAL(
"Unsupported MGIS variable type {}.",
71 template <
int DisplacementDim>
72 static constexpr std::size_t
cols()
74 using T = mgis::behaviour::Variable::Type;
75 switch (Derived::type)
94 case T::HIGHER_ORDER_TENSOR:
96 OGS_FATAL(
"Unsupported MGIS variable type {}.",
106 constexpr static const char*
name =
"Strain";
109 constexpr static mgis::behaviour::Variable::Type
type =
110 mgis::behaviour::Variable::Type::STENSOR;
126 constexpr static const char*
name =
"GreenLagrangeStrain";
129 constexpr static mgis::behaviour::Variable::Type
type =
130 mgis::behaviour::Variable::Type::STENSOR;
146 constexpr static const char*
name =
"DeformationGradient";
149 constexpr static mgis::behaviour::Variable::Type
type =
150 mgis::behaviour::Variable::Type::TENSOR;
162 constexpr static const char*
name =
"LiquidPressure";
164 constexpr static mgis::behaviour::Variable::Type
type =
165 mgis::behaviour::Variable::Type::SCALAR;
175 constexpr static const char*
name =
"Stress";
177 constexpr static mgis::behaviour::Variable::Type
type =
178 mgis::behaviour::Variable::Type::STENSOR;
187 constexpr static const char*
name =
"SecondPiolaKirchhoffStress";
189 constexpr static mgis::behaviour::Variable::Type
type =
190 mgis::behaviour::Variable::Type::STENSOR;
199 constexpr static const char*
name =
"Saturation";
201 constexpr static mgis::behaviour::Variable::Type
type =
202 mgis::behaviour::Variable::Type::SCALAR;
212 constexpr static const char*
name =
"Temperature";
214 constexpr static mgis::behaviour::Variable::Type
type =
215 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.