www.mooseframework.org
Public Member Functions | Protected Attributes | List of all members
CrystalPlasticityStateVarRateComponentGSS Class Reference

Phenomenological constitutive model state variable evolution rate component userobject class. More...

#include <CrystalPlasticityStateVarRateComponentGSS.h>

Inheritance diagram for CrystalPlasticityStateVarRateComponentGSS:
[legend]

Public Member Functions

 CrystalPlasticityStateVarRateComponentGSS (const InputParameters &parameters)
 
virtual bool calcStateVariableEvolutionRateComponent (unsigned int qp, std::vector< Real > &val) const
 
virtual unsigned int variableSize () const
 Returns the size of variable. More...
 

Protected Attributes

const MaterialProperty< std::vector< Real > > & _mat_prop_slip_rate
 
const MaterialProperty< std::vector< Real > > & _mat_prop_state_var
 
FileName _slip_sys_hard_prop_file_name
 The hardening parameters in this class are read from .i file. The user can override to read from file. More...
 
std::vector< Real > _hprops
 
unsigned int _variable_size
 

Detailed Description

Phenomenological constitutive model state variable evolution rate component userobject class.

Definition at line 23 of file CrystalPlasticityStateVarRateComponentGSS.h.

Constructor & Destructor Documentation

◆ CrystalPlasticityStateVarRateComponentGSS()

CrystalPlasticityStateVarRateComponentGSS::CrystalPlasticityStateVarRateComponentGSS ( const InputParameters &  parameters)

Definition at line 37 of file CrystalPlasticityStateVarRateComponentGSS.C.

41  getMaterialProperty<std::vector<Real>>(parameters.get<std::string>("uo_slip_rate_name"))),
43  getMaterialProperty<std::vector<Real>>(parameters.get<std::string>("uo_state_var_name"))),
44  _slip_sys_hard_prop_file_name(getParam<FileName>("slip_sys_hard_prop_file_name")),
45  _hprops(getParam<std::vector<Real>>("hprops"))
46 {
47 }
CrystalPlasticityStateVarRateComponent(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > & _mat_prop_state_var
const MaterialProperty< std::vector< Real > > & _mat_prop_slip_rate
FileName _slip_sys_hard_prop_file_name
The hardening parameters in this class are read from .i file. The user can override to read from file...

Member Function Documentation

◆ calcStateVariableEvolutionRateComponent()

bool CrystalPlasticityStateVarRateComponentGSS::calcStateVariableEvolutionRateComponent ( unsigned int  qp,
std::vector< Real > &  val 
) const
virtual

Implements CrystalPlasticityStateVarRateComponent.

Definition at line 50 of file CrystalPlasticityStateVarRateComponentGSS.C.

52 {
53  val.assign(_variable_size, 0.0);
54 
55  Real r = _hprops[0];
56  Real h0 = _hprops[1];
57  Real tau_sat = _hprops[2];
58 
59  DenseVector<Real> hb(_variable_size);
60  Real qab;
61  Real a = _hprops[3]; // Kalidindi
62 
63  for (unsigned int i = 0; i < _variable_size; ++i)
64  hb(i) = h0 * std::pow(std::abs(1.0 - _mat_prop_state_var[qp][i] / tau_sat), a) *
65  std::copysign(1.0, 1.0 - _mat_prop_state_var[qp][i] / tau_sat);
66 
67  for (unsigned int i = 0; i < _variable_size; ++i)
68  for (unsigned int j = 0; j < _variable_size; ++j)
69  {
70  unsigned int iplane, jplane;
71  iplane = i / 3;
72  jplane = j / 3;
73 
74  if (iplane == jplane) // Kalidindi
75  qab = 1.0;
76  else
77  qab = r;
78 
79  val[i] += std::abs(_mat_prop_slip_rate[qp][j]) * qab * hb(j);
80  }
81 
82  return true;
83 }
const MaterialProperty< std::vector< Real > > & _mat_prop_state_var
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const MaterialProperty< std::vector< Real > > & _mat_prop_slip_rate

◆ variableSize()

unsigned int CrystalPlasticityUOBase::variableSize ( ) const
virtualinherited

Returns the size of variable.

Definition at line 29 of file CrystalPlasticityUOBase.C.

30 {
31  return _variable_size;
32 }

Member Data Documentation

◆ _hprops

std::vector<Real> CrystalPlasticityStateVarRateComponentGSS::_hprops
protected

◆ _mat_prop_slip_rate

const MaterialProperty<std::vector<Real> >& CrystalPlasticityStateVarRateComponentGSS::_mat_prop_slip_rate
protected

◆ _mat_prop_state_var

const MaterialProperty<std::vector<Real> >& CrystalPlasticityStateVarRateComponentGSS::_mat_prop_state_var
protected

◆ _slip_sys_hard_prop_file_name

FileName CrystalPlasticityStateVarRateComponentGSS::_slip_sys_hard_prop_file_name
protected

The hardening parameters in this class are read from .i file. The user can override to read from file.

Definition at line 36 of file CrystalPlasticityStateVarRateComponentGSS.h.

◆ _variable_size

unsigned int CrystalPlasticityUOBase::_variable_size
protectedinherited

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