17 params.
set<std::string>(
"effective_inelastic_strain_name") =
"effective_creep_strain";
25 _creep_strain(this->template declareGenericProperty<
RankTwoTensor, is_ad>(this->_base_name +
28 this->template getMaterialPropertyOld<
RankTwoTensor>(this->_base_name +
"creep_strain"))
36 _creep_strain[_qp].zero();
45 _creep_strain[_qp] = _creep_strain_old[_qp];
47 propagateQpStatefulPropertiesRadialReturn();
53 const Real ,
const Real )
55 mooseError(
"computeStressDerivative called: no stress derivative computation is needed for AD");
61 const Real effective_trial_stress,
const Real scalar)
63 return -(computeDerivative(effective_trial_stress, scalar) + 1.0) / this->_three_shear_modulus;
71 _creep_strain[_qp] = _creep_strain_old[_qp] + plastic_strain_increment;
RadialReturnCreepStressUpdateBaseTempl(const InputParameters ¶meters)
static InputParameters validParams()
void mooseError(Args &&... args)
virtual void initQpStatefulProperties() override
RadialReturnStressUpdate computes the radial return stress increment for an isotropic elastic-viscopl...
virtual void initQpStatefulProperties() override
virtual void propagateQpStatefulProperties() override
If updateState is not called during a timestep, this will be.
This class provides baseline functionallity for creep models based on the stress update material in a...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
typename Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor
static InputParameters validParams()
virtual Real computeStressDerivative(const Real effective_trial_stress, const Real scalar) override
This method returns the derivative of the creep strain with respect to the von mises stress...
virtual void computeStressFinalize(const GenericRankTwoTensor< is_ad > &plastic_strain_increment) override
Perform any necessary steps to finalize state after return mapping iterations.