57static const std::array<std::string,
61 "deformation_gradient",
63 "effective_pore_pressure",
65 "enthalpy_of_evaporation",
66 "equivalent_plastic_strain",
67 "grain_compressibility",
68 "liquid_phase_pressure",
72 "molar_mass_derivative",
76 "solid_grain_pressure",
82 "volumetric_strain"}};
88 Eigen::Matrix<double, 4, 1>,
89 Eigen::Matrix<double, 5, 1>,
90 Eigen::Matrix<double, 6, 1>,
91 Eigen::Matrix<double, 9, 1>>;
100 auto identity = [](
auto&& arg) ->
VariableType {
return arg; };
140 return std::visit(identity,
stress);
153 "No conversion to VariableType is provided for variable "
155 static_cast<int>(variable));
163 std::variant<std::monostate,
164 Eigen::Matrix<double, 5, 1>,
165 Eigen::Matrix<double, 9, 1>>
175 std::variant<std::monostate,
176 Eigen::Matrix<double, 4, 1>,
177 Eigen::Matrix<double, 6, 1>>
185 std::variant<std::monostate,
186 Eigen::Matrix<double, 4, 1>,
187 Eigen::Matrix<double, 6, 1>>
190 std::variant<std::monostate,
191 Eigen::Matrix<double, 4, 1>,
192 Eigen::Matrix<double, 6, 1>>
194 std::variant<std::monostate,
195 Eigen::Matrix<double, 4, 1>,
196 Eigen::Matrix<double, 6, 1>>
203 static constexpr auto nan_ = std::numeric_limits<double>::signaling_NaN();
VariableType operator[](Variable const variable) const
double solid_grain_pressure
std::variant< std::monostate, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 > > mechanical_strain
std::variant< std::monostate, Eigen::Matrix< double, 5, 1 >, Eigen::Matrix< double, 9, 1 > > deformation_gradient
double transport_porosity
double grain_compressibility
double molar_mass_derivative
std::variant< std::monostate, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 > > total_strain
std::variant< std::monostate, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 > > stress
static constexpr auto nan_
double gas_phase_pressure
double effective_pore_pressure
double equivalent_plastic_strain
double capillary_pressure
std::variant< std::monostate, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 > > total_stress
double enthalpy_of_evaporation
double liquid_phase_pressure
@ enthalpy_of_evaporation
@ equivalent_plastic_strain
@ effective_pore_pressure
static const VariableArray EmptyVariableArray
static const std::array< std::string, static_cast< int >(Variable::number_of_variables)> variable_enum_to_string
std::variant< std::monostate, double, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 5, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::Matrix< double, 9, 1 > > VariableType
@ concentration
used to specify decay rate of a substance.
Variable convertStringToVariable(std::string const &string)