Go to the documentation of this file.
21 params.addClassDescription(
22 "Compute stress for damaged elastic materials in conjunction with a damage model.");
23 params.addRequiredParam<MaterialName>(
"damage_model",
"Name of the damage model");
29 _matl_timestep_limit(declareProperty<Real>(
"matl_timestep_limit")),
30 _damage_model(nullptr)
37 MaterialName damage_model_name = getParam<MaterialName>(
"damage_model");
38 DamageBase * dmb = dynamic_cast<DamageBase *>(&getMaterialByName(damage_model_name));
42 paramError(
"damage_model",
43 "Damage Model " + damage_model_name +
" is not compatible with ComputeDamageStress");
DamageBase * _damage_model
Pointer to the damage model.
ComputeFiniteStrainElasticStress computes the stress following elasticity theory for finite strains.
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
virtual void computeQpStress() override
Compute the stress and store it in the _stress material property for the current quadrature point.
ComputeDamageStress(const InputParameters ¶meters)
virtual Real computeTimeStepLimit()
Compute the limiting value of the time step for this material.
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
const MaterialProperty< RankTwoTensor > & _rotation_increment
Rotation increment material property.
ComputeDamageStress computes the stress for a damaged elasticity material.
static InputParameters validParams()
virtual void updateStressForDamage(RankTwoTensor &stress_new)=0
Update the current stress tensor for effects of damage.
void initialSetup() override
DamageBase is a base class for damage models, which modify the stress tensor computed by another mode...
defineLegacyParams(ComputeDamageStress)
virtual void updateJacobianMultForDamage(RankFourTensor &jacobian_mult)=0
Update the material constitutive matrix.
MaterialProperty< Real > & _matl_timestep_limit
Property that stores the time step limit.
registerMooseObject("TensorMechanicsApp", ComputeDamageStress)
virtual void computeQpStress() override
Compute the stress and store it in the _stress material property for the current quadrature point.
static InputParameters validParams()
virtual void updateDamage()
Update the internal variable(s) that evolve the damage.
virtual void finiteStrainRotation(const RankTwoTensor &rotation_increment)
Perform any necessary rotation of internal variables for finite strain.
void setQp(unsigned int qp)
Sets the value of the member variable _qp for use in inheriting classes.