Moose::GenericType< Real, is_ad > GenericReal
virtual void computeStressInitialize(const GenericDenseVector< is_ad > &stress_dev, const GenericDenseVector< is_ad > &stress, const GenericRankFourTensor< is_ad > &elasticity_tensor) override
static InputParameters validParams()
HillPlasticityStressUpdateTempl< false > HillPlasticityStressUpdate
GenericReal< is_ad > computeHardeningValue(const GenericReal< is_ad > &scalar, const GenericReal< is_ad > &omega)
const MaterialProperty< Real > & _hardening_variable_old
virtual GenericReal< is_ad > computeDerivative(const GenericDenseVector< is_ad > &effective_trial_stress, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &scalar) override
void computeHillTensorEigenDecomposition(const DenseMatrix< Real > &hill_tensor)
Compute eigendecomposition of Hill's tensor for anisotropic plasticity.
const Real _hardening_exponent
GenericDenseMatrix< is_ad > _eigenvectors_hill
GenericDenseVector< is_ad > _stress_np1
GenericReal< is_ad > _two_shear_modulus
2 * shear modulus
Moose::GenericType< DenseVector< Real >, is_ad > GenericDenseVector
This class uses the stress update material in an anisotropic return mapping.
Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
Real computeHardeningDerivative()
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)
void computeDeltaDerivatives(const GenericReal< is_ad > &delta_gamma, const GenericDenseVector< is_ad > &stress_trial, const GenericReal< is_ad > &sy_alpha, GenericReal< is_ad > &omega, GenericReal< is_ad > &omega_gamma, GenericReal< is_ad > &sy_gamma)
GenericDenseVector< is_ad > _eigenvalues_hill
GenericReal< is_ad > _yield_condition
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 > &, const GenericRankFourTensor< is_ad > &) override
Perform any necessary steps to finalize state after return mapping iterations.
GenericReal< is_ad > _qsigma
Square of the q function for orthotropy.
const MaterialProperty< DenseMatrix< Real > > & _hill_tensor
Hill tensor, when global axes do not (somehow) align with those of the material Example: Large rotati...
virtual GenericReal< is_ad > computeResidual(const GenericDenseVector< is_ad > &effective_trial_stress, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &scalar) override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic? Yes, this class only does anisotropic p...
HillPlasticityStressUpdateTempl(const InputParameters ¶meters)
GenericReal< is_ad > computeOmega(const GenericReal< is_ad > &delta_gamma, const GenericDenseVector< is_ad > &stress_trial)
virtual void computeStrainFinalize(GenericRankTwoTensor< is_ad > &, const GenericRankTwoTensor< is_ad > &, const GenericDenseVector< is_ad > &, const GenericReal< is_ad > &) override
Perform any necessary steps to finalize strain increment after return mapping iterations.
This class provides baseline functionality for anisotropic (Hill-like) plasticity models based on the...
const Real _hardening_constant
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
GenericMaterialProperty< Real, is_ad > & _hardening_variable
GenericReal< is_ad > _hardening_derivative
HillPlasticityStressUpdateTempl< true > ADHillPlasticityStressUpdate
Moose::GenericType< DenseMatrix< Real >, is_ad > GenericDenseMatrix
GenericReal< is_ad > _yield_stress
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor
virtual void propagateQpStatefulProperties() override