www.mooseframework.org
TensorMechanicsHardeningExponential.C
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 /****************************************************************/
8 
9 template <>
10 InputParameters
12 {
13  InputParameters params = validParams<TensorMechanicsHardeningModel>();
14  params.addRequiredParam<Real>("value_0", "The value of the parameter at internal_parameter = 0");
15  params.addParam<Real>("value_residual",
16  "The value of the parameter for internal_parameter = "
17  "infinity. Default = value_0, ie perfect plasticity");
18  params.addParam<Real>("rate",
19  0,
20  "Let p = internal_parameter. Then value = value_residual + "
21  "(value_0 - value_residual)*exp(-rate*intnal_parameter)");
22  params.addClassDescription("Hardening is Exponential");
23  return params;
24 }
25 
27  const InputParameters & parameters)
28  : TensorMechanicsHardeningModel(parameters),
29  _val_0(getParam<Real>("value_0")),
30  _val_res(parameters.isParamValid("value_residual") ? getParam<Real>("value_residual") : _val_0),
31  _rate(getParam<Real>("rate"))
32 {
33 }
34 
35 Real
37 {
38  return _val_res + (_val_0 - _val_res) * std::exp(-_rate * intnl);
39 }
40 
41 Real
43 {
44  return -_rate * (_val_0 - _val_res) * std::exp(-_rate * intnl);
45 }
46 
47 std::string
49 {
50  return "Exponential";
51 }
virtual Real derivative(Real intnl) const override
InputParameters validParams< TensorMechanicsHardeningExponential >()
virtual std::string modelName() const override
InputParameters validParams< TensorMechanicsHardeningModel >()
Real _rate
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
Real _val_0
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
TensorMechanicsHardeningExponential(const InputParameters &parameters)
Real _val_res
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
virtual Real value(Real intnl) const override