www.mooseframework.org
IsotropicPlasticity.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 ISOTROPICPLASTICITY_H
8 #define ISOTROPICPLASTICITY_H
9 
10 #include "ReturnMappingModel.h"
11 
12 class PiecewiseLinear;
13 
18 {
19 public:
20  IsotropicPlasticity(const InputParameters & parameters);
21 
22  virtual void initQpStatefulProperties() override;
23 
24 protected:
25  virtual void computeYieldStress();
26  virtual void computeStressInitialize(Real effectiveTrialStress,
27  const SymmElasticityTensor & elasticityTensor) override;
28  virtual void computeStressFinalize(const SymmTensor & plasticStrainIncrement) override;
29 
30  virtual Real computeResidual(const Real effectiveTrialStress, const Real scalar) override;
31  virtual Real computeDerivative(const Real effectiveTrialStress, const Real scalar) override;
32  virtual void iterationFinalize(Real scalar) override;
33 
34  virtual Real computeHardeningValue(Real scalar);
35  virtual Real computeHardeningDerivative(Real scalar);
36 
39  const Real _hardening_constant;
40  PiecewiseLinear * const _hardening_function;
41 
45 
46  MaterialProperty<SymmTensor> & _plastic_strain;
47  const MaterialProperty<SymmTensor> & _plastic_strain_old;
48 
49  MaterialProperty<Real> & _hardening_variable;
50  const MaterialProperty<Real> & _hardening_variable_old;
51 };
52 
53 template <>
54 InputParameters validParams<IsotropicPlasticity>();
55 
56 #endif // ISOTROPICPLASTICITY_H
This class defines a basic set of capabilities any elasticity tensor should have. ...
virtual Real computeResidual(const Real effectiveTrialStress, const Real scalar) override
Compute the residual for a predicted value of the scalar.
MaterialProperty< SymmTensor > & _plastic_strain
MaterialProperty< Real > & _hardening_variable
const MaterialProperty< Real > & _hardening_variable_old
Base class for models that perform return mapping iterations to compute stress.
virtual void computeYieldStress()
const MaterialProperty< SymmTensor > & _plastic_strain_old
virtual void iterationFinalize(Real scalar) override
Finalize internal state variables for a model for a given iteration.
virtual void computeStressFinalize(const SymmTensor &plasticStrainIncrement) override
Perform any necessary steps to finalize state after return mapping iterations.
virtual void initQpStatefulProperties() override
virtual Real computeDerivative(const Real effectiveTrialStress, const Real scalar) override
Compute the derivative of the residual as a function of the scalar variable.
IsotropicPlasticity(const InputParameters &parameters)
virtual void computeStressInitialize(Real effectiveTrialStress, const SymmElasticityTensor &elasticityTensor) override
Perform any necessary initialization before return mapping iterations.
InputParameters validParams< IsotropicPlasticity >()
virtual Real computeHardeningValue(Real scalar)
Function * _yield_stress_function
PiecewiseLinear *const _hardening_function
virtual Real computeHardeningDerivative(Real scalar)