Go to the documentation of this file.
21 params.addClassDescription(
22 "Scalar damage model which is computed as a function of multiple scalar damage models");
24 params.addRequiredParam<std::vector<MaterialName>>(
"damage_models",
25 "Name of the damage models used to compute "
28 MooseEnum combination_type(
"Maximum Product",
"Maximum");
29 params.addParam<MooseEnum>(
30 "combination_type", combination_type,
"How the damage models are combined");
37 _combination_type(getParam<MooseEnum>(
"combination_type").getEnum<
CombinationType>()),
38 _damage_models_names(getParam<std::vector<MaterialName>>(
"damage_models"))
52 paramError(
"damage_model",
54 " is not compatible with CombinedScalarDamage");
registerMooseObject("TensorMechanicsApp", CombinedScalarDamage)
const MaterialProperty< Real > & _damage_index_old
static InputParameters validParams()
Base class for scalar damage models.
std::vector< MaterialName > _damage_models_names
std::vector< ScalarDamageBase * > _damage_models
Scalar damage model computed as the combination of multiple damage models.
const Real & getQpDamageIndex(unsigned int qp)
CombinedScalarDamage(const InputParameters ¶meters)
void initialSetup() override
MaterialProperty< Real > & _damage_index
Material property that provides the damage index.
const CombinationType _combination_type
Type of expansion.
static InputParameters validParams()
virtual void updateQpDamageIndex() override
Update the damage index at the current qpoint.
defineLegacyParams(CombinedScalarDamage)