Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
WaterPropsIAPWSphi Class Reference

Low level class for the real description of water. More...

#include <WaterPropsIAPWSphi.h>

Public Member Functions

 WaterPropsIAPWSphi ()
 Base constructor. More...
 
doublereal phi (doublereal tau, doublereal delta)
 Calculate the Phi function, which is the base function. More...
 
doublereal phi_d (doublereal tau, doublereal delta)
 Calculate derivative of phi wrt delta. More...
 
doublereal phi_dd (doublereal tau, doublereal delta)
 2nd derivative of phi wrt delta More...
 
doublereal phi_t (doublereal tau, doublereal delta)
 First derivative of phi wrt tau. More...
 
doublereal phi_tt (doublereal tau, doublereal delta)
 Second derivative of phi wrt tau. More...
 
void check1 ()
 Internal check # 1. More...
 
void check2 ()
 Internal check # 2. More...
 
doublereal pressureM_rhoRT (doublereal tau, doublereal delta)
 Calculate the dimensionless pressure at tau and delta;. More...
 
doublereal dimdpdrho (doublereal tau, doublereal delta)
 Dimensionless derivative of p wrt rho at constant T. More...
 
doublereal dimdpdT (doublereal tau, doublereal delta)
 Dimensionless derivative of p wrt T at constant rho. More...
 
doublereal dfind (doublereal p_red, doublereal tau, doublereal deltaGuess)
 This function computes the reduced density, given the reduced pressure and the reduced temperature, tau. More...
 
doublereal gibbs_RT () const
 Calculate the dimensionless Gibbs free energy. More...
 
doublereal enthalpy_RT () const
 Calculate the dimensionless enthalpy, h/RT. More...
 
doublereal entropy_R () const
 Calculate the dimensionless entropy, s/R. More...
 
doublereal intEnergy_RT () const
 Calculate the dimensionless internal energy, u/RT. More...
 
doublereal cv_R () const
 Calculate the dimensionless constant volume heat capacity, Cv/R. More...
 
doublereal cp_R () const
 Calculate the dimensionless constant pressure heat capacity, Cv/R. More...
 
void tdpolycalc (doublereal tau, doublereal delta)
 Calculates internal polynomials in tau and delta. More...
 
doublereal phiR () const
 

Private Member Functions

doublereal phi0 () const
 Calculate Equation 6.5 for phi0, the ideal gas part of the dimensionless Helmholtz free energy. More...
 
doublereal phiR_d () const
 Calculate d_phiR_d(delta), the first derivative of phiR wrt delta. More...
 
doublereal phi0_d () const
 Calculate d_phi0_d(delta), the first derivative of phi0 wrt delta. More...
 
doublereal phiR_dd () const
 Calculate d2_phiR_dd(delta), the second derivative of phiR wrt delta. More...
 
doublereal phi0_dd () const
 Calculate d2_phi0_dd(delta), the second derivative of phi0 wrt delta. More...
 
doublereal phi0_t () const
 Calculate d_phi0/d(tau) More...
 
doublereal phiR_t () const
 Calculate Equation 6.6 for dphiRdtau, the derivative residual part of the dimensionless Helmholtz free energy wrt temperature. More...
 
doublereal phiR_tt () const
 Calculate Equation 6.6 for dphiRdtau, the second derivative residual part of the dimensionless Helmholtz free energy wrt temperature. More...
 
doublereal phi0_tt () const
 Calculate d2_phi0/dtau2. More...
 
doublereal phiR_dt () const
 Calculate the mixed derivative d2_phiR/(dtau ddelta) More...
 
doublereal phi0_dt () const
 Calculate the mixed derivative d2_phi0/(dtau ddelta) More...
 
void intCheck (doublereal tau, doublereal delta)
 Calculates all of the functions at a one point and prints out the result. More...
 

Private Attributes

doublereal TAUp [52]
 Value of internally calculated polynomials of powers of TAU. More...
 
doublereal DELTAp [16]
 Value of internally calculated polynomials of powers of delta. More...
 
doublereal TAUsave
 Last tau that was used to calculate polynomials. More...
 
doublereal TAUsqrt
 sqrt of TAU More...
 
doublereal DELTAsave
 Last delta that was used to calculate polynomials. More...
 

Detailed Description

Low level class for the real description of water.

The reference is W. Wagner, A. Prub, "The IAPWS Formulation 1995 for the Thermodynamic Properties of Ordinary Water Substance for General and Scientific Use," J. Phys. Chem. Ref. Dat, 31, 387, 2002.

Units Note: This class works with reduced units exclusively.

Definition at line 30 of file WaterPropsIAPWSphi.h.

Constructor & Destructor Documentation

Base constructor.

Definition at line 366 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::DELTAp, and WaterPropsIAPWSphi::TAUp.

Member Function Documentation

doublereal phi ( doublereal  tau,
doublereal  delta 
)

Calculate the Phi function, which is the base function.

The phi function is basically the helmholtz free energy Eqn. (6.4) All internal polynomials are recalculated.

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 512 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0(), WaterPropsIAPWSphi::phiR(), and WaterPropsIAPWSphi::tdpolycalc().

Referenced by WaterPropsIAPWS::helmholtzFE(), WaterPropsIAPWSphi::phiR(), WaterPropsIAPWSphi::phiR_d(), WaterPropsIAPWSphi::phiR_dd(), WaterPropsIAPWSphi::phiR_dt(), WaterPropsIAPWSphi::phiR_t(), and WaterPropsIAPWSphi::phiR_tt().

doublereal phi_d ( doublereal  tau,
doublereal  delta 
)

Calculate derivative of phi wrt delta.

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 596 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0_d(), WaterPropsIAPWSphi::phiR_d(), and WaterPropsIAPWSphi::tdpolycalc().

doublereal phi_dd ( doublereal  tau,
doublereal  delta 
)

2nd derivative of phi wrt delta

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 717 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0_dd(), WaterPropsIAPWSphi::phiR_dd(), and WaterPropsIAPWSphi::tdpolycalc().

doublereal phi_t ( doublereal  tau,
doublereal  delta 
)

First derivative of phi wrt tau.

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 818 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0_t(), WaterPropsIAPWSphi::phiR_t(), and WaterPropsIAPWSphi::tdpolycalc().

doublereal phi_tt ( doublereal  tau,
doublereal  delta 
)

Second derivative of phi wrt tau.

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 915 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0_tt(), WaterPropsIAPWSphi::phiR_tt(), and WaterPropsIAPWSphi::tdpolycalc().

void check1 ( )

Internal check # 1.

Definition at line 403 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::intCheck(), Cantera::Rho_c, and Cantera::T_c.

void check2 ( )

Internal check # 2.

Definition at line 413 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::intCheck(), Cantera::Rho_c, and Cantera::T_c.

doublereal pressureM_rhoRT ( doublereal  tau,
doublereal  delta 
)

Calculate the dimensionless pressure at tau and delta;.

pM/(rhoRT) = delta * phi_d() = 1.0 + delta phiR_d()

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

note: this is done so much, we have a separate routine.

Definition at line 604 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phiR_d(), and WaterPropsIAPWSphi::tdpolycalc().

Referenced by WaterPropsIAPWS::pressure().

doublereal dimdpdrho ( doublereal  tau,
doublereal  delta 
)

Dimensionless derivative of p wrt rho at constant T.

dp/drho * 1/RT = (2. delta phi_d() + delta**2 phi_dd()) (1.0 + 2. delta phiR_d() + delta**2 phiR_dd())

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 725 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phiR_d(), WaterPropsIAPWSphi::phiR_dd(), and WaterPropsIAPWSphi::tdpolycalc().

Referenced by WaterPropsIAPWS::dpdrho().

doublereal dimdpdT ( doublereal  tau,
doublereal  delta 
)

Dimensionless derivative of p wrt T at constant rho.

dp/dT * M/(Rho R) = (1.0 + delta phiR_d()

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 733 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phiR_d(), WaterPropsIAPWSphi::phiR_dt(), and WaterPropsIAPWSphi::tdpolycalc().

Referenced by WaterPropsIAPWS::coeffPresExp().

doublereal dfind ( doublereal  p_red,
doublereal  tau,
doublereal  deltaGuess 
)

This function computes the reduced density, given the reduced pressure and the reduced temperature, tau.

It takes an initial guess, deltaGuess. DeltaGuess is important as this is a multivalued function below the critical point.

Parameters
p_redValue of the dimensionless pressure
tauDimensionless temperature = T_c/T
deltaGuessInitial guess for the dimensionless density
Returns
Returns the dimensionless density.

Definition at line 1014 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phiR_d(), WaterPropsIAPWSphi::phiR_dd(), and WaterPropsIAPWSphi::tdpolycalc().

Referenced by WaterPropsIAPWS::density(), and WaterPropsIAPWS::density_const().

doublereal gibbs_RT ( ) const

Calculate the dimensionless Gibbs free energy.

Definition at line 1103 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::DELTAsave, WaterPropsIAPWSphi::phi0(), WaterPropsIAPWSphi::phiR(), and WaterPropsIAPWSphi::phiR_d().

Referenced by WaterPropsIAPWS::corr(), and WaterPropsIAPWS::Gibbs().

doublereal enthalpy_RT ( ) const
doublereal entropy_R ( ) const
doublereal intEnergy_RT ( ) const

Calculate the dimensionless internal energy, u/RT.

Definition at line 1130 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0_t(), WaterPropsIAPWSphi::phiR_t(), and WaterPropsIAPWSphi::TAUsave.

Referenced by WaterPropsIAPWS::intEnergy().

doublereal cv_R ( ) const

Calculate the dimensionless constant volume heat capacity, Cv/R.

Definition at line 1138 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0_tt(), WaterPropsIAPWSphi::phiR_tt(), and WaterPropsIAPWSphi::TAUsave.

Referenced by WaterPropsIAPWSphi::cp_R(), and WaterPropsIAPWS::cv().

doublereal cp_R ( ) const
void tdpolycalc ( doublereal  tau,
doublereal  delta 
)
doublereal phiR ( ) const
doublereal phi0 ( ) const
private

Calculate Equation 6.5 for phi0, the ideal gas part of the dimensionless Helmholtz free energy.

Definition at line 442 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::DELTAsave, and WaterPropsIAPWSphi::TAUsave.

Referenced by WaterPropsIAPWSphi::entropy_R(), WaterPropsIAPWSphi::gibbs_RT(), WaterPropsIAPWSphi::intCheck(), and WaterPropsIAPWSphi::phi().

doublereal phiR_d ( ) const
private
doublereal phi0_d ( ) const
private

Calculate d_phi0_d(delta), the first derivative of phi0 wrt delta.

Definition at line 590 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::DELTAsave.

Referenced by WaterPropsIAPWSphi::intCheck(), and WaterPropsIAPWSphi::phi_d().

doublereal phiR_dd ( ) const
private
doublereal phi0_dd ( ) const
private

Calculate d2_phi0_dd(delta), the second derivative of phi0 wrt delta.

Definition at line 711 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::DELTAsave.

Referenced by WaterPropsIAPWSphi::intCheck(), and WaterPropsIAPWSphi::phi_dd().

doublereal phi0_t ( ) const
private
doublereal phiR_t ( ) const
private
doublereal phiR_tt ( ) const
private

Calculate Equation 6.6 for dphiRdtau, the second derivative residual part of the dimensionless Helmholtz free energy wrt temperature.

Definition at line 839 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::DELTAp, WaterPropsIAPWSphi::DELTAsave, WaterPropsIAPWSphi::phi(), WaterPropsIAPWSphi::TAUp, WaterPropsIAPWSphi::TAUsave, and WaterPropsIAPWSphi::TAUsqrt.

Referenced by WaterPropsIAPWSphi::cv_R(), WaterPropsIAPWSphi::intCheck(), and WaterPropsIAPWSphi::phi_tt().

doublereal phi0_tt ( ) const
private

Calculate d2_phi0/dtau2.

Definition at line 826 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::TAUsave.

Referenced by WaterPropsIAPWSphi::cv_R(), WaterPropsIAPWSphi::intCheck(), and WaterPropsIAPWSphi::phi_tt().

doublereal phiR_dt ( ) const
private
doublereal phi0_dt ( ) const
private

Calculate the mixed derivative d2_phi0/(dtau ddelta)

Definition at line 923 of file WaterPropsIAPWSphi.cpp.

Referenced by WaterPropsIAPWSphi::intCheck().

void intCheck ( doublereal  tau,
doublereal  delta 
)
private

Calculates all of the functions at a one point and prints out the result.

It's used for conducting the internal check.

Parameters
tauDimensionless temperature = T_c/T
deltaDimensionless density = delta = rho / Rho_c

Definition at line 379 of file WaterPropsIAPWSphi.cpp.

References WaterPropsIAPWSphi::phi0(), WaterPropsIAPWSphi::phi0_d(), WaterPropsIAPWSphi::phi0_dd(), WaterPropsIAPWSphi::phi0_dt(), WaterPropsIAPWSphi::phi0_t(), WaterPropsIAPWSphi::phi0_tt(), WaterPropsIAPWSphi::phiR(), WaterPropsIAPWSphi::phiR_d(), WaterPropsIAPWSphi::phiR_dd(), WaterPropsIAPWSphi::phiR_dt(), WaterPropsIAPWSphi::phiR_t(), WaterPropsIAPWSphi::phiR_tt(), and WaterPropsIAPWSphi::tdpolycalc().

Referenced by WaterPropsIAPWSphi::check1(), and WaterPropsIAPWSphi::check2().

Member Data Documentation

doublereal TAUp[52]
private
doublereal DELTAp[16]
private
doublereal TAUsave
private
doublereal TAUsqrt
private
doublereal DELTAsave
private

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