16 #include "libmesh/ignore_warnings.h" 17 #include "Eigen/Dense" 18 #include "Eigen/Eigenvalues" 19 #include "libmesh/restore_warnings.h" 196 const unsigned int total_it)
override;
const MooseArray< Point > & _q_point
Moose::GenericType< Real, is_ad > GenericReal
GenericMaterialProperty< Real, is_ad > & _effective_inelastic_strain
Equivalent creep/plastic strain.
ADGeneralizedRadialReturnStressUpdate computes the generalized radial return stress increment for ani...
virtual void computeStressInitialize(const GenericDenseVector< is_ad > &, const GenericDenseVector< is_ad > &, const GenericRankFourTensor< is_ad > &)=0
Perform any necessary initialization before return mapping iterations.
void computeTangentOperator(Real, RankTwoTensor &, bool, RankFourTensor &)
Calculate the tangent_operator.
Real _max_integration_error_time_step
Maximum integration error time step.
void outputIterationSummary(std::stringstream *iter_output, const unsigned int total_it) override
Output summary information for the convergence history of the model.
Eigen::Matrix< Real, 6, 6 > AnisotropyMatrixReal
void propagateQpStatefulPropertiesRadialReturn()
Propagate the properties pertaining to this intermediate class.
Eigen::Matrix< Real, 3, 3 > AnisotropyMatrixRealBlock
GeneralizedRadialReturnStressUpdateTempl< false > GeneralizedRadialReturnStressUpdate
MaterialProperty< Real > & _inelastic_strain_rate
Equivalent creep/plastic strain rate: facilitates user's control of integration errors.
GeneralizedRadialReturnStressUpdateTempl(const InputParameters ¶meters)
DualNumber< Real, DNDerivativeType, true > ADReal
Moose::GenericType< DenseVector< Real >, is_ad > GenericDenseVector
Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
virtual void initQpStatefulProperties() override
GeneralizedRadialReturnStressUpdateTempl< true > ADGeneralizedRadialReturnStressUpdate
bool isBlockDiagonal(const AnisotropyMatrixReal &A)
Check if an anisotropic matrix is block diagonal.
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)
static InputParameters validParams()
virtual void computeStrainFinalize(GenericRankTwoTensor< is_ad > &inelasticStrainIncrement, const GenericRankTwoTensor< is_ad > &stress, const GenericDenseVector< is_ad > &stress_dev, const GenericReal< is_ad > &delta_gamma)=0
Perform any necessary steps to finalize strain increment after return mapping iterations.
const std::vector< double > x
virtual Real computeTimeStepLimit() override
Compute the limiting value of the time step for this material.
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
virtual void computeStressFinalize(const GenericRankTwoTensor< is_ad > &inelasticStrainIncrement, const GenericReal< is_ad > &delta_gamma, GenericRankTwoTensor< is_ad > &stress, const GenericDenseVector< is_ad > &, const GenericRankTwoTensor< is_ad > &stress_old, const GenericRankFourTensor< is_ad > &elasticity_tensor)=0
Perform any necessary steps to finalize state after return mapping iterations.
Real _max_integration_error
Maximum integration error for creep.
const bool _use_transformation
Whether to use fully transformed Hill's tensor due to rigid body or large deformation kinematic rotat...
StressUpdateBase is a material that is not called by MOOSE because of the compute=false flag set in t...
virtual GenericReal< is_ad > maximumPermissibleValue(const GenericDenseVector< is_ad > &effective_trial_stress) const override
Compute the maximum permissible value of the scalar.
virtual TangentCalculationMethod getTangentCalculationMethod() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeReferenceResidual(const GenericDenseVector< is_ad > &effective_trial_stress, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &residual, const GenericReal< is_ad > &scalar_effective_inelastic_strain) override
Compute a reference quantity to be used for checking relative convergence.
virtual Real computeIntegrationErrorTimeStep()
Compute the limiting value of the time step for this material according to the numerical integration ...
Base class that provides capability for Newton generalized (anisotropic) return mapping iterations on...
const MaterialProperty< Real > & _effective_inelastic_strain_old
virtual GenericReal< is_ad > computeStressDerivative(const Real, const Real)
Calculate the derivative of the strain increment with respect to the updated stress.
GenericReal< is_ad > _three_shear_modulus
3 * shear modulus
const InputParameters & parameters() const
virtual void updateState(GenericRankTwoTensor< is_ad > &strain_increment, GenericRankTwoTensor< is_ad > &inelastic_strain_increment, const GenericRankTwoTensor< is_ad > &rotation_increment, GenericRankTwoTensor< is_ad > &stress_new, const RankTwoTensor &stress_old, const GenericRankFourTensor< is_ad > &elasticity_tensor, const RankTwoTensor &elastic_strain_old, bool, RankFourTensor &) override
A radial return (J2) mapping method is performed with return mapping iterations.
virtual GenericReal< is_ad > minimumPermissibleValue(const GenericDenseVector< is_ad > &) const override
Compute the minimum permissible value of the scalar.
bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic?
const MaterialProperty< Real > & _inelastic_strain_rate_old
TangentCalculationMethod
TangentCalculationMethod is an enum that determines the calculation method for the tangent operator...
void ErrorVector unsigned int
const Elem *const & _current_elem
Real _max_inelastic_increment
Maximum inelastic strain increment for (next) time step prescription.
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor