ePolynomialThermo< EquationOfState, PolySize > Class Template Reference

Thermodynamics package templated on the equation of state, using polynomial functions for cv, e and s. More...

Inheritance diagram for ePolynomialThermo< EquationOfState, PolySize >:
Collaboration diagram for ePolynomialThermo< EquationOfState, PolySize >:

Public Member Functions

 ePolynomialThermo (const dictionary &dict)
 Construct from dictionary. More...
 
 ePolynomialThermo (const word &, const ePolynomialThermo &)
 Construct as a named copy. More...
 
scalar limit (const scalar) const
 Limit the temperature to be in the range Tlow_ to Thigh_. More...
 
scalar Cv (const scalar p, const scalar T) const
 Heat capacity at constant volume [J/kg/K]. More...
 
scalar Es (const scalar p, const scalar T) const
 Sensible internal energy [J/kg]. More...
 
scalar Ea (const scalar p, const scalar T) const
 Absolute internal energy [J/kg]. More...
 
scalar Hf () const
 Enthalpy of formation [J/kg]. More...
 
scalar S (const scalar p, const scalar T) const
 Entropy [J/kg/K]. More...
 
scalar Gstd (const scalar T) const
 Gibbs free energy of the mixture in the standard state [J/kg]. More...
 
scalar dCpdT (const scalar p, const scalar T) const
 Temperature derivative of heat capacity at constant pressure. More...
 
void write (Ostream &os) const
 Write to Ostream. More...
 
void operator+= (const ePolynomialThermo &)
 
void operator*= (const scalar)
 

Static Public Member Functions

static word typeName ()
 Return the instantiated type name. More...
 

Friends

ePolynomialThermo operator+ (const ePolynomialThermo &, const ePolynomialThermo &)
 
ePolynomialThermo operator* (const scalar, const ePolynomialThermo &)
 
ePolynomialThermo operator== (const ePolynomialThermo &, const ePolynomialThermo &)
 
Ostreamoperator (Ostream &, const ePolynomialThermo &)
 

Detailed Description

template<class EquationOfState, int PolySize = 8>
class Foam::ePolynomialThermo< EquationOfState, PolySize >

Thermodynamics package templated on the equation of state, using polynomial functions for cv, e and s.

Polynomials for e and s derived from cv.

Usage
Property Description
Hf Heat of formation
Sf Standard entropy
CvCoeffs<8> Specific heat at constant volume polynomial coeffs

Example of the specification of the thermodynamic properties:

    thermodynamics
    {
        Hf              0;
        Sf              0;
        CvCoeffs<8>     ( 1000 -0.05 0.003 0 0 0 0 0 );
    }

The polynomial expression is evaluated as so:

\[ Cv = 1000 - 0.05 T + 0.003 T^2 \]

Note
  • Specific heat at constant volume polynomial coefficients evaluate to an expression in [J/kg/K].
Source files
See also
Foam::Polynomial

Definition at line 96 of file ePolynomialThermo.H.

Constructor & Destructor Documentation

◆ ePolynomialThermo() [1/2]

ePolynomialThermo ( const dictionary dict)

Construct from dictionary.

Definition at line 33 of file ePolynomialThermo.C.

References Foam::constant::standard::Tstd, and ePolynomialThermo< EquationOfState, PolySize >::write().

Here is the call graph for this function:

◆ ePolynomialThermo() [2/2]

ePolynomialThermo ( const word name,
const ePolynomialThermo< EquationOfState, PolySize > &  pt 
)
inline

Construct as a named copy.

Definition at line 54 of file ePolynomialThermoI.H.

References ePolynomialThermo< EquationOfState, PolySize >::limit().

Here is the call graph for this function:

Member Function Documentation

◆ typeName()

◆ limit()

Foam::scalar limit ( const scalar  T) const
inline

Limit the temperature to be in the range Tlow_ to Thigh_.

Definition at line 72 of file ePolynomialThermoI.H.

References ePolynomialThermo< EquationOfState, PolySize >::Cv(), and Foam::T().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::ePolynomialThermo(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Cv()

Foam::scalar Cv ( const scalar  p,
const scalar  T 
) const
inline

Heat capacity at constant volume [J/kg/K].

Definition at line 82 of file ePolynomialThermoI.H.

References Cv(), and ePolynomialThermo< EquationOfState, PolySize >::Es().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::limit(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Es()

Foam::scalar Es ( const scalar  p,
const scalar  T 
) const
inline

Sensible internal energy [J/kg].

Definition at line 93 of file ePolynomialThermoI.H.

References ePolynomialThermo< EquationOfState, PolySize >::Ea().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::Cv(), ePolynomialThermo< EquationOfState, PolySize >::Ea(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Ea()

Foam::scalar Ea ( const scalar  p,
const scalar  T 
) const
inline

Absolute internal energy [J/kg].

Definition at line 104 of file ePolynomialThermoI.H.

References ePolynomialThermo< EquationOfState, PolySize >::Es(), and ePolynomialThermo< EquationOfState, PolySize >::Hf().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::Es(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Hf()

Foam::scalar Hf ( ) const
inline

Enthalpy of formation [J/kg].

Definition at line 114 of file ePolynomialThermoI.H.

References ePolynomialThermo< EquationOfState, PolySize >::S().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::Ea(), ePolynomialThermo< EquationOfState, PolySize >::Gstd(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ S()

Foam::scalar S ( const scalar  p,
const scalar  T 
) const
inline

Entropy [J/kg/K].

Definition at line 123 of file ePolynomialThermoI.H.

References ePolynomialThermo< EquationOfState, PolySize >::Gstd().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::Gstd(), ePolynomialThermo< EquationOfState, PolySize >::Hf(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Gstd()

Foam::scalar Gstd ( const scalar  T) const
inline

Gibbs free energy of the mixture in the standard state [J/kg].

Definition at line 134 of file ePolynomialThermoI.H.

References ePolynomialThermo< EquationOfState, PolySize >::dCpdT(), ePolynomialThermo< EquationOfState, PolySize >::Hf(), Foam::constant::standard::Pstd, rho, ePolynomialThermo< EquationOfState, PolySize >::S(), and Foam::T().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::S(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dCpdT()

Foam::scalar dCpdT ( const scalar  p,
const scalar  T 
) const
inline

Temperature derivative of heat capacity at constant pressure.

Definition at line 146 of file ePolynomialThermoI.H.

References NotImplemented.

Referenced by ePolynomialThermo< EquationOfState, PolySize >::Gstd(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the caller graph for this function:

◆ write()

void write ( Ostream os) const

Write to Ostream.

Definition at line 65 of file ePolynomialThermo.C.

References dictionary::add(), dict, dictionaryName::dictName(), Foam::indent(), Foam::name(), Foam::vtkWriteOps::write(), and Ostream::write().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::ePolynomialThermo(), and ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator+=()

void operator+= ( const ePolynomialThermo< EquationOfState, PolySize > &  )
inline

Definition at line 160 of file ePolynomialThermoI.H.

References Foam::mag(), and Y.

Referenced by ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator*=()

void operator*= ( const scalar  s)
inline

Definition at line 184 of file ePolynomialThermoI.H.

References Foam::mag(), and s().

Referenced by ePolynomialThermo< EquationOfState, PolySize >::typeName().

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator+

ePolynomialThermo operator+ ( const ePolynomialThermo< EquationOfState, PolySize > &  ,
const ePolynomialThermo< EquationOfState, PolySize > &   
)
friend

◆ operator*

ePolynomialThermo operator* ( const scalar  ,
const ePolynomialThermo< EquationOfState, PolySize > &   
)
friend

◆ operator==

ePolynomialThermo operator== ( const ePolynomialThermo< EquationOfState, PolySize > &  ,
const ePolynomialThermo< EquationOfState, PolySize > &   
)
friend

◆ operator

Ostream& operator ( Ostream ,
const ePolynomialThermo< EquationOfState, PolySize > &   
)
friend

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