19 params.
addParam<std::string>(
"base_name",
20 "Optional parameter that allows the user to define " 21 "multiple mechanics material systems on the same " 22 "block, i.e. for multiple phases");
24 "Material property name for the eigenstrain tensor computed " 25 "by this model. IMPORTANT: The name of this property must " 26 "also be provided to the strain calculator.");
33 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
34 _eigenstrain_name(_base_name + getParam<
std::string>(
"eigenstrain_name")),
35 _eigenstrain(declareGenericProperty<
RankTwoTensor, is_ad>(_eigenstrain_name)),
36 _step_zero(declareRestartableData<bool>(
"step_zero", true))
46 _eigenstrain[_qp].zero();
60 computeQpEigenstrain();
80 return std::log(volumetric_strain + 1.0) / 3.0;
ComputeEigenstrainBaseTempl(const InputParameters ¶meters)
static InputParameters validParams()
static InputParameters validParams()
GenericReal< is_ad > computeVolumetricStrainComponent(const GenericReal< is_ad > &volumetric_strain) const
Helper function for models that compute the eigenstrain based on a volumetric strain.
ComputeEigenstrainBase is the base class for eigenstrain tensors.
virtual void computeQpProperties() override
typename Moose::GenericType< Real, is_ad > GenericReal
virtual void initQpStatefulProperties() override