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