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