22 "Compute stress for damaged elastic materials in conjunction with a damage model.");
23 params.
addRequiredParam<MaterialName>(
"damage_model",
"Name of the damage model");
30 _material_timestep_limit(this->template declareProperty<
Real>(
"material_timestep_limit")),
31 _damage_model(nullptr)
39 MaterialName damage_model_name = this->
template getParam<MaterialName>(
"damage_model");
45 this->paramError(
"damage_model",
46 "Damage Model " + damage_model_name +
47 " is not compatible with ComputeDamageStress");
56 _damage_model->setQp(_qp);
57 _damage_model->updateDamage();
58 _damage_model->updateStressForDamage(this->_stress[_qp]);
59 _damage_model->finiteStrainRotation(this->_rotation_increment[_qp]);
60 _damage_model->updateJacobianMultForDamage(_Jacobian_mult[_qp]);
62 _material_timestep_limit[_qp] = _damage_model->computeTimeStepLimit();
71 _damage_model->setQp(_qp);
72 _damage_model->updateDamage();
73 _damage_model->updateStressForDamage(this->_stress[_qp]);
74 _damage_model->finiteStrainRotation(this->_rotation_increment[_qp]);
76 _material_timestep_limit[_qp] = _damage_model->computeTimeStepLimit();
ComputeDamageStress computes the stress for a damaged elasticity material.
registerMooseObject("SolidMechanicsApp", ComputeDamageStress)
void initialSetup() override
typename std::conditional< is_ad, ADComputeFiniteStrainElasticStress, ComputeFiniteStrainElasticStress >::type ComputeFiniteStrainElasticStressTempl
InputParameters validParams()
DamageBase is a base class for damage models, which modify the stress tensor computed by another mode...
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void computeQpStress() override
ComputeDamageStressTempl(const InputParameters ¶meters)