15template <
int DisplacementDim>
17 boost::mp11::mp_list<Strain>,
18 boost::mp11::mp_list<Stress>,
19 boost::mp11::mp_list<Temperature>>,
23 boost::mp11::mp_list<Strain>,
24 boost::mp11::mp_list<Stress>,
25 boost::mp11::mp_list<Temperature>>;
43 material_state_variables)
const override
50 DisplacementDim>::MaterialStateVariables>,
59 material_state_variables)
const override
66 material_state_variables);
73 auto& [stress_data, state, tangent_operator_data] = *res;
84 view.block(
stress, stress_data),
88 std::vector<typename MechanicsBase<DisplacementDim>::InternalVariable>
91 return Base ::getInternalVariables();
108 material_state_variables)
const override
111 t, x, dt, eps, sigma, material_state_variables);
118 boost::mp11::mp_list<Stress>,
119 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
MFrontGeneric(mgis::behaviour::Behaviour &&behaviour, std::vector< ParameterLib::Parameter< double > const * > &&material_properties, std::map< std::string, ParameterLib::Parameter< double > const * > &&state_variables_initial_properties, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system)
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
MFrontGeneric< DisplacementDim, boost::mp11::mp_list< Strain >, boost::mp11::mp_list< Stress >, boost::mp11::mp_list< Temperature > > Base
static constexpr Strain strain
Instance that can be used for overload resolution/template type deduction.
static constexpr Stress stress