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

CutExponential hardening The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0 Note that while this is not smooth at internal_parameter = _intnl_0, which can produce bad numerical problems. More...

#include <TensorMechanicsHardeningCutExponential.h>

Inheritance diagram for TensorMechanicsHardeningCutExponential:
[legend]

Public Member Functions

 TensorMechanicsHardeningCutExponential (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 - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0. More...
 
Real _val_res
 The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0. More...
 
Real _intnl_0
 The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0. More...
 
Real _rate
 The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0. More...
 

Detailed Description

CutExponential hardening The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0 Note that while this is not smooth at internal_parameter = _intnl_0, which can produce bad numerical problems.

Definition at line 26 of file TensorMechanicsHardeningCutExponential.h.

Constructor & Destructor Documentation

◆ TensorMechanicsHardeningCutExponential()

TensorMechanicsHardeningCutExponential::TensorMechanicsHardeningCutExponential ( const InputParameters &  parameters)

Definition at line 35 of file TensorMechanicsHardeningCutExponential.C.

37  : TensorMechanicsHardeningModel(parameters),
38  _val_0(getParam<Real>("value_0")),
39  _val_res(parameters.isParamValid("value_residual") ? getParam<Real>("value_residual") : _val_0),
40  _intnl_0(getParam<Real>("internal_0")),
41  _rate(getParam<Real>("rate"))
42 {
43 }

Member Function Documentation

◆ derivative()

Real TensorMechanicsHardeningCutExponential::derivative ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 56 of file TensorMechanicsHardeningCutExponential.C.

57 {
58  Real x = intnl - _intnl_0;
59  if (x <= 0)
60  return 0;
61  else
62  return -_rate * (_val_0 - _val_res) * std::exp(-_rate * x);
63 }

◆ 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 TensorMechanicsHardeningCutExponential::modelName ( ) const
overridevirtual

Implements TensorMechanicsHardeningModel.

Definition at line 66 of file TensorMechanicsHardeningCutExponential.C.

67 {
68  return "CutExponential";
69 }

◆ validParams()

InputParameters TensorMechanicsHardeningCutExponential::validParams ( )
static

Definition at line 17 of file TensorMechanicsHardeningCutExponential.C.

18 {
19  InputParameters params = TensorMechanicsHardeningModel::validParams();
20  params.addRequiredParam<Real>(
21  "value_0", "The value of the parameter for all internal_parameter <= internal_0");
22  params.addParam<Real>("value_residual",
23  "The value of the parameter for internal_parameter = "
24  "infinity. Default = value_0, ie perfect plasticity");
25  params.addParam<Real>("internal_0", 0, "The cutoff of internal parameter");
26  params.addParam<Real>("rate",
27  0,
28  "Let p = internal_parameter. Then value = value_0 for "
29  "p<internal_0, and otherwise, value = value_residual + (value_0 "
30  "- value_residual)*exp(-rate*(p - internal_0)");
31  params.addClassDescription("Hardening is Cut-exponential");
32  return params;
33 }

◆ value()

Real TensorMechanicsHardeningCutExponential::value ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 46 of file TensorMechanicsHardeningCutExponential.C.

47 {
48  Real x = intnl - _intnl_0;
49  if (x <= 0)
50  return _val_0;
51  else
52  return _val_res + (_val_0 - _val_res) * std::exp(-_rate * x);
53 }

Member Data Documentation

◆ _intnl_0

Real TensorMechanicsHardeningCutExponential::_intnl_0
private

The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0.

Definition at line 47 of file TensorMechanicsHardeningCutExponential.h.

Referenced by derivative(), and value().

◆ _rate

Real TensorMechanicsHardeningCutExponential::_rate
private

The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0.

Definition at line 50 of file TensorMechanicsHardeningCutExponential.h.

Referenced by derivative(), and value().

◆ _val_0

Real TensorMechanicsHardeningCutExponential::_val_0
private

The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0.

Definition at line 41 of file TensorMechanicsHardeningCutExponential.h.

Referenced by derivative(), and value().

◆ _val_res

Real TensorMechanicsHardeningCutExponential::_val_res
private

The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)), for internal_parameter >= _intnl_0, otherwise value = _val_0.

Definition at line 44 of file TensorMechanicsHardeningCutExponential.h.

Referenced by derivative(), and value().


The documentation for this class was generated from the following files:
TensorMechanicsHardeningModel::validParams
static InputParameters validParams()
Definition: TensorMechanicsHardeningModel.C:17
TensorMechanicsHardeningCutExponential::_val_res
Real _val_res
The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)),...
Definition: TensorMechanicsHardeningCutExponential.h:44
TensorMechanicsHardeningCutExponential::_val_0
Real _val_0
The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)),...
Definition: TensorMechanicsHardeningCutExponential.h:41
TensorMechanicsHardeningCutExponential::_intnl_0
Real _intnl_0
The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)),...
Definition: TensorMechanicsHardeningCutExponential.h:47
TensorMechanicsHardeningCutExponential::_rate
Real _rate
The value = _val_res + (val_0 - val_res)*exp(-rate*(internal_parameter - _intnl_0)),...
Definition: TensorMechanicsHardeningCutExponential.h:50
TensorMechanicsHardeningModel::TensorMechanicsHardeningModel
TensorMechanicsHardeningModel(const InputParameters &parameters)
Definition: TensorMechanicsHardeningModel.C:25