www.mooseframework.org
ReturnMappingModel.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 RETURNMAPPINGMODEL_H
8 #define RETURNMAPPINGMODEL_H
9 
10 #include "ConstitutiveModel.h"
12 
21 {
22 public:
23  ReturnMappingModel(const InputParameters & parameters,
24  const std::string inelastic_strain_name = "");
25  virtual ~ReturnMappingModel() {}
26 
27  virtual void initQpStatefulProperties() override;
28 
29  virtual void computeStress(const Elem & current_elem,
30  const SymmElasticityTensor & elasticityTensor,
31  const SymmTensor & stress_old,
32  SymmTensor & strain_increment,
33  SymmTensor & stress_new) override;
34 
45  void computeStress(const Elem & current_elem,
46  const SymmElasticityTensor & elasticityTensor,
47  const SymmTensor & stress_old,
48  SymmTensor & strain_increment,
49  SymmTensor & stress_new,
50  SymmTensor & inelastic_strain_increment);
51 
52  virtual Real computeReferenceResidual(const Real effective_trial_stress,
53  const Real scalar) override;
54 
59  Real computeTimeStepLimit();
60 
61 protected:
67  virtual void computeStressInitialize(Real /*effectiveTrialStress*/,
68  const SymmElasticityTensor & /*elasticityTensor*/)
69  {
70  }
71 
76  virtual void computeStressFinalize(const SymmTensor & /*inelasticStrainIncrement*/) {}
77 
79 
82 
83  MaterialProperty<Real> & _effective_inelastic_strain;
84  const MaterialProperty<Real> & _effective_inelastic_strain_old;
86 };
87 
88 template <>
89 InputParameters validParams<ReturnMappingModel>();
90 
91 #endif // RETURNMAPPINGMODEL_H
This class defines a basic set of capabilities any elasticity tensor should have. ...
MaterialProperty< Real > & _effective_inelastic_strain
Base class for models that perform return mapping iterations to compute stress.
InputParameters validParams< ReturnMappingModel >()
virtual void initQpStatefulProperties() override
Base class that provides capability for Newton return mapping iterations on a single variable...
virtual void computeStress(const Elem &current_elem, const SymmElasticityTensor &elasticityTensor, const SymmTensor &stress_old, SymmTensor &strain_increment, SymmTensor &stress_new) override
Real _three_shear_modulus
3 * shear modulus
virtual Real computeReferenceResidual(const Real effective_trial_stress, const Real scalar) override
Compute a reference quantity to be used for checking relative convergence.
virtual void computeStressInitialize(Real, const SymmElasticityTensor &)
Perform any necessary initialization before return mapping iterations.
ReturnMappingModel(const InputParameters &parameters, const std::string inelastic_strain_name="")
const MaterialProperty< Real > & _effective_inelastic_strain_old
virtual void computeStressFinalize(const SymmTensor &)
Perform any necessary steps to finalize state after return mapping iterations.
Real computeTimeStepLimit()
Compute the limiting value of the time step for this material.