https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CombinedNonlinearHardeningPlasticity.h
Go to the documentation of this file.
1#pragma once
2
3#include "MaterialProperty.h"
5
6template <bool is_ad>
9{
10public:
12
14
15 using Material::_qp;
18
19 virtual void
20 computeStressInitialize(const GenericReal<is_ad> & effective_trial_stress,
22 virtual GenericReal<is_ad> computeResidual(const GenericReal<is_ad> & effective_trial_stress,
23 const GenericReal<is_ad> & scalar) override;
24 virtual GenericReal<is_ad> computeDerivative(const GenericReal<is_ad> & effective_trial_stress,
25 const GenericReal<is_ad> & scalar) override;
26
28
30
31 virtual void
32 computeStressFinalize(const GenericRankTwoTensor<is_ad> & plastic_strain_increment) override;
33
34protected:
35 virtual void initQpStatefulProperties() override;
36 virtual void propagateQpStatefulProperties() override;
37
38 virtual void iterationFinalize(const GenericReal<is_ad> & scalar) override;
39
43
48
55
58
61
64 const Real _gamma;
65 const Real _q;
66 const Real _b;
68
74};
75
CombinedNonlinearHardeningPlasticityTempl< true > ADCombinedNonlinearHardeningPlasticity
CombinedNonlinearHardeningPlasticityTempl< false > CombinedNonlinearHardeningPlasticity
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< VariableValue, is_ad > GenericVariableValue
Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
Moose::GenericType< Real, is_ad > GenericReal
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor
virtual void iterationFinalize(const GenericReal< is_ad > &scalar) override
Finalize internal state variables for a model for a given iteration.
virtual GenericReal< is_ad > computeKinematicHardeningValue(const GenericReal< is_ad > &scalar)
GenericMaterialProperty< RankTwoTensor, is_ad > & _plastic_strain
plastic strain
GenericMaterialProperty< Real, is_ad > & _kinematic_hardening_variable
virtual void computeStressInitialize(const GenericReal< is_ad > &effective_trial_stress, const GenericRankFourTensor< is_ad > &elasticity_tensor) override
Perform any necessary initialization before return mapping iterations.
virtual void propagateQpStatefulProperties() override
If updateState is not called during a timestep, this will be.
GenericMaterialProperty< Real, is_ad > & _isotropic_hardening_variable
virtual GenericReal< is_ad > computeIsotropicHardeningDerivative(const GenericReal< is_ad > &scalar)
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
old value of plastic strain
const Real _kinematic_hardening_modulus
Coefficients for combined isotropic and kinematic hardening.
virtual GenericReal< is_ad > computeDerivative(const GenericReal< is_ad > &effective_trial_stress, const GenericReal< is_ad > &scalar) override
Compute the derivative of the residual as a function of the scalar variable.
virtual GenericReal< is_ad > computeIsotropicHardeningValue(const GenericReal< is_ad > &scalar)
virtual void computeYieldStress(const GenericRankFourTensor< is_ad > &elasticity_tensor)
virtual void computeStressFinalize(const GenericRankTwoTensor< is_ad > &plastic_strain_increment) override
Perform any necessary steps to finalize state after return mapping iterations.
virtual GenericReal< is_ad > computeResidual(const GenericReal< is_ad > &effective_trial_stress, const GenericReal< is_ad > &scalar) override
Compute the residual for a predicted value of the scalar.
unsigned int _qp
const InputParameters & parameters() const
GenericReal< is_ad > _three_shear_modulus
3 * shear modulus
const std::string _base_name
Name used as a prefix for all material properties related to the stress update model.
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)