14 #include <MGIS/Behaviour/Behaviour.hxx>
15 #include <MGIS/Behaviour/BehaviourData.hxx>
26 const char*
toString(mgis::behaviour::Behaviour::Kinematic);
29 const char*
toString(mgis::behaviour::Behaviour::Symmetry);
39 template <
int DisplacementDim>
47 int const equivalent_plastic_strain_offset,
48 mgis::behaviour::Behaviour
const& b)
50 equivalent_plastic_strain_offset),
74 MFront(mgis::behaviour::Behaviour&& behaviour,
77 std::optional<ParameterLib::CoordinateSystem>
const&
78 local_coordinate_system);
95 material_state_variables)
const override;
97 std::vector<typename MechanicsBase<DisplacementDim>::InternalVariable>
111 material_state_variables)
const override;
mgis::behaviour::Behaviour _behaviour
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
std::vector< ParameterLib::Parameter< double > const * > _material_properties
MFront(mgis::behaviour::Behaviour &&behaviour, std::vector< ParameterLib::Parameter< double > const * > &&material_properties, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system)
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > KelvinVector
int const equivalent_plastic_strain_offset_
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
ParameterLib::CoordinateSystem const *const _local_coordinate_system
double getBulkModulus(double const, ParameterLib::SpatialPosition const &, KelvinMatrix const *const) const override
const char * btypeToString(int btype)
Converts MGIS behaviour type to a string representation.
const char * toString(mgis::behaviour::Behaviour::Kinematic kin)
Converts MGIS kinematic to a string representation.
const char * varTypeToString(int v)
Converts MGIS variable type to a string representation.
std::array< VariableType, static_cast< int >(Variable::number_of_variables)> VariableArray
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), kelvin_vector_dimensions(DisplacementDim), Eigen::RowMajor > KelvinMatrixType
MaterialStateVariables(MaterialStateVariables const &)=default
double getEquivalentPlasticStrain() const override
int const equivalent_plastic_strain_offset_
MaterialStateVariables(int const equivalent_plastic_strain_offset, mgis::behaviour::Behaviour const &b)
MaterialStateVariables(MaterialStateVariables &&)=delete
mgis::behaviour::BehaviourData _behaviour_data
void pushBackState() override
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > KelvinVector
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > KelvinMatrix