Go to the documentation of this file.
14 #define usingComputeMultipleInelasticStressMembers \
15 usingComputeFiniteStrainElasticStressMembers; \
16 using ADComputeMultipleInelasticStress<compute_stage>::computeQpStressIntermediateConfiguration; \
17 using ADComputeMultipleInelasticStress<compute_stage>::finiteStrainRotation; \
18 using ADComputeMultipleInelasticStress<compute_stage>::updateQpState; \
19 using ADComputeMultipleInelasticStress<compute_stage>::updateQpStateSingleModel; \
20 using ADComputeMultipleInelasticStress<compute_stage>::computeAdmissibleState; \
21 using ADComputeMultipleInelasticStress<compute_stage>::_inelastic_strain; \
22 using ADComputeMultipleInelasticStress<compute_stage>::_inelastic_strain_old
25 template <ComputeStage>
27 template <ComputeStage>
55 template <ComputeStage compute_stage>
93 virtual void updateQpState(ADRankTwoTensor & elastic_strain_increment,
94 ADRankTwoTensor & combined_inelastic_strain_increment);
106 ADRankTwoTensor & elastic_strain_increment,
107 ADRankTwoTensor & combined_inelastic_strain_increment);
122 ADRankTwoTensor & elastic_strain_increment,
123 ADRankTwoTensor & inelastic_strain_increment);
159 std::vector<ADStressUpdateBase<compute_stage> *>
_models;
const Real _absolute_tolerance
ADMaterialProperty(RankTwoTensor) &_inelastic_strain
The sum of the inelastic strains that come from the plastic models.
const Real _relative_tolerance
std::vector< ADStressUpdateBase< compute_stage > * > _models
The user supplied list of inelastic models to use in the simulation.
virtual void computeAdmissibleState(unsigned model_number, ADRankTwoTensor &elastic_strain_increment, ADRankTwoTensor &inelastic_strain_increment)
Given a trial stress (_stress[_qp]) and a strain increment (elastic_strain_increment) let the model_n...
usingComputeFiniteStrainElasticStressMembers
virtual void finiteStrainRotation()
Rotate _elastic_strain, _stress, and _inelastic_strain to the new configuration.
static InputParameters validParams()
const unsigned _num_models
number of plastic models
virtual void updateQpState(ADRankTwoTensor &elastic_strain_increment, ADRankTwoTensor &combined_inelastic_strain_increment)
Given the _strain_increment[_qp], iterate over all of the user-specified recompute materials in order...
ADComputeFiniteStrainElasticStress computes the stress following elasticity theory for finite strains...
ADStressUpdateBase is a material that is not called by MOOSE because of the compute=false flag set in...
declareADValidParams(ADComputeMultipleInelasticStress)
const MaterialProperty< RankTwoTensor > & _inelastic_strain_old
old value of inelastic strain
ADComputeMultipleInelasticStress computes the stress and a decomposition of the strain into elastic a...
ADComputeMultipleInelasticStress(const InputParameters ¶meters)
virtual void initialSetup() override
const bool _perform_finite_strain_rotations
after updateQpState, rotate the stress, elastic_strain, and inelastic_strain using _rotation_incremen...
virtual void initQpStatefulProperties() override
RankTwoTensorTempl< Real > RankTwoTensor
const bool _internal_solve_full_iteration_history
bool _is_elasticity_tensor_guaranteed_isotropic
is the elasticity tensor guaranteed to be isotropic?
MaterialProperty< Real > & _matl_timestep_limit
RankFourTensorTempl< DualReal > DualRankFourTensor
const std::vector< Real > _inelastic_weights
_inelastic_strain = sum_i (_inelastic_weights_i * inelastic_strain_from_model_i)
virtual void updateQpStateSingleModel(unsigned model_number, ADRankTwoTensor &elastic_strain_increment, ADRankTwoTensor &combined_inelastic_strain_increment)
An optimised version of updateQpState that gets used when the number of plastic models is unity,...
virtual void computeQpStressIntermediateConfiguration()
Compute the stress for the current QP, but do not rotate tensors from the intermediate configuration ...
const bool _cycle_models
whether to cycle through the models, using only one model per timestep
virtual void computeQpStress() override
RankFourTensorTempl< Real > RankFourTensor
const unsigned int _max_iterations
Input parameters associated with the recompute iteration to return the stress state to the yield surf...
RankTwoTensorTempl< DualReal > DualRankTwoTensor