21template <
int DisplacementDim>
23 boost::mp11::mp_list<Strain>,
24 boost::mp11::mp_list<Stress>,
25 boost::mp11::mp_list<Temperature>>,
29 boost::mp11::mp_list<Strain>,
30 boost::mp11::mp_list<Stress>,
31 boost::mp11::mp_list<Temperature>>;
49 material_state_variables)
const override
56 DisplacementDim>::MaterialStateVariables>,
65 material_state_variables)
const override
72 material_state_variables);
79 auto& [stress_data, state, tangent_operator_data] = *res;
88 DisplacementDim>::MaterialStateVariables>,
90 view.block(
stress, stress_data),
94 std::vector<typename MechanicsBase<DisplacementDim>::InternalVariable>
97 return Base ::getInternalVariables();
114 material_state_variables)
const override
117 t, x, dt, eps, sigma, material_state_variables);
124 boost::mp11::mp_list<Stress>,
125 boost::mp11::mp_list<Temperature>>::type>
std::optional< std::tuple< OGSMFrontThermodynamicForcesData, std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables >, OGSMFrontTangentOperatorData > > integrateStress(MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const
OGSMFrontTangentOperatorBlocksView< DisplacementDim, ForcesGradsCombinations > createTangentOperatorBlocksView() const
std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables > createMaterialStateVariables() const
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > KelvinVector
double computeFreeEnergyDensity(double const, ParameterLib::SpatialPosition const &, double const, KelvinVector const &, KelvinVector const &, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &) const
OGSMFrontThermodynamicForcesView< DisplacementDim, boost::mp11::mp_list< Stress > > createThermodynamicForcesView() const
void initializeInternalStateVariables(double const t, ParameterLib::SpatialPosition const &x, typename MechanicsBase< DisplacementDim >::MaterialStateVariables &material_state_variables) const
double getBulkModulus(double const, ParameterLib::SpatialPosition const &, KelvinMatrix const *const C) const
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > KelvinMatrix
std::optional< std::tuple< KelvinVector, std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables >, KelvinMatrix > > integrateStress(MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override
std::vector< typename MechanicsBase< DisplacementDim >::InternalVariable > getInternalVariables() const override
typename Base::KelvinMatrix KelvinMatrix
void initializeInternalStateVariables(double const t, ParameterLib::SpatialPosition const &x, typename MechanicsBase< DisplacementDim >::MaterialStateVariables &material_state_variables) const override
double getBulkModulus(double const t, ParameterLib::SpatialPosition const &x, KelvinMatrix const *const C) const override
OGSMFrontTangentOperatorBlocksView< DisplacementDim, ForcesGradsCombinations< boost::mp11::mp_list< Strain >, boost::mp11::mp_list< Stress >, boost::mp11::mp_list< Temperature > >::type > blocks_view_
double computeFreeEnergyDensity(double const t, ParameterLib::SpatialPosition const &x, double const dt, KelvinVector const &eps, KelvinVector const &sigma, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override
std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables > createMaterialStateVariables() const override
typename Base::KelvinVector KelvinVector
static constexpr Strain strain
Instance that can be used for overload resolution/template type deduction.
static constexpr Stress stress