51template <
int DisplacementDim>
68 virtual std::unique_ptr<MaterialStateVariables>
71 return std::make_unique<MaterialStateVariables>();
92 virtual std::optional<std::tuple<
105 using Getter = std::function<std::vector<double>
const&(
142 "getBulkModulus is not yet implemented for this Solid Material.");
148 double const ,
double const ,
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
Helper type for providing access to internal variables.
Getter const getter
function accessing the internal variable
std::string const name
name of the internal variable
std::function< std::span< double >(MaterialStateVariables &)> WriteAccess
int const num_components
number of components of the internal variable
std::function< std::vector< double > const &( MaterialStateVariables const &, std::vector< double > &)> Getter
WriteAccess const reference
function accessing the internal variable
virtual ~MaterialStateVariables()=default
virtual void pushBackState()
virtual double getEquivalentPlasticStrain() const
virtual ConstitutiveModel getConstitutiveModel() const
Gets the type of constitutive model.
virtual std::vector< InternalVariable > getInternalVariables() const
virtual std::optional< std::tuple< KelvinVector, std::unique_ptr< MaterialStateVariables >, KelvinMatrix > > integrateStress(MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, MaterialStateVariables const &material_state_variables) const =0
virtual void initializeInternalStateVariables(double const, ParameterLib::SpatialPosition const &, typename MechanicsBase< DisplacementDim >::MaterialStateVariables &) const
virtual double getBulkModulus(double const, ParameterLib::SpatialPosition const &, KelvinMatrix const *const =nullptr) const
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > KelvinVector
virtual std::unique_ptr< MaterialStateVariables > createMaterialStateVariables() const
virtual double getTemperatureRelatedCoefficient(double const, double const, ParameterLib::SpatialPosition const &, double const, double const) const
MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > KelvinMatrix
virtual double computeFreeEnergyDensity(double const t, ParameterLib::SpatialPosition const &x, double const dt, KelvinVector const &eps, KelvinVector const &sigma, MaterialStateVariables const &material_state_variables) const =0
virtual ~MechanicsBase()=default