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

Power-Rule Hardening defined by: assuming p = internal_parameter, then value = value_0 * (p / epsilon0 + 1)^{exponent}) Notice that if epsilon0 = 0, it will return not a number. More...

#include <TensorMechanicsHardeningPowerRule.h>

Inheritance diagram for TensorMechanicsHardeningPowerRule:
[legend]

Public Member Functions

 TensorMechanicsHardeningPowerRule (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

const Real _value_0
 The value = value_0 * (p / epsilon0 + 1)^{exponent}) More...
 
const Real _epsilon0
 The value = value_0 * (p / epsilon0 + 1)^{exponent}) More...
 
const Real _exponent
 The value = value_0 * (p / epsilon0 + 1)^{exponent}) More...
 

Detailed Description

Power-Rule Hardening defined by: assuming p = internal_parameter, then value = value_0 * (p / epsilon0 + 1)^{exponent}) Notice that if epsilon0 = 0, it will return not a number.

Definition at line 25 of file TensorMechanicsHardeningPowerRule.h.

Constructor & Destructor Documentation

◆ TensorMechanicsHardeningPowerRule()

TensorMechanicsHardeningPowerRule::TensorMechanicsHardeningPowerRule ( const InputParameters &  parameters)

Definition at line 29 of file TensorMechanicsHardeningPowerRule.C.

31  : TensorMechanicsHardeningModel(parameters),
32  _value_0(getParam<Real>("value_0")),
33  _epsilon0(getParam<Real>("epsilon0")),
34  _exponent(getParam<Real>("exponent"))
35 {
36 }
const Real _exponent
The value = value_0 * (p / epsilon0 + 1)^{exponent})
const Real _epsilon0
The value = value_0 * (p / epsilon0 + 1)^{exponent})
const Real _value_0
The value = value_0 * (p / epsilon0 + 1)^{exponent})
TensorMechanicsHardeningModel(const InputParameters &parameters)

Member Function Documentation

◆ derivative()

Real TensorMechanicsHardeningPowerRule::derivative ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 45 of file TensorMechanicsHardeningPowerRule.C.

46 {
47  return _value_0 * _exponent / _epsilon0 * std::pow(intnl / _epsilon0 + 1, _exponent - 1);
48 }
const Real _exponent
The value = value_0 * (p / epsilon0 + 1)^{exponent})
const Real _epsilon0
The value = value_0 * (p / epsilon0 + 1)^{exponent})
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const Real _value_0
The value = value_0 * (p / epsilon0 + 1)^{exponent})

◆ execute()

void TensorMechanicsHardeningModel::execute ( )
inherited

Definition at line 35 of file TensorMechanicsHardeningModel.C.

36 {
37 }

◆ finalize()

void TensorMechanicsHardeningModel::finalize ( )
inherited

Definition at line 40 of file TensorMechanicsHardeningModel.C.

41 {
42 }

◆ initialize()

void TensorMechanicsHardeningModel::initialize ( )
inherited

Definition at line 30 of file TensorMechanicsHardeningModel.C.

31 {
32 }

◆ modelName()

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

Implements TensorMechanicsHardeningModel.

Definition at line 51 of file TensorMechanicsHardeningPowerRule.C.

52 {
53  return "PowerRule";
54 }

◆ value()

Real TensorMechanicsHardeningPowerRule::value ( Real  intnl) const
overridevirtual

Reimplemented from TensorMechanicsHardeningModel.

Definition at line 39 of file TensorMechanicsHardeningPowerRule.C.

40 {
41  return _value_0 * std::pow(intnl / _epsilon0 + 1, _exponent);
42 }
const Real _exponent
The value = value_0 * (p / epsilon0 + 1)^{exponent})
const Real _epsilon0
The value = value_0 * (p / epsilon0 + 1)^{exponent})
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const Real _value_0
The value = value_0 * (p / epsilon0 + 1)^{exponent})

Member Data Documentation

◆ _epsilon0

const Real TensorMechanicsHardeningPowerRule::_epsilon0
private

The value = value_0 * (p / epsilon0 + 1)^{exponent})

Definition at line 41 of file TensorMechanicsHardeningPowerRule.h.

Referenced by derivative(), and value().

◆ _exponent

const Real TensorMechanicsHardeningPowerRule::_exponent
private

The value = value_0 * (p / epsilon0 + 1)^{exponent})

Definition at line 44 of file TensorMechanicsHardeningPowerRule.h.

Referenced by derivative(), and value().

◆ _value_0

const Real TensorMechanicsHardeningPowerRule::_value_0
private

The value = value_0 * (p / epsilon0 + 1)^{exponent})

Definition at line 38 of file TensorMechanicsHardeningPowerRule.h.

Referenced by derivative(), and value().


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