www.mooseframework.org
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 ()
 

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 24 of file TensorMechanicsHardeningGaussian.h.

Constructor & Destructor Documentation

TensorMechanicsHardeningGaussian::TensorMechanicsHardeningGaussian ( const InputParameters &  parameters)

Definition at line 30 of file TensorMechanicsHardeningGaussian.C.

32  : TensorMechanicsHardeningModel(parameters),
33  _val_0(getParam<Real>("value_0")),
34  _val_res(parameters.isParamValid("value_residual") ? getParam<Real>("value_residual") : _val_0),
35  _intnl_0(getParam<Real>("internal_0")),
36  _rate(getParam<Real>("rate"))
37 {
38 }
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.
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.
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.
TensorMechanicsHardeningModel(const InputParameters &parameters)
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.

Member Function Documentation

Real TensorMechanicsHardeningGaussian::derivative ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 51 of file TensorMechanicsHardeningGaussian.C.

52 {
53  Real x = intnl - _intnl_0;
54  if (x <= 0)
55  return 0;
56  else
57  return -_rate * x * (_val_0 - _val_res) * std::exp(-0.5 * _rate * x * x);
58 }
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.
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.
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.
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.
void TensorMechanicsHardeningModel::execute ( )
inherited

Definition at line 32 of file TensorMechanicsHardeningModel.C.

33 {
34 }
void TensorMechanicsHardeningModel::finalize ( )
inherited

Definition at line 37 of file TensorMechanicsHardeningModel.C.

38 {
39 }
void TensorMechanicsHardeningModel::initialize ( )
inherited

Definition at line 27 of file TensorMechanicsHardeningModel.C.

28 {
29 }
std::string TensorMechanicsHardeningGaussian::modelName ( ) const
overridevirtual

Implements TensorMechanicsHardeningModel.

Definition at line 61 of file TensorMechanicsHardeningGaussian.C.

62 {
63  return "Gaussian";
64 }
Real TensorMechanicsHardeningGaussian::value ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 41 of file TensorMechanicsHardeningGaussian.C.

42 {
43  Real x = intnl - _intnl_0;
44  if (x <= 0)
45  return _val_0;
46  else
47  return _val_res + (_val_0 - _val_res) * std::exp(-0.5 * _rate * x * x);
48 }
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.
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.
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.
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.

Member Data Documentation

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 43 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().

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 46 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().

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 37 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().

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 40 of file TensorMechanicsHardeningGaussian.h.

Referenced by derivative(), and value().


The documentation for this class was generated from the following files: