const MooseArray< Point > & _q_point
GenericReal< is_ad > _qsigma
Square of the q function for orthotropy.
Moose::GenericType< Real, is_ad > GenericReal
GenericMaterialProperty< Real, is_ad > & _hardening_variable
const MaterialProperty< RankTwoTensor > & _rotation_matrix_transpose_old
void computeElasticityTensorEigenDecomposition()
Compute eigendecomposition of element-wise elasticity tensor.
static InputParameters validParams()
const MaterialProperty< Real > & _hardening_variable_old
virtual void propagateQpStatefulProperties() override
GenericMaterialProperty< DenseMatrix< Real >, is_ad > & _elasticity_eigenvectors
GenericReal< is_ad > _hardening_derivative
virtual void computeStrainFinalize(GenericRankTwoTensor< is_ad > &inelasticStrainIncrement, const GenericRankTwoTensor< is_ad > &stress, const GenericDenseVector< is_ad > &stress_dev, const GenericReal< is_ad > &delta_gamma) override
Perform any necessary steps to finalize strain increment after return mapping iterations.
enum HillElastoPlasticityStressUpdateTempl::Axis _axis
MaterialProperty< RankTwoTensor > & _rotation_matrix_transpose
HillElastoPlasticityStressUpdateTempl< true > ADHillElastoPlasticityStressUpdate
This class uses the stress update material in an anisotropic return mapping.
GenericReal< is_ad > _yield_condition
void computeHillTensorEigenDecomposition(const DenseMatrix< GenericReal< is_ad >> &hill_tensor)
Compute eigendecomposition of Hill's tensor for anisotropic plasticity.
GenericMaterialProperty< DenseVector< Real >, is_ad > & _sigma_tilde_rotated
const bool _local_cylindrical_csys
GenericDenseVector< is_ad > _eigenvalues_hill
Moose::GenericType< DenseVector< Real >, is_ad > GenericDenseVector
Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
const std::string _elasticity_tensor_name
Name of the elasticity tensor material property.
virtual GenericReal< is_ad > computeResidual(const GenericDenseVector< is_ad > &effective_trial_stress, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &scalar) override
GenericReal< is_ad > computeHardeningValue(const GenericReal< is_ad > &scalar, const GenericReal< is_ad > &omega)
HillElastoPlasticityStressUpdateTempl< false > HillElastoPlasticityStressUpdate
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< DenseMatrix< Real >, is_ad > & _b_eigenvectors
HillElastoPlasticityStressUpdateTempl(const InputParameters ¶meters)
GenericMaterialProperty< DenseVector< Real >, is_ad > & _sigma_tilde
GenericMaterialProperty< DenseVector< Real >, is_ad > & _elasticity_eigenvalues
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
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 void initQpStatefulProperties() override
GenericDenseMatrix< is_ad > _eigenvectors_hill
void paramError(const std::string ¶m, Args... args) const
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 > computeOmega(const GenericReal< is_ad > &delta_gamma, const GenericDenseVector< is_ad > &stress_trial)
GenericMaterialProperty< DenseVector< Real >, is_ad > & _b_eigenvalues
const Real _hardening_constant
GenericMaterialProperty< DenseMatrix< Real >, is_ad > & _alpha_matrix
const Real _hardening_exponent
virtual void computeStressFinalize(const GenericRankTwoTensor< is_ad > &inelasticStrainIncrement, const GenericReal< is_ad > &delta_gamma, GenericRankTwoTensor< is_ad > &stress, const GenericDenseVector< is_ad > &stress_dev, const GenericRankTwoTensor< is_ad > &stress_old, const GenericRankFourTensor< is_ad > &elasticity_tensor) override
Perform any necessary steps to finalize state after return mapping iterations.
Real computeHardeningDerivative()
virtual void computeStressInitialize(const GenericDenseVector< is_ad > &stress_dev, const GenericDenseVector< is_ad > &stress, const GenericRankFourTensor< is_ad > &elasticity_tensor) override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MaterialProperty< RankTwoTensor > & _rotation_matrix
const MaterialProperty< RankTwoTensor > & _rotation_matrix_old
bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic? No, this class does anisotropic elasto-...
usingTransientInterfaceMembers
This class provides baseline functionality for anisotropic (Hill-like) plasticity models based on the...
const GenericMaterialProperty< RankFourTensor, is_ad > & _elasticity_tensor
Anisotropic elasticity tensor material property.
GenericReal< is_ad > _yield_stress
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)
GenericDenseMatrix< is_ad > _anisotropic_elastic_tensor
Moose::GenericType< DenseMatrix< Real >, is_ad > GenericDenseMatrix
const Elem *const & _current_elem
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor
virtual Real computeStrainEnergyRateDensity(const GenericMaterialProperty< RankTwoTensor, is_ad > &stress, const GenericMaterialProperty< RankTwoTensor, is_ad > &strain_rate) override