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

#include <KKSXeVacSolidMaterial.h>

Inheritance diagram for KKSXeVacSolidMaterial:
[legend]

Public Member Functions

 KKSXeVacSolidMaterial (const InputParameters &parameters)
 

Protected Member Functions

virtual unsigned int expectedNumArgs ()
 
virtual Real computeF ()
 
virtual Real computeDF (unsigned int arg)
 
virtual Real computeD2F (unsigned int arg1, unsigned int arg2)
 

Private Member Functions

Real cLogC (Real c)
 

Private Attributes

const Real _T
 Temperature in [K]. More...
 
const Real _Omega
 Atomic volume in [Ang^3]. More...
 
const Real _kB
 Bolzmann constant. More...
 
const Real _Efv
 Formation energy of a tri-vacancy in UO2. More...
 
const Real _Efg
 Formation energy of a Xenon Atom in a tri-vacancy (TODO: if cmg>cmv consider interstitial Xe) More...
 
const VariableValue & _cmg
 
unsigned int _cmg_var
 
const VariableValue & _cmv
 
unsigned int _cmv_var
 

Detailed Description

Definition at line 21 of file KKSXeVacSolidMaterial.h.

Constructor & Destructor Documentation

◆ KKSXeVacSolidMaterial()

KKSXeVacSolidMaterial::KKSXeVacSolidMaterial ( const InputParameters &  parameters)

Definition at line 26 of file KKSXeVacSolidMaterial.C.

27  : DerivativeFunctionMaterialBase(parameters),
28  _T(getParam<Real>("T")),
29  _Omega(2.53),
30  _kB(8.6173324e-5),
31  _Efv(3.0),
32  _Efg(3.0),
33  _cmg(coupledValue("cmg")),
34  _cmg_var(coupled("cmg")),
35  _cmv(coupledValue("cmv")),
36  _cmv_var(coupled("cmv"))
37 {
38 }
const Real _Omega
Atomic volume in [Ang^3].
const Real _Efg
Formation energy of a Xenon Atom in a tri-vacancy (TODO: if cmg>cmv consider interstitial Xe) ...
const Real _Efv
Formation energy of a tri-vacancy in UO2.
const Real _T
Temperature in [K].
const VariableValue & _cmg
const VariableValue & _cmv
const Real _kB
Bolzmann constant.

Member Function Documentation

◆ cLogC()

Real KKSXeVacSolidMaterial::cLogC ( Real  c)
private

Definition at line 42 of file KKSXeVacSolidMaterial.C.

Referenced by computeF().

43 {
44  return c <= 0.0 ? 0.0 : c * std::log(c);
45 }

◆ computeD2F()

Real KKSXeVacSolidMaterial::computeD2F ( unsigned int  arg1,
unsigned int  arg2 
)
protectedvirtual

Definition at line 81 of file KKSXeVacSolidMaterial.C.

82 {
83  if (i_var != j_var)
84  return 0.0;
85 
86  const Real tol = 1e-10;
87  Real cmg = _cmg[_qp] < tol ? tol : (_cmg[_qp] > (1.0 - tol) ? (1.0 - tol) : _cmg[_qp]);
88  Real cmv = _cmv[_qp] < tol ? tol : (_cmv[_qp] > (1.0 - tol) ? (1.0 - tol) : _cmv[_qp]);
89 
90  if (i_var == _cmg_var)
91  return 1.0 / _Omega * _kB * _T * (1.0 / (1.0 - cmg) + 1.0 / cmg);
92 
93  if (i_var == _cmv_var)
94  return 1.0 / _Omega * _kB * _T * (1.0 / (1.0 - cmv) + 1.0 / cmv);
95 
96  mooseError("Unknown derivative requested");
97 }
const double tol
Definition: Setup.h:19
const Real _Omega
Atomic volume in [Ang^3].
const Real _T
Temperature in [K].
const VariableValue & _cmg
const VariableValue & _cmv
const Real _kB
Bolzmann constant.

◆ computeDF()

Real KKSXeVacSolidMaterial::computeDF ( unsigned int  arg)
protectedvirtual

Definition at line 64 of file KKSXeVacSolidMaterial.C.

65 {
66  const Real tol = 1e-10;
67  Real cmg = _cmg[_qp] < tol ? tol : (_cmg[_qp] > (1.0 - tol) ? (1.0 - tol) : _cmg[_qp]);
68  Real cmv = _cmv[_qp] < tol ? tol : (_cmv[_qp] > (1.0 - tol) ? (1.0 - tol) : _cmv[_qp]);
69 
70  if (i_var == _cmg_var)
71  return 1.0 / _Omega * (_Efg + _kB * _T * (std::log(cmg) - std::log(-cmg + 1.0)));
72 
73  if (i_var == _cmv_var)
74  return 1.0 / _Omega * (_Efv + _kB * _T * (std::log(cmv) - std::log(-cmv + 1.0)));
75 
76  mooseError("Unknown derivative requested");
77 }
const double tol
Definition: Setup.h:19
const Real _Omega
Atomic volume in [Ang^3].
const Real _Efg
Formation energy of a Xenon Atom in a tri-vacancy (TODO: if cmg>cmv consider interstitial Xe) ...
const Real _Efv
Formation energy of a tri-vacancy in UO2.
const Real _T
Temperature in [K].
const VariableValue & _cmg
const VariableValue & _cmv
const Real _kB
Bolzmann constant.

◆ computeF()

Real KKSXeVacSolidMaterial::computeF ( )
protectedvirtual

Definition at line 56 of file KKSXeVacSolidMaterial.C.

57 {
58  return 1.0 / _Omega * (_kB * _T * (cLogC(_cmv[_qp]) + cLogC(1.0 - _cmv[_qp])) + _Efv * _cmv[_qp] +
59  _kB * _T * (cLogC(_cmg[_qp]) + cLogC(1.0 - _cmg[_qp])) + _Efg * _cmg[_qp]);
60 }
const Real _Omega
Atomic volume in [Ang^3].
const Real _Efg
Formation energy of a Xenon Atom in a tri-vacancy (TODO: if cmg>cmv consider interstitial Xe) ...
const Real _Efv
Formation energy of a tri-vacancy in UO2.
const Real _T
Temperature in [K].
const VariableValue & _cmg
const VariableValue & _cmv
const Real _kB
Bolzmann constant.

◆ expectedNumArgs()

unsigned int KKSXeVacSolidMaterial::expectedNumArgs ( )
protectedvirtual

Definition at line 49 of file KKSXeVacSolidMaterial.C.

50 {
51  return 2;
52 }

Member Data Documentation

◆ _cmg

const VariableValue& KKSXeVacSolidMaterial::_cmg
private

Definition at line 50 of file KKSXeVacSolidMaterial.h.

Referenced by computeD2F(), computeDF(), and computeF().

◆ _cmg_var

unsigned int KKSXeVacSolidMaterial::_cmg_var
private

Definition at line 51 of file KKSXeVacSolidMaterial.h.

Referenced by computeD2F(), and computeDF().

◆ _cmv

const VariableValue& KKSXeVacSolidMaterial::_cmv
private

Definition at line 52 of file KKSXeVacSolidMaterial.h.

Referenced by computeD2F(), computeDF(), and computeF().

◆ _cmv_var

unsigned int KKSXeVacSolidMaterial::_cmv_var
private

Definition at line 53 of file KKSXeVacSolidMaterial.h.

Referenced by computeD2F(), and computeDF().

◆ _Efg

const Real KKSXeVacSolidMaterial::_Efg
private

Formation energy of a Xenon Atom in a tri-vacancy (TODO: if cmg>cmv consider interstitial Xe)

Definition at line 48 of file KKSXeVacSolidMaterial.h.

Referenced by computeDF(), and computeF().

◆ _Efv

const Real KKSXeVacSolidMaterial::_Efv
private

Formation energy of a tri-vacancy in UO2.

Definition at line 44 of file KKSXeVacSolidMaterial.h.

Referenced by computeDF(), and computeF().

◆ _kB

const Real KKSXeVacSolidMaterial::_kB
private

Bolzmann constant.

Definition at line 41 of file KKSXeVacSolidMaterial.h.

Referenced by computeD2F(), computeDF(), and computeF().

◆ _Omega

const Real KKSXeVacSolidMaterial::_Omega
private

Atomic volume in [Ang^3].

Definition at line 38 of file KKSXeVacSolidMaterial.h.

Referenced by computeD2F(), computeDF(), and computeF().

◆ _T

const Real KKSXeVacSolidMaterial::_T
private

Temperature in [K].

Definition at line 35 of file KKSXeVacSolidMaterial.h.

Referenced by computeD2F(), computeDF(), and computeF().


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