www.mooseframework.org
IsotropicPlasticityStressUpdate.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef ISOTROPICPLASTICITYSTRESSUPDATE_H
8 #define ISOTROPICPLASTICITYSTRESSUPDATE_H
9 
11 
31 {
32 public:
33  IsotropicPlasticityStressUpdate(const InputParameters & parameters);
34 
35 protected:
36  virtual void initQpStatefulProperties() override;
37  virtual void propagateQpStatefulProperties() override;
38 
39  virtual void computeStressInitialize(const Real effective_trial_stress,
40  const RankFourTensor & elasticity_tensor) override;
41  virtual Real computeResidual(const Real effective_trial_stress, const Real scalar) override;
42  virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar) override;
43  virtual void iterationFinalize(Real scalar) override;
44  virtual void computeStressFinalize(const RankTwoTensor & plasticStrainIncrement) override;
45 
46  virtual void computeYieldStress(const RankFourTensor & elasticity_tensor);
47  virtual Real computeHardeningValue(Real scalar);
48  virtual Real computeHardeningDerivative(Real scalar);
49 
51  const std::string _plastic_prepend;
52 
55  const Real _hardening_constant;
56  Function * _hardening_function;
57 
60 
62  MaterialProperty<RankTwoTensor> & _plastic_strain;
63 
65  const MaterialProperty<RankTwoTensor> & _plastic_strain_old;
66 
67  MaterialProperty<Real> & _hardening_variable;
68  const MaterialProperty<Real> & _hardening_variable_old;
69  const VariableValue & _temperature;
70 };
71 
72 #endif // ISOTROPICPLASTICITYSTRESSUPDATE_H
virtual Real computeResidual(const Real effective_trial_stress, const Real scalar) override
Compute the residual for a predicted value of the scalar.
virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar) override
Compute the derivative of the residual as a function of the scalar variable.
RadialReturnStressUpdate computes the radial return stress increment for an isotropic viscoplasticity...
const MaterialProperty< Real > & _hardening_variable_old
This class uses the Discrete material in a radial return isotropic plasticity model.
const std::string _plastic_prepend
a string to prepend to the plastic strain Material Property name
virtual void iterationFinalize(Real scalar) override
Finalize internal state variables for a model for a given iteration.
IsotropicPlasticityStressUpdate(const InputParameters &parameters)
virtual void computeStressFinalize(const RankTwoTensor &plasticStrainIncrement) override
Perform any necessary steps to finalize state after return mapping iterations.
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
old value of plastic strain
virtual void propagateQpStatefulProperties() override
If updateState is not called during a timestep, this will be.
virtual void computeYieldStress(const RankFourTensor &elasticity_tensor)
virtual Real computeHardeningDerivative(Real scalar)
virtual void computeStressInitialize(const Real effective_trial_stress, const RankFourTensor &elasticity_tensor) override
Perform any necessary initialization before return mapping iterations.
MaterialProperty< RankTwoTensor > & _plastic_strain
plastic strain in this model