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

#include <GBEvolutionBase.h>

Inheritance diagram for GBEvolutionBase:
[legend]

Public Member Functions

 GBEvolutionBase (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties ()
 

Protected Attributes

Real _f0s
 
Real _wGB
 
Real _length_scale
 
Real _time_scale
 
Real _GBmob0
 
Real _Q
 
Real _GBMobility
 
Real _molar_vol
 
const VariableValue & _T
 
MaterialProperty< Real > & _sigma
 
MaterialProperty< Real > & _M_GB
 
MaterialProperty< Real > & _kappa
 
MaterialProperty< Real > & _gamma
 
MaterialProperty< Real > & _L
 
MaterialProperty< Real > * _dLdT
 
MaterialProperty< Real > & _l_GB
 
MaterialProperty< Real > & _mu
 
MaterialProperty< Real > & _entropy_diff
 
MaterialProperty< Real > & _molar_volume
 
MaterialProperty< Real > & _act_wGB
 
const Real _kb
 
const Real _JtoeV
 

Detailed Description

Definition at line 22 of file GBEvolutionBase.h.

Constructor & Destructor Documentation

◆ GBEvolutionBase()

GBEvolutionBase::GBEvolutionBase ( const InputParameters &  parameters)

Definition at line 36 of file GBEvolutionBase.C.

37  : DerivativeMaterialInterface<Material>(parameters),
38  _f0s(getParam<Real>("f0s")),
39  _wGB(getParam<Real>("wGB")),
40  _length_scale(getParam<Real>("length_scale")),
41  _time_scale(getParam<Real>("time_scale")),
42  _GBmob0(getParam<Real>("GBmob0")),
43  _Q(getParam<Real>("Q")),
44  _GBMobility(getParam<Real>("GBMobility")),
45  _molar_vol(getParam<Real>("molar_volume")),
46  _T(coupledValue("T")),
47  _sigma(declareProperty<Real>("sigma")),
48  _M_GB(declareProperty<Real>("M_GB")),
49  _kappa(declareProperty<Real>("kappa_op")),
50  _gamma(declareProperty<Real>("gamma_asymm")),
51  _L(declareProperty<Real>("L")),
52  _dLdT(parameters.hasDefaultCoupledValue("T")
53  ? nullptr
54  : &declarePropertyDerivative<Real>("L", getVar("T", 0)->name())),
55  _l_GB(declareProperty<Real>("l_GB")),
56  _mu(declareProperty<Real>("mu")),
57  _entropy_diff(declareProperty<Real>("entropy_diff")),
58  _molar_volume(declareProperty<Real>("molar_volume")),
59  _act_wGB(declareProperty<Real>("act_wGB")),
60  _kb(8.617343e-5), // Boltzmann constant in eV/K
61  _JtoeV(6.24150974e18) // Joule to eV conversion
62 {
63  if (_GBMobility == -1 && _GBmob0 == 0)
64  mooseError("Either a value for GBMobility or for GBmob0 and Q must be provided");
65 }
MaterialProperty< Real > & _entropy_diff
const Real _JtoeV
MaterialProperty< Real > & _M_GB
MaterialProperty< Real > & _molar_volume
MaterialProperty< Real > & _gamma
const VariableValue & _T
MaterialProperty< Real > & _l_GB
MaterialProperty< Real > * _dLdT
MaterialProperty< Real > & _kappa
MaterialProperty< Real > & _mu
MaterialProperty< Real > & _sigma
MaterialProperty< Real > & _L
MaterialProperty< Real > & _act_wGB

Member Function Documentation

◆ computeQpProperties()

void GBEvolutionBase::computeQpProperties ( )
protectedvirtual

Reimplemented in GBEvolution.

Definition at line 68 of file GBEvolutionBase.C.

Referenced by GBEvolution::computeQpProperties().

69 {
70  const Real length_scale4 = _length_scale * _length_scale * _length_scale * _length_scale;
71 
72  // Convert to lengthscale^4/(eV*timescale);
73  Real M0 = _GBmob0 * _time_scale / (_JtoeV * length_scale4);
74 
75  // GB mobility Derivative
76  Real dM_GBdT;
77 
78  if (_GBMobility < 0)
79  {
80  _M_GB[_qp] = M0 * std::exp(-_Q / (_kb * _T[_qp]));
81  dM_GBdT = _M_GB[_qp] * _Q / (_kb * _T[_qp] * _T[_qp]);
82  }
83  else
84  {
85  // Convert to lengthscale^4/(eV*timescale)
86  _M_GB[_qp] = _GBMobility * _time_scale / (_JtoeV * length_scale4);
87  dM_GBdT = 0.0;
88  }
89 
90  // in the length scale of the system
91  _l_GB[_qp] = _wGB;
92 
93  _L[_qp] = 4.0 / 3.0 * _M_GB[_qp] / _l_GB[_qp];
94  if (_dLdT)
95  (*_dLdT)[_qp] = 4.0 / 3.0 * dM_GBdT / _l_GB[_qp];
96  _kappa[_qp] = 3.0 / 4.0 * _sigma[_qp] * _l_GB[_qp];
97  _gamma[_qp] = 1.5;
98  _mu[_qp] = 3.0 / 4.0 * 1.0 / _f0s * _sigma[_qp] / _l_GB[_qp];
99 
100  // J/(K mol) converted to eV(K mol)
101  _entropy_diff[_qp] = 8.0e3 * _JtoeV;
102 
103  // m^3/mol converted to ls^3/mol
105  _act_wGB[_qp] = 0.5e-9 / _length_scale;
106 }
MaterialProperty< Real > & _entropy_diff
const Real _JtoeV
MaterialProperty< Real > & _M_GB
MaterialProperty< Real > & _molar_volume
MaterialProperty< Real > & _gamma
const VariableValue & _T
MaterialProperty< Real > & _l_GB
MaterialProperty< Real > * _dLdT
MaterialProperty< Real > & _kappa
MaterialProperty< Real > & _mu
MaterialProperty< Real > & _sigma
MaterialProperty< Real > & _L
MaterialProperty< Real > & _act_wGB

Member Data Documentation

◆ _act_wGB

MaterialProperty<Real>& GBEvolutionBase::_act_wGB
protected

Definition at line 51 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _dLdT

MaterialProperty<Real>* GBEvolutionBase::_dLdT
protected

Definition at line 46 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _entropy_diff

MaterialProperty<Real>& GBEvolutionBase::_entropy_diff
protected

Definition at line 49 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _f0s

Real GBEvolutionBase::_f0s
protected

Definition at line 30 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _gamma

MaterialProperty<Real>& GBEvolutionBase::_gamma
protected

Definition at line 44 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _GBmob0

Real GBEvolutionBase::_GBmob0
protected

Definition at line 34 of file GBEvolutionBase.h.

Referenced by computeQpProperties(), and GBEvolutionBase().

◆ _GBMobility

Real GBEvolutionBase::_GBMobility
protected

Definition at line 36 of file GBEvolutionBase.h.

Referenced by computeQpProperties(), and GBEvolutionBase().

◆ _JtoeV

const Real GBEvolutionBase::_JtoeV
protected

Definition at line 54 of file GBEvolutionBase.h.

Referenced by computeQpProperties(), and GBEvolution::computeQpProperties().

◆ _kappa

MaterialProperty<Real>& GBEvolutionBase::_kappa
protected

Definition at line 43 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _kb

const Real GBEvolutionBase::_kb
protected

Definition at line 53 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _L

MaterialProperty<Real>& GBEvolutionBase::_L
protected

Definition at line 45 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _l_GB

MaterialProperty<Real>& GBEvolutionBase::_l_GB
protected

Definition at line 47 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _length_scale

Real GBEvolutionBase::_length_scale
protected

Definition at line 32 of file GBEvolutionBase.h.

Referenced by computeQpProperties(), and GBEvolution::computeQpProperties().

◆ _M_GB

MaterialProperty<Real>& GBEvolutionBase::_M_GB
protected

Definition at line 42 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _molar_vol

Real GBEvolutionBase::_molar_vol
protected

Definition at line 37 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _molar_volume

MaterialProperty<Real>& GBEvolutionBase::_molar_volume
protected

Definition at line 50 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _mu

MaterialProperty<Real>& GBEvolutionBase::_mu
protected

Definition at line 48 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _Q

Real GBEvolutionBase::_Q
protected

Definition at line 35 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _sigma

MaterialProperty<Real>& GBEvolutionBase::_sigma
protected

Definition at line 41 of file GBEvolutionBase.h.

Referenced by computeQpProperties(), and GBEvolution::computeQpProperties().

◆ _T

const VariableValue& GBEvolutionBase::_T
protected

Definition at line 39 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _time_scale

Real GBEvolutionBase::_time_scale
protected

Definition at line 33 of file GBEvolutionBase.h.

Referenced by computeQpProperties().

◆ _wGB

Real GBEvolutionBase::_wGB
protected

Definition at line 31 of file GBEvolutionBase.h.

Referenced by computeQpProperties().


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