Go to the documentation of this file.
20 params.addClassDescription(
21 "This class uses the stress update material in a radial return isotropic power law creep "
22 "model. This class can be used in conjunction with other creep and plasticity materials for "
23 "more complex simulations.");
26 params.addCoupledVar(
"temperature",
"Coupled temperature");
27 params.addRequiredParam<Real>(
"coefficient",
"Leading coefficient in power-law equation");
28 params.addRequiredParam<Real>(
"n_exponent",
"Exponent on effective stress in power-law equation");
29 params.addParam<Real>(
"m_exponent", 0.0,
"Exponent on time in power-law equation");
30 params.addRequiredParam<Real>(
"activation_energy",
"Activation energy");
31 params.addParam<Real>(
"gas_constant", 8.3143,
"Universal gas constant");
32 params.addParam<Real>(
"start_time", 0.0,
"Start time (if not zero)");
39 _has_temp(isParamValid(
"temperature")),
40 _temperature(_has_temp ? coupledValue(
"temperature") : _zero),
41 _coefficient(getParam<Real>(
"coefficient")),
42 _n_exponent(getParam<Real>(
"n_exponent")),
43 _m_exponent(getParam<Real>(
"m_exponent")),
44 _activation_energy(getParam<Real>(
"activation_energy")),
45 _gas_constant(getParam<Real>(
"gas_constant")),
46 _start_time(getParam<Real>(
"start_time"))
49 paramError(
"start_time",
50 "Start time must be equal to or greater than the Executioner start_time if a "
51 "non-integer m_exponent is used");
70 const Real creep_rate =
72 return creep_rate * _dt - scalar;
82 return creep_rate_derivative * _dt - 1.0;
const Real _activation_energy
Activation energy for exp term.
const bool _has_temp
Flag to determine if temperature is supplied by the user.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
This class uses the stress update material in a radial return isotropic creep model.
PowerLawCreepStressUpdate(const InputParameters ¶meters)
const Real _gas_constant
Gas constant for exp term.
const Real _m_exponent
Exponent on time.
static InputParameters validParams()
const VariableValue & _temperature
Temperature variable value.
const Real _n_exponent
Exponent on the effective stress.
defineLegacyParams(PowerLawCreepStressUpdate)
virtual Real computeResidual(const Real effective_trial_stress, const Real scalar) override
Compute the residual for a predicted value of the scalar.
Real _exponential
Exponential calculated from activiaction, gas constant, and temperature.
Real _three_shear_modulus
3 * shear modulus
Real _exp_time
Exponential calculated from current time.
const Real _coefficient
Leading coefficient.
registerMooseObject("TensorMechanicsApp", PowerLawCreepStressUpdate)
const Real _start_time
Simulation start time.
virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar) override
Compute the derivative of the residual as a function of the scalar variable.
static InputParameters validParams()
virtual void computeStressInitialize(const Real effective_trial_stress, const RankFourTensor &elasticity_tensor) override
Perform any necessary initialization before return mapping iterations.
This class provides baseline functionallity for creep models based on the stress update material in a...