www.mooseframework.org
GasFreeEnergyBase.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "GasFreeEnergyBase.h"
11 
12 template <>
13 InputParameters
15 {
16  InputParameters params = validParams<DerivativeParsedMaterialHelper>();
17  params.addRequiredCoupledVar("T", "Temperature");
18  // MooseEnum molecule("MONOATOMIC DIATOMIC", "MONOATOMIC");
19  // params.addParam<MooseEnum>("molecule", molecule, "Gas molecule size");
20  params.addRequiredCoupledVar("c", "Concentration variable");
21  params.addRequiredParam<Real>(
22  "omega", "Lattice site volume (default mass_unit_conversion requires this to be in [Ang^3])");
23  params.addRequiredParam<Real>(
24  "m", "Gas atom mass (the default mass_unit_conversion requires this to be in [u])");
25  params.addParam<Real>("mass_unit_conversion",
26  1.0364271410595204e-28,
27  "Conversion factor to get the gas atom mass in [eV*s^2/Ang^2] (defaults "
28  "to [eV*s^2/(Ang^2*u)])");
29  params.addParam<Real>("h",
30  4.135667662e-15,
31  "Planck constant - units need to be consistent with "
32  "the units of omega (default in [eV*s])");
33  params.addParam<Real>("kB", 8.6173303e-5, "Boltzmann constant (default in [eV/K])");
34  params.addParamNamesToGroup("mass_unit_conversion h kB", "Units");
35  return params;
36 }
37 
38 GasFreeEnergyBase::GasFreeEnergyBase(const InputParameters & parameters)
39  : DerivativeParsedMaterialHelper(parameters),
40  _T("T"),
41  _c("c"),
42  _omega(getParam<Real>("omega")),
43  _m(getParam<Real>("m") * getParam<Real>("mass_unit_conversion")),
44  _h(getParam<Real>("h")),
45  _kB(getParam<Real>("kB")),
46  _n(_c / _omega),
47  _nq(pow(2.0 * libMesh::pi * _m * _kB * _T / (_h * _h), 3.0 / 2.0))
48 {
49 }
pow
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
Definition: ExpressionBuilder.h:673
validParams< GasFreeEnergyBase >
InputParameters validParams< GasFreeEnergyBase >()
Definition: GasFreeEnergyBase.C:14
GasFreeEnergyBase.h
libMesh
Definition: RANFSNormalMechanicalContact.h:24
GasFreeEnergyBase::GasFreeEnergyBase
GasFreeEnergyBase(const InputParameters &parameters)
Definition: GasFreeEnergyBase.C:38