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

Gaussian hardening The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. More...

#include <TensorMechanicsHardeningGaussian.h>

Inheritance diagram for TensorMechanicsHardeningGaussian:
[legend]

Public Member Functions

 TensorMechanicsHardeningGaussian (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(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter. More...
 
Real _val_res
 The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter. More...
 
Real _intnl_0
 The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter. More...
 
Real _rate
 The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter. More...
 

Detailed Description

Gaussian hardening The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0.

Here p = internal parameter, and value = _val_0 for p<=intnl_0 This has nice numerical properties because it is C-infinity continuous

Definition at line 26 of file TensorMechanicsHardeningGaussian.h.

Constructor & Destructor Documentation

◆ TensorMechanicsHardeningGaussian()

TensorMechanicsHardeningGaussian::TensorMechanicsHardeningGaussian ( const InputParameters &  parameters)

Definition at line 36 of file TensorMechanicsHardeningGaussian.C.

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

Member Function Documentation

◆ derivative()

Real TensorMechanicsHardeningGaussian::derivative ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 57 of file TensorMechanicsHardeningGaussian.C.

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

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

Implements TensorMechanicsHardeningModel.

Definition at line 67 of file TensorMechanicsHardeningGaussian.C.

68 {
69  return "Gaussian";
70 }

◆ validParams()

InputParameters TensorMechanicsHardeningGaussian::validParams ( )
static

Definition at line 17 of file TensorMechanicsHardeningGaussian.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>(
26  "internal_0", 0, "The value of the internal_parameter when hardening begins");
27  params.addParam<Real>("rate",
28  0,
29  "Let p = internal_parameter. Then value = value_0 for "
30  "p<internal_0, and value = value_residual + (value_0 - "
31  "value_residual)*exp(-0.5*rate*(p - internal_0)^2)");
32  params.addClassDescription("Hardening is Gaussian");
33  return params;
34 }

◆ value()

Real TensorMechanicsHardeningGaussian::value ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 47 of file TensorMechanicsHardeningGaussian.C.

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

Member Data Documentation

◆ _intnl_0

Real TensorMechanicsHardeningGaussian::_intnl_0
private

The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter.

Definition at line 47 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().

◆ _rate

Real TensorMechanicsHardeningGaussian::_rate
private

The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter.

Definition at line 50 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().

◆ _val_0

Real TensorMechanicsHardeningGaussian::_val_0
private

The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter.

Definition at line 41 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().

◆ _val_res

Real TensorMechanicsHardeningGaussian::_val_res
private

The value = _val_res + (val_0 - val_res)*exp(-0.5*rate*(p - intnl_0)^2) for p>intnl_0. Here p = internal parameter.

Definition at line 44 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().


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