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

Material class that provides the free energy of an ideal gas with the expression builder and uses automatic differentiation to get the derivatives. More...

#include <IdealGasFreeEnergy.h>

Inheritance diagram for IdealGasFreeEnergy:
[legend]

Public Types

typedef std::vector< EBTermEBTermList
 
typedef std::vector< EBTermNode * > EBTermNodeList
 
typedef std::vector< const EBSubstitutionRule * > EBSubstitutionRuleList
 

Public Member Functions

 IdealGasFreeEnergy (const InputParameters &parameters)
 
 BINARYFUNC_OP_IMPLEMENT (+, ADD) BINARYFUNC_OP_IMPLEMENT(-
 
SUB BINARYFUNC_OP_IMPLEMENT MUL BINARYFUNC_OP_IMPLEMENT (/, DIV) BINARYFUNC_OP_IMPLEMENT(%
 
SUB BINARYFUNC_OP_IMPLEMENT MUL MOD BINARYFUNC_OP_IMPLEMENT (<, LESS) BINARYFUNC_OP_IMPLEMENT(>
 
SUB BINARYFUNC_OP_IMPLEMENT MUL MOD GREATER BINARYFUNC_OP_IMPLEMENT (<=, LESSEQ) BINARYFUNC_OP_IMPLEMENT(>
 
SUB BINARYFUNC_OP_IMPLEMENT MUL MOD GREATER GREATEREQ BINARYFUNC_OP_IMPLEMENT (==, EQ) BINARYFUNC_OP_IMPLEMENT(!
 

Protected Attributes

const EBTerm _T
 Coupled variable value for the Temperature. More...
 
const EBTerm _c
 Coupled variable value for the concentration \( c \). More...
 
const Real _omega
 lattice site volume More...
 
const Real _m
 gas molecule mass in eV*s^2/Ang^2 More...
 
const EBTerm _n
 gas number density n = N/V = c/Omega (where Omega is the lattice site volume) More...
 
const EBTerm _nq
 quantum concentration More...
 
const Real _h
 physical constants More...
 
const Real _kB
 

Detailed Description

Material class that provides the free energy of an ideal gas with the expression builder and uses automatic differentiation to get the derivatives.

Definition at line 24 of file IdealGasFreeEnergy.h.

Member Typedef Documentation

◆ EBSubstitutionRuleList

typedef std::vector<const EBSubstitutionRule *> ExpressionBuilder::EBSubstitutionRuleList
inherited

Definition at line 59 of file ExpressionBuilder.h.

◆ EBTermList

typedef std::vector<EBTerm> ExpressionBuilder::EBTermList
inherited

Definition at line 56 of file ExpressionBuilder.h.

◆ EBTermNodeList

typedef std::vector<EBTermNode *> ExpressionBuilder::EBTermNodeList
inherited

Definition at line 58 of file ExpressionBuilder.h.

Constructor & Destructor Documentation

◆ IdealGasFreeEnergy()

IdealGasFreeEnergy::IdealGasFreeEnergy ( const InputParameters &  parameters)

Definition at line 23 of file IdealGasFreeEnergy.C.

24  : GasFreeEnergyBase(parameters)
25 {
26  // Definition of the free energy for the expression builder
27  EBFunction free_energy;
28  free_energy(_c, _T) = -_n * _kB * _T * (log(_nq / _n) + 1.0);
29 
30  // Parse function for automatic differentiation
31  functionParse(free_energy);
32 }

Member Function Documentation

◆ BINARYFUNC_OP_IMPLEMENT() [1/5]

ExpressionBuilder::BINARYFUNC_OP_IMPLEMENT ( ,
ADD   
)
inherited

◆ BINARYFUNC_OP_IMPLEMENT() [2/5]

SUB BINARYFUNC_OP_IMPLEMENT MUL ExpressionBuilder::BINARYFUNC_OP_IMPLEMENT ( ,
DIV   
)
inherited

◆ BINARYFUNC_OP_IMPLEMENT() [3/5]

SUB BINARYFUNC_OP_IMPLEMENT MUL MOD ExpressionBuilder::BINARYFUNC_OP_IMPLEMENT ( )
inherited

◆ BINARYFUNC_OP_IMPLEMENT() [4/5]

SUB BINARYFUNC_OP_IMPLEMENT MUL MOD GREATER ExpressionBuilder::BINARYFUNC_OP_IMPLEMENT ( <=  ,
LESSEQ   
)
inherited

◆ BINARYFUNC_OP_IMPLEMENT() [5/5]

SUB BINARYFUNC_OP_IMPLEMENT MUL MOD GREATER GREATEREQ ExpressionBuilder::BINARYFUNC_OP_IMPLEMENT ( EQ  )
inherited

Member Data Documentation

◆ _c

const EBTerm GasFreeEnergyBase::_c
protectedinherited

Coupled variable value for the concentration \( c \).

Definition at line 35 of file GasFreeEnergyBase.h.

Referenced by IdealGasFreeEnergy(), and VanDerWaalsFreeEnergy::VanDerWaalsFreeEnergy().

◆ _h

const Real GasFreeEnergyBase::_h
protectedinherited

physical constants

Definition at line 44 of file GasFreeEnergyBase.h.

◆ _kB

const Real GasFreeEnergyBase::_kB
protectedinherited

◆ _m

const Real GasFreeEnergyBase::_m
protectedinherited

gas molecule mass in eV*s^2/Ang^2

Definition at line 41 of file GasFreeEnergyBase.h.

◆ _n

const EBTerm GasFreeEnergyBase::_n
protectedinherited

gas number density n = N/V = c/Omega (where Omega is the lattice site volume)

Definition at line 49 of file GasFreeEnergyBase.h.

Referenced by IdealGasFreeEnergy(), and VanDerWaalsFreeEnergy::VanDerWaalsFreeEnergy().

◆ _nq

const EBTerm GasFreeEnergyBase::_nq
protectedinherited

quantum concentration

Definition at line 52 of file GasFreeEnergyBase.h.

Referenced by IdealGasFreeEnergy(), and VanDerWaalsFreeEnergy::VanDerWaalsFreeEnergy().

◆ _omega

const Real GasFreeEnergyBase::_omega
protectedinherited

lattice site volume

Definition at line 38 of file GasFreeEnergyBase.h.

◆ _T

const EBTerm GasFreeEnergyBase::_T
protectedinherited

Coupled variable value for the Temperature.

Definition at line 32 of file GasFreeEnergyBase.h.

Referenced by IdealGasFreeEnergy(), and VanDerWaalsFreeEnergy::VanDerWaalsFreeEnergy().


The documentation for this class was generated from the following files:
GasFreeEnergyBase::_kB
const Real _kB
Definition: GasFreeEnergyBase.h:45
GasFreeEnergyBase::_n
const EBTerm _n
gas number density n = N/V = c/Omega (where Omega is the lattice site volume)
Definition: GasFreeEnergyBase.h:49
GasFreeEnergyBase::_nq
const EBTerm _nq
quantum concentration
Definition: GasFreeEnergyBase.h:52
GasFreeEnergyBase::_T
const EBTerm _T
Coupled variable value for the Temperature.
Definition: GasFreeEnergyBase.h:32
GasFreeEnergyBase::_c
const EBTerm _c
Coupled variable value for the concentration .
Definition: GasFreeEnergyBase.h:35
GasFreeEnergyBase::GasFreeEnergyBase
GasFreeEnergyBase(const InputParameters &parameters)
Definition: GasFreeEnergyBase.C:38