www.mooseframework.org
TensorMechanicsHardeningExponential.C
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 
11 
13 
15 
16 InputParameters
18 {
19  InputParameters params = TensorMechanicsHardeningModel::validParams();
20  params.addRequiredParam<Real>("value_0", "The value of the parameter at internal_parameter = 0");
21  params.addParam<Real>("value_residual",
22  "The value of the parameter for internal_parameter = "
23  "infinity. Default = value_0, ie perfect plasticity");
24  params.addParam<Real>("rate",
25  0,
26  "Let p = internal_parameter. Then value = value_residual + "
27  "(value_0 - value_residual)*exp(-rate*intnal_parameter)");
28  params.addClassDescription("Hardening is Exponential");
29  return params;
30 }
31 
33  const InputParameters & parameters)
34  : TensorMechanicsHardeningModel(parameters),
35  _val_0(getParam<Real>("value_0")),
36  _val_res(parameters.isParamValid("value_residual") ? getParam<Real>("value_residual") : _val_0),
37  _rate(getParam<Real>("rate"))
38 {
39 }
40 
41 Real
43 {
44  return _val_res + (_val_0 - _val_res) * std::exp(-_rate * intnl);
45 }
46 
47 Real
49 {
50  return -_rate * (_val_0 - _val_res) * std::exp(-_rate * intnl);
51 }
52 
53 std::string
55 {
56  return "Exponential";
57 }
TensorMechanicsHardeningExponential::value
virtual Real value(Real intnl) const override
Definition: TensorMechanicsHardeningExponential.C:42
TensorMechanicsHardeningExponential::modelName
virtual std::string modelName() const override
Definition: TensorMechanicsHardeningExponential.C:54
TensorMechanicsHardeningExponential::validParams
static InputParameters validParams()
Definition: TensorMechanicsHardeningExponential.C:17
TensorMechanicsHardeningExponential.h
TensorMechanicsHardeningExponential::_rate
Real _rate
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
Definition: TensorMechanicsHardeningExponential.h:46
TensorMechanicsHardeningExponential
Exponential hardening The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter) Note tha...
Definition: TensorMechanicsHardeningExponential.h:25
TensorMechanicsHardeningModel::validParams
static InputParameters validParams()
Definition: TensorMechanicsHardeningModel.C:17
TensorMechanicsHardeningExponential::_val_0
Real _val_0
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
Definition: TensorMechanicsHardeningExponential.h:40
TensorMechanicsHardeningExponential::TensorMechanicsHardeningExponential
TensorMechanicsHardeningExponential(const InputParameters &parameters)
Definition: TensorMechanicsHardeningExponential.C:32
defineLegacyParams
defineLegacyParams(TensorMechanicsHardeningExponential)
registerMooseObject
registerMooseObject("TensorMechanicsApp", TensorMechanicsHardeningExponential)
TensorMechanicsHardeningExponential::derivative
virtual Real derivative(Real intnl) const override
Definition: TensorMechanicsHardeningExponential.C:48
TensorMechanicsHardeningExponential::_val_res
Real _val_res
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
Definition: TensorMechanicsHardeningExponential.h:43
TensorMechanicsHardeningModel
Hardening Model base class.
Definition: TensorMechanicsHardeningModel.h:27