www.mooseframework.org
HyperbolicViscoplasticityStressUpdate.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 RECOMPUTERADIALRETURNHYPERBOLICVISCOPLASTICITY_H
8 #define RECOMPUTERADIALRETURNHYPERBOLICVISCOPLASTICITY_H
9 
11 
27 class HyperbolicViscoplasticityStressUpdate : public RadialReturnStressUpdate
28 {
29 public:
30  HyperbolicViscoplasticityStressUpdate(const InputParameters & parameters);
31 
32 protected:
33  virtual void initQpStatefulProperties() override;
34  virtual void propagateQpStatefulProperties() override;
35 
36  virtual void computeStressInitialize(const Real effective_trial_stress,
37  const RankFourTensor & elasticity_tensor) override;
38  virtual Real computeResidual(const Real effective_trial_stress, const Real scalar) override;
39  virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar) override;
40  virtual void iterationFinalize(Real scalar) override;
41  virtual void computeStressFinalize(const RankTwoTensor & plasticStrainIncrement) override;
42  virtual Real computeHardeningValue(Real scalar);
43 
45  const std::string _plastic_prepend;
46 
48  const Real _yield_stress;
49  const Real _hardening_constant;
51 
53  const Real _c_alpha;
54  const Real _c_beta;
56 
58  Real _yield_condition;
59 
61  Real _xphir;
62  Real _xphidp;
64 
65  MaterialProperty<Real> & _hardening_variable;
66  const MaterialProperty<Real> & _hardening_variable_old;
67 
69  MaterialProperty<RankTwoTensor> & _plastic_strain;
70 
72  const MaterialProperty<RankTwoTensor> & _plastic_strain_old;
73 };
74 
75 template <>
77 
78 #endif // RECOMPUTERADIALRETURNHYPERBOLICVISCOPLASTICITY_H
virtual void computeStressInitialize(const Real, const RankFourTensor &)
Perform any necessary initialization before return mapping iterations.
virtual void propagateQpStatefulProperties()
If updateState is not called during a timestep, this will be.
virtual void computeStressFinalize(const RankTwoTensor &)
Perform any necessary steps to finalize state after return mapping iterations.
InputParameters validParams< HyperbolicViscoplasticityStressUpdate >()
RadialReturnStressUpdate computes the radial return stress increment for an isotropic viscoplasticity...
virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar)=0
Compute the derivative of the residual as a function of the scalar variable.
virtual void iterationFinalize(Real)
Finalize internal state variables for a model for a given iteration.
virtual Real computeResidual(const Real effective_trial_stress, const Real scalar)=0
Compute the residual for a predicted value of the scalar.
virtual void initQpStatefulProperties() override