www.mooseframework.org
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
TensorMechanicsHardeningExponential Class Reference

Exponential hardening The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter) Note that while this is C-infinity, it produces unphysical results for internal_parameter<0, which can cause numerical problems. More...

#include <TensorMechanicsHardeningExponential.h>

Inheritance diagram for TensorMechanicsHardeningExponential:
[legend]

Public Member Functions

 TensorMechanicsHardeningExponential (const InputParameters &parameters)
 
virtual Real value (Real intnl) const override
 
virtual Real derivative (Real intnl) const override
 
virtual std::string modelName () const override
 
void initialize ()
 
void execute ()
 
void finalize ()
 

Static Public Member Functions

static InputParameters validParams ()
 

Private Attributes

Real _val_0
 The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter) More...
 
Real _val_res
 The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter) More...
 
Real _rate
 The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter) More...
 

Detailed Description

Exponential hardening The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter) Note that while this is C-infinity, it produces unphysical results for internal_parameter<0, which can cause numerical problems.

Definition at line 25 of file TensorMechanicsHardeningExponential.h.

Constructor & Destructor Documentation

◆ TensorMechanicsHardeningExponential()

TensorMechanicsHardeningExponential::TensorMechanicsHardeningExponential ( const InputParameters &  parameters)

Definition at line 32 of file TensorMechanicsHardeningExponential.C.

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 }

Member Function Documentation

◆ derivative()

Real TensorMechanicsHardeningExponential::derivative ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 48 of file TensorMechanicsHardeningExponential.C.

49 {
50  return -_rate * (_val_0 - _val_res) * std::exp(-_rate * intnl);
51 }

◆ execute()

void TensorMechanicsHardeningModel::execute ( )
inherited

Definition at line 36 of file TensorMechanicsHardeningModel.C.

37 {
38 }

◆ finalize()

void TensorMechanicsHardeningModel::finalize ( )
inherited

Definition at line 41 of file TensorMechanicsHardeningModel.C.

42 {
43 }

◆ initialize()

void TensorMechanicsHardeningModel::initialize ( )
inherited

Definition at line 31 of file TensorMechanicsHardeningModel.C.

32 {
33 }

◆ modelName()

std::string TensorMechanicsHardeningExponential::modelName ( ) const
overridevirtual

Implements TensorMechanicsHardeningModel.

Definition at line 54 of file TensorMechanicsHardeningExponential.C.

55 {
56  return "Exponential";
57 }

◆ validParams()

InputParameters TensorMechanicsHardeningExponential::validParams ( )
static

Definition at line 17 of file TensorMechanicsHardeningExponential.C.

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 }

◆ value()

Real TensorMechanicsHardeningExponential::value ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 42 of file TensorMechanicsHardeningExponential.C.

43 {
44  return _val_res + (_val_0 - _val_res) * std::exp(-_rate * intnl);
45 }

Member Data Documentation

◆ _rate

Real TensorMechanicsHardeningExponential::_rate
private

The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)

Definition at line 46 of file TensorMechanicsHardeningExponential.h.

Referenced by derivative(), and value().

◆ _val_0

Real TensorMechanicsHardeningExponential::_val_0
private

The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)

Definition at line 40 of file TensorMechanicsHardeningExponential.h.

Referenced by derivative(), and value().

◆ _val_res

Real TensorMechanicsHardeningExponential::_val_res
private

The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)

Definition at line 43 of file TensorMechanicsHardeningExponential.h.

Referenced by derivative(), and value().


The documentation for this class was generated from the following files:
TensorMechanicsHardeningExponential::_rate
Real _rate
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
Definition: TensorMechanicsHardeningExponential.h:46
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::_val_res
Real _val_res
The value = _val_res + (val_0 - val_res)*exp(-rate*internal_parameter)
Definition: TensorMechanicsHardeningExponential.h:43
TensorMechanicsHardeningModel::TensorMechanicsHardeningModel
TensorMechanicsHardeningModel(const InputParameters &parameters)
Definition: TensorMechanicsHardeningModel.C:25