32 bool compute_full_tangent_operator =
false,
40 const ADReal & scalar_effective_inelastic_strain)
override;
57 const ADReal & scalar)
override;
66 const unsigned int total_it)
override;
71 const ADReal & equiv_stress,
78 const ADReal & equiv_stress,
virtual ADReal maximumPermissibleValue(const ADReal &effective_trial_stress) const override
virtual ADReal computeDerivative(const ADReal &, const ADReal &) override
static InputParameters validParams()
const Real _minimum_equivalent_stress
Minimum value of equivalent stress below which viscoplasticiy is not calculated.
virtual ADReal computeResidual(const ADReal &effective_trial_stress, const ADReal &scalar) override
Perform any necessary steps to finalize state after return mapping iterations.
virtual ADReal minimumPermissibleValue(const ADReal &effective_trial_stress) const override
ADReal _hydro_stress
Container for hydrostatic stress.
ViscoplasticityModel
Enum to choose which viscoplastic model to use.
const Real _power
Exponent on the effective stress.
DualNumber< Real, DNDerivativeType, true > ADReal
virtual void updateState(GR2 &strain_increment, GR2 &inelastic_strain_increment, const GR2 &rotation_increment, GR2 &stress_new, const RankTwoTensor &stress_old, const GR4 &elasticity_tensor, const RankTwoTensor &elastic_strain_old, bool compute_full_tangent_operator=false, RankFourTensor &tangent_operator=StressUpdateBaseTempl< is_ad >::_identityTensor)
Given a strain increment that results in a trial stress, perform some procedure (such as an iterative...
static RankFourTensor _identityTensor
ADMaterialProperty< Real > & _gauge_stress
Gauge stress.
virtual ADReal initialGuess(const ADReal &effective_trial_stress) override
Compute an initial guess for the value of the scalar.
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)
void outputIterationSummary(std::stringstream *iter_output, const unsigned int total_it) override
Output summary information for the convergence history of the model.
virtual Real computeReferenceResidual(const ADReal &effective_trial_stress, const ADReal &scalar_effective_inelastic_strain) override
ADViscoplasticityStressUpdate(const InputParameters ¶meters)
enum ADViscoplasticityStressUpdate::ViscoplasticityModel _model
Base class that provides capability for Newton return mapping iterations on a single variable...
ADReal _derivative
Container for _derivative.
const Real _maximum_gauge_ratio
Maximum ratio between the gauge stress and the equilvalent stress.
const Real _maximum_equivalent_stress
Maximum value of equivalent stress above which an exception is thrown.
const RankTwoTensor _identity_two
Rank two identity tensor.
const Real _power_factor
Power factor used for LPS model.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void updateState(ADRankTwoTensor &strain_increment, ADRankTwoTensor &inelastic_strain_increment, const ADRankTwoTensor &rotation_increment, ADRankTwoTensor &stress_new, const RankTwoTensor &stress_old, const ADRankFourTensor &elasticity_tensor, const RankTwoTensor &elastic_strain_old, bool compute_full_tangent_operator=false, RankFourTensor &tangent_operator=_identityTensor) override
void computeInelasticStrainIncrement(ADReal &gauge_stress, ADReal &dpsi_dgauge, ADRankTwoTensor &creep_strain_increment, const ADReal &equiv_stress, const ADRankTwoTensor &dev_stress, const ADRankTwoTensor &stress)
enum ADViscoplasticityStressUpdate::PoreShapeModel _pore_shape
ADRankTwoTensor computeDGaugeDSigma(const ADReal &gauge_stress, const ADReal &equiv_stress, const ADRankTwoTensor &dev_stress, const ADRankTwoTensor &stress)
const InputParameters & parameters() const
const Real _pore_shape_factor
Pore shape factor depending on pore shape model.
ADReal computeH(const Real n, const ADReal &gauge_stress, const bool derivative=false)
const ADMaterialProperty< Real > & _coefficient
Leading coefficient.
PoreShapeModel
Enum to choose which pore shape model to use.
const RankTwoTensor _dhydro_stress_dsigma
Derivative of hydrostatic stress with respect to the stress tensor.