www.mooseframework.org
IsotropicPlasticityStressUpdate.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
13 
15 
16 template <>
18 
38 {
39 public:
40  static InputParameters validParams();
41 
42  IsotropicPlasticityStressUpdate(const InputParameters & parameters);
43 
44 protected:
45  virtual void initQpStatefulProperties() override;
46  virtual void propagateQpStatefulProperties() override;
47 
48  virtual void computeStressInitialize(const Real effective_trial_stress,
49  const RankFourTensor & elasticity_tensor) override;
50  virtual Real computeResidual(const Real effective_trial_stress, const Real scalar) override;
51  virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar) override;
52  virtual void iterationFinalize(Real scalar) override;
53  virtual void computeStressFinalize(const RankTwoTensor & plastic_strain_increment) override;
54 
55  virtual void computeYieldStress(const RankFourTensor & elasticity_tensor);
56  virtual Real computeHardeningValue(Real scalar);
57  virtual Real computeHardeningDerivative(Real scalar);
58 
60  const std::string _plastic_prepend;
61 
62  const Function * _yield_stress_function;
64  const Real _hardening_constant;
65  const Function * _hardening_function;
66 
69 
71  MaterialProperty<RankTwoTensor> & _plastic_strain;
72 
74  const MaterialProperty<RankTwoTensor> & _plastic_strain_old;
75 
76  MaterialProperty<Real> & _hardening_variable;
77  const MaterialProperty<Real> & _hardening_variable_old;
78  const VariableValue & _temperature;
79 };
IsotropicPlasticityStressUpdate::_yield_condition
Real _yield_condition
Definition: IsotropicPlasticityStressUpdate.h:67
IsotropicPlasticityStressUpdate::_plastic_prepend
const std::string _plastic_prepend
a string to prepend to the plastic strain Material Property name
Definition: IsotropicPlasticityStressUpdate.h:60
IsotropicPlasticityStressUpdate::computeDerivative
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.
Definition: IsotropicPlasticityStressUpdate.C:127
IsotropicPlasticityStressUpdate::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: IsotropicPlasticityStressUpdate.C:80
IsotropicPlasticityStressUpdate::IsotropicPlasticityStressUpdate
IsotropicPlasticityStressUpdate(const InputParameters &parameters)
Definition: IsotropicPlasticityStressUpdate.C:46
IsotropicPlasticityStressUpdate::validParams
static InputParameters validParams()
Definition: IsotropicPlasticityStressUpdate.C:20
IsotropicPlasticityStressUpdate::_hardening_function
const Function * _hardening_function
Definition: IsotropicPlasticityStressUpdate.h:65
IsotropicPlasticityStressUpdate::computeStressInitialize
virtual void computeStressInitialize(const Real effective_trial_stress, const RankFourTensor &elasticity_tensor) override
Perform any necessary initialization before return mapping iterations.
Definition: IsotropicPlasticityStressUpdate.C:96
RadialReturnStressUpdate.h
IsotropicPlasticityStressUpdate::computeHardeningValue
virtual Real computeHardeningValue(Real scalar)
Definition: IsotropicPlasticityStressUpdate.C:151
IsotropicPlasticityStressUpdate::propagateQpStatefulProperties
virtual void propagateQpStatefulProperties() override
If updateState is not called during a timestep, this will be.
Definition: IsotropicPlasticityStressUpdate.C:87
IsotropicPlasticityStressUpdate::computeResidual
virtual Real computeResidual(const Real effective_trial_stress, const Real scalar) override
Compute the residual for a predicted value of the scalar.
Definition: IsotropicPlasticityStressUpdate.C:107
RadialReturnStressUpdate
RadialReturnStressUpdate computes the radial return stress increment for an isotropic elastic-viscopl...
Definition: RadialReturnStressUpdate.h:34
IsotropicPlasticityStressUpdate::_hardening_slope
Real _hardening_slope
Definition: IsotropicPlasticityStressUpdate.h:68
IsotropicPlasticityStressUpdate::_hardening_variable_old
const MaterialProperty< Real > & _hardening_variable_old
Definition: IsotropicPlasticityStressUpdate.h:77
IsotropicPlasticityStressUpdate::iterationFinalize
virtual void iterationFinalize(Real scalar) override
Finalize internal state variables for a model for a given iteration.
Definition: IsotropicPlasticityStressUpdate.C:137
IsotropicPlasticityStressUpdate::_yield_stress_function
const Function * _yield_stress_function
Definition: IsotropicPlasticityStressUpdate.h:62
validParams< IsotropicPlasticityStressUpdate >
InputParameters validParams< IsotropicPlasticityStressUpdate >()
IsotropicPlasticityStressUpdate::_yield_stress
Real _yield_stress
Definition: IsotropicPlasticityStressUpdate.h:63
IsotropicPlasticityStressUpdate::_hardening_constant
const Real _hardening_constant
Definition: IsotropicPlasticityStressUpdate.h:64
IsotropicPlasticityStressUpdate::_plastic_strain_old
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
old value of plastic strain
Definition: IsotropicPlasticityStressUpdate.h:74
IsotropicPlasticityStressUpdate::_hardening_variable
MaterialProperty< Real > & _hardening_variable
Definition: IsotropicPlasticityStressUpdate.h:76
IsotropicPlasticityStressUpdate::_plastic_strain
MaterialProperty< RankTwoTensor > & _plastic_strain
plastic strain in this model
Definition: IsotropicPlasticityStressUpdate.h:71
RankFourTensorTempl< Real >
IsotropicPlasticityStressUpdate::_temperature
const VariableValue & _temperature
Definition: IsotropicPlasticityStressUpdate.h:78
IsotropicPlasticityStressUpdate::computeHardeningDerivative
virtual Real computeHardeningDerivative(Real scalar)
Definition: IsotropicPlasticityStressUpdate.C:164
RankTwoTensorTempl< Real >
IsotropicPlasticityStressUpdate
This class uses the Discrete material in a radial return isotropic plasticity model.
Definition: IsotropicPlasticityStressUpdate.h:37
IsotropicPlasticityStressUpdate::computeYieldStress
virtual void computeYieldStress(const RankFourTensor &elasticity_tensor)
Definition: IsotropicPlasticityStressUpdate.C:178
IsotropicPlasticityStressUpdate::computeStressFinalize
virtual void computeStressFinalize(const RankTwoTensor &plastic_strain_increment) override
Perform any necessary steps to finalize state after return mapping iterations.
Definition: IsotropicPlasticityStressUpdate.C:144