https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SolidMechanicsHardeningExponential.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
13registerMooseObjectRenamed("SolidMechanicsApp",
14 TensorMechanicsHardeningExponential,
15 "01/01/2025 00:00",
17
20{
22 params.addRequiredParam<Real>("value_0", "The value of the parameter at internal_parameter = 0");
23 params.addParam<Real>("value_residual",
24 "The value of the parameter for internal_parameter = "
25 "infinity. Default = value_0, ie perfect plasticity");
26 params.addParam<Real>("rate",
27 0,
28 "Let p = internal_parameter. Then value = value_residual + "
29 "(value_0 - value_residual)*exp(-rate*intnal_parameter)");
30 params.addClassDescription("Hardening is Exponential");
31 return params;
32}
33
35 const InputParameters & parameters)
36 : SolidMechanicsHardeningModel(parameters),
37 _val_0(getParam<Real>("value_0")),
38 _val_res(parameters.isParamValid("value_residual") ? getParam<Real>("value_residual") : _val_0),
39 _rate(getParam<Real>("rate"))
40{
41}
42
43Real
45{
46 return _val_res + (_val_0 - _val_res) * std::exp(-_rate * intnl);
47}
48
49Real
51{
52 return -_rate * (_val_0 - _val_res) * std::exp(-_rate * intnl);
53}
54
55std::string
57{
58 return "Exponential";
59}
registerMooseObjectRenamed("SolidMechanicsApp", TensorMechanicsHardeningExponential, "01/01/2025 00:00", SolidMechanicsHardeningExponential)
registerMooseObject("SolidMechanicsApp", SolidMechanicsHardeningExponential)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
Exponential hardening The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter) Note tha...
Real _val_0
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
Real _rate
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
SolidMechanicsHardeningExponential(const InputParameters &parameters)
virtual Real derivative(Real intnl) const override
virtual std::string modelName() const override
Real _val_res
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
virtual Real value(Real intnl) const override