rPolynomial< Specie > Class Template Reference

Reciprocal polynomial equation of state for liquids and solids. More...

Inheritance diagram for rPolynomial< Specie >:
Collaboration diagram for rPolynomial< Specie >:

Public Member Functions

 rPolynomial (const Specie &sp, const coeffList &coeffs)
 Construct from components. More...
 
 rPolynomial (const dictionary &dict)
 Construct from dictionary. More...
 
 rPolynomial (const word &name, const rPolynomial &)
 Construct as named copy. More...
 
autoPtr< rPolynomialclone () const
 Construct and return a clone. More...
 
scalar rho (scalar p, scalar T) const
 Return density [kg/m^3]. More...
 
scalar H (const scalar p, const scalar T) const
 Return enthalpy contribution [J/kg]. More...
 
scalar Cp (scalar p, scalar T) const
 Return Cp contribution [J/(kg K]. More...
 
scalar E (const scalar p, const scalar T) const
 Return internal energy contribution [J/kg]. More...
 
scalar Cv (scalar p, scalar T) const
 Return Cv contribution [J/(kg K]. More...
 
scalar Sp (const scalar p, const scalar T) const
 Return entropy contribution to the integral of Cp/T [J/kg/K]. More...
 
scalar Sv (const scalar p, const scalar T) const
 Return entropy contribution to the integral of Cv/T [J/kg/K]. More...
 
scalar psi (scalar p, scalar T) const
 Return compressibility [s^2/m^2]. More...
 
scalar Z (scalar p, scalar T) const
 Return compression factor []. More...
 
scalar CpMCv (scalar p, scalar T) const
 Return (Cp - Cv) [J/(kg K]. More...
 
void write (Ostream &os) const
 Write to Ostream. More...
 
void operator+= (const rPolynomial &)
 
void operator*= (const scalar)
 

Static Public Member Functions

static autoPtr< rPolynomialNew (const dictionary &dict)
 
static word typeName ()
 Return the instantiated type name. More...
 

Static Public Attributes

static const bool incompressible = false
 Is the equation of state is incompressible i.e. rho != f(p) More...
 
static const bool isochoric = false
 Is the equation of state is isochoric i.e. rho = const. More...
 

Friends

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

Detailed Description

template<class Specie>
class Foam::rPolynomial< Specie >

Reciprocal polynomial equation of state for liquids and solids.

\[ 1/\rho = C_0 + C_1 T + C_2 T^2 - C_3 p - C_4 p T \]

This polynomial for the reciprocal of the density provides a much better fit than the equivalent polynomial for the density and has the advantage that it support coefficient mixing to support liquid and solid mixtures in an efficient manner.

Usage
Property Description
C Density polynomial coefficients

Example of the specification of the equation of state for pure water:

    equationOfState
    {
        C (0.001278 -2.1055e-06 3.9689e-09 4.3772e-13 -2.0225e-16);
    }

Note: This fit is based on the small amount of data which is freely available for the range 20-65degC and 1-100bar.

Source files

Definition at line 79 of file rPolynomial.H.

Constructor & Destructor Documentation

◆ rPolynomial() [1/3]

rPolynomial ( const Specie &  sp,
const coeffList &  coeffs 
)
inline

Construct from components.

Definition at line 32 of file rPolynomialI.H.

References Foam::name(), and rp().

Here is the call graph for this function:

◆ rPolynomial() [2/3]

rPolynomial ( const dictionary dict)

Construct from dictionary.

Definition at line 32 of file rPolynomial.C.

◆ rPolynomial() [3/3]

rPolynomial ( const word name,
const rPolynomial< Specie > &   
)
inline

Construct as named copy.

Member Function Documentation

◆ clone()

Foam::autoPtr< Foam::rPolynomial< Specie > > clone ( ) const
inline

Construct and return a clone.

Definition at line 58 of file rPolynomialI.H.

References rPolynomial< Specie >::New().

Here is the call graph for this function:

◆ New()

Foam::autoPtr< Foam::rPolynomial< Specie > > New ( const dictionary dict)
inlinestatic

Definition at line 67 of file rPolynomialI.H.

References dict.

Referenced by rPolynomial< Specie >::clone().

Here is the caller graph for this function:

◆ typeName()

static word typeName ( )
inlinestatic

Return the instantiated type name.

Definition at line 172 of file rPolynomial.H.

◆ rho()

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

Return density [kg/m^3].

Definition at line 78 of file rPolynomialI.H.

References p.

◆ H()

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

Return enthalpy contribution [J/kg].

Definition at line 85 of file rPolynomialI.H.

◆ Cp()

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

Return Cp contribution [J/(kg K].

Definition at line 92 of file rPolynomialI.H.

◆ E()

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

Return internal energy contribution [J/kg].

Definition at line 99 of file rPolynomialI.H.

◆ Cv()

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

Return Cv contribution [J/(kg K].

Definition at line 106 of file rPolynomialI.H.

◆ Sp()

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

Return entropy contribution to the integral of Cp/T [J/kg/K].

Definition at line 113 of file rPolynomialI.H.

◆ Sv()

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

Return entropy contribution to the integral of Cv/T [J/kg/K].

Definition at line 120 of file rPolynomialI.H.

References NotImplemented.

◆ psi()

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

Return compressibility [s^2/m^2].

Definition at line 128 of file rPolynomialI.H.

References rho, Foam::sqr(), and T.

Here is the call graph for this function:

◆ Z()

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

Return compression factor [].

Definition at line 135 of file rPolynomialI.H.

References R, rho, and T.

◆ CpMCv()

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

Return (Cp - Cv) [J/(kg K].

Definition at line 142 of file rPolynomialI.H.

◆ write()

void write ( Ostream os) const

Write to Ostream.

Definition at line 42 of file rPolynomial.C.

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

Here is the call graph for this function:

◆ operator+=()

void operator+= ( const rPolynomial< Specie > &  )
inline

Definition at line 152 of file rPolynomialI.H.

References Foam::mag(), and Y.

Here is the call graph for this function:

◆ operator*=()

void operator*= ( const scalar  s)
inline

Definition at line 167 of file rPolynomialI.H.

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

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator+

rPolynomial operator+ ( const rPolynomial< Specie > &  ,
const rPolynomial< Specie > &   
)
friend

◆ operator*

rPolynomial operator* ( const scalar  s,
const rPolynomial< Specie > &   
)
friend

◆ operator==

rPolynomial operator== ( const rPolynomial< Specie > &  ,
const rPolynomial< Specie > &   
)
friend

◆ operator

Ostream& operator ( Ostream ,
const rPolynomial< Specie > &   
)
friend

Member Data Documentation

◆ incompressible

const bool incompressible = false
static

Is the equation of state is incompressible i.e. rho != f(p)

Definition at line 181 of file rPolynomial.H.

◆ isochoric

const bool isochoric = false
static

Is the equation of state is isochoric i.e. rho = const.

Definition at line 184 of file rPolynomial.H.


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