Cantera
2.0
|
Class for calculating the equation of state of water. More...
#include <WaterPropsIAPWS.h>
Public Member Functions | |
WaterPropsIAPWS () | |
Base constructor. | |
WaterPropsIAPWS (const WaterPropsIAPWS &right) | |
Copy constructor. | |
WaterPropsIAPWS & | operator= (const WaterPropsIAPWS &right) |
assignment constructor | |
~WaterPropsIAPWS () | |
destructor | |
void | setState_TR (doublereal temperature, doublereal rho) |
Set the internal state of the object wrt temperature and density. | |
doublereal | helmholtzFE () const |
Calculate the Helmholtz free energy in mks units of J kmol-1 K-1, using the last temperature and density. | |
doublereal | Gibbs () const |
Calculate the Gibbs free energy in mks units of J kmol-1 K-1. | |
doublereal | enthalpy () const |
Calculate the enthalpy in mks units of J kmol-1 using the last temperature and density. | |
doublereal | intEnergy () const |
Calculate the internal energy in mks units of J kmol-1. | |
doublereal | entropy () const |
Calculate the entropy in mks units of J kmol-1 K-1. | |
doublereal | cv () const |
Calculate the constant volume heat capacity in mks units of J kmol-1 K-1 at the last temperature and density. | |
doublereal | cp () const |
Calculate the constant pressure heat capacity in mks units of J kmol-1 K-1 at the last temperature and density. | |
doublereal | molarVolume () const |
Calculate the molar volume (kmol m-3) at the last temperature and density. | |
doublereal | pressure () const |
Calculates the pressure (Pascals), given the current value of the temperature and density. | |
doublereal | density (doublereal temperature, doublereal pressure, int phase=-1, doublereal rhoguess=-1.0) |
Calculates the density given the temperature and the pressure, and a guess at the density. | |
doublereal | density_const (doublereal pressure, int phase=-1, doublereal rhoguess=-1.0) const |
Calculates the density given the temperature and the pressure, and a guess at the density, while not changing the internal state. | |
doublereal | density () const |
Returns the density (kg m-3) | |
doublereal | temperature () const |
Returns the temperature (Kelvin) | |
doublereal | coeffThermExp () const |
Returns the coefficient of thermal expansion. | |
doublereal | coeffPresExp () const |
Returns the isochoric pressure derivative wrt temperature. | |
doublereal | isothermalCompressibility () const |
Returns the coefficient of isothermal compressibility for the state of the object. | |
doublereal | dpdrho () const |
Returns the value of dp / drho at constant T for the state of the object. | |
doublereal | psat_est (doublereal temperature) const |
This function returns an estimated value for the saturation pressure. | |
doublereal | psat (doublereal temperature, int waterState=WATER_LIQUID) |
This function returns the saturation pressure given the temperature as an input parameter, and sets the internal state to the saturated conditions. | |
doublereal | densSpinodalWater () const |
Return the value of the density at the water spinodal point (on the liquid side) for the current temperature. | |
doublereal | densSpinodalSteam () const |
Return the value of the density at the water spinodal point (on the gas side) for the current temperature. | |
int | phaseState (bool checkState=false) const |
Returns the Phase State flag for the current state of the object. | |
doublereal | Tcrit () const |
Returns the critical temperature of water (Kelvin) | |
doublereal | Pcrit () const |
Returns the critical pressure of water (22.064E6 Pa) | |
doublereal | Rhocrit () const |
Return the critical density of water (kg m-3) | |
Private Member Functions | |
void | calcDim (doublereal temperature, doublereal rho) |
Calculate the dimensionless temp and rho and store internally. | |
void | corr (doublereal temperature, doublereal pressure, doublereal &densLiq, doublereal &densGas, doublereal &delGRT) |
Utility routine in the calculation of the saturation pressure. | |
void | corr1 (doublereal temperature, doublereal pressure, doublereal &densLiq, doublereal &densGas, doublereal &pcorr) |
Utility routine in the calculation of the saturation pressure. | |
Private Attributes | |
WaterPropsIAPWSphi * | m_phi |
pointer to the underlying object that does the calculations. | |
doublereal | tau |
Dimensionless temperature. | |
doublereal | delta |
Dimensionless density. | |
int | iState |
Current state of the system. | |
Class for calculating the equation of state 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.
This class provides a very complicated polynomial for the specific helmholtz free energy of water, as a function of temperature and density.
\[ \frac{M\hat{f}(\rho,T)}{R T} = \phi(\delta, \tau) = \phi^o(\delta, \tau) + \phi^r(\delta, \tau) \]
where
\[ \delta = \rho / \rho_c \mbox{\qquad and \qquad} \tau = T_c / T \]
The following constants are assumed
\[ T_c = 647.096\mbox{\ K} \]
\[ \rho_c = 322 \mbox{\ kg\ m$^{-3}$} \]
\[ R/M = 0.46151805 \mbox{\ kJ\ kg$^{-1}$\ K$^{-1}$} \]
The free energy is a unique single-valued function of the temperature and density over its entire range.
Note, the base thermodynamic state for this class is the one used in the steam tables, i.e., the liquid at the triple point for water has the following properties:
rho(273.16, psat) = 999.793 kg m-3
Therefore, to use this class within Cantera, offsets to u() and s() must be used to put the water class onto the same basis as other thermodynamic quantities. For example, in the WaterSSTP class, these offsets are calculated in the following way. The thermodynamic base state for water is set to the NIST basis here by specifying constants EW_Offset and SW_Offset. These offsets are calculated on the fly so that the following properties hold:
The offsets are calculated by actually computing the above quantities and then calculating the correction factor.
This class provides an interface to the WaterPropsIAPWSphi class, which actually calculates the \( \phi^o(\delta, \tau) \) and the \( \phi^r(\delta, \tau) \) polynomials in dimensionless form.
All thermodynamic results from this class are returned in dimensional form. This is because the gas constant (and molecular weight) used within this class is allowed to be potentially different than that used elsewhere in Cantera. Therefore, everything has to be in dimensional units. Note, however, the thermodynamic basis is set to that used in the steam tables. (u = s = 0 for liquid water at the triple point).
This class is not a ThermoPhase. However, it does maintain an internal state of the object that is dependent on temperature and density. The internal state is characterized by an internally stored \( \tau\) and a \( \delta \) value, and an iState value, which indicates whether the point is a liquid, a gas, or a supercritical fluid. Along with that the \( \tau\) and a \( \delta \) values are polynomials of \( \tau\) and a \( \delta \) that are kept by the WaterPropsIAPWSphi class. Therefore, whenever \( \tau\) or \( \delta \) is changed, the function setState() must be called in order for the internal state to be kept up to date.
The class is pretty straightforward. However, one function deserves mention. the density() function calculates the density that is consistent with a particular value of the temperature and pressure. It may therefore be multivalued or potentially there may be no answer from this function. It therefore takes a phase guess and a density guess as optional parameters. If no guesses are supplied to density(), a gas phase guess is assumed. This may or may not be what is wanted. Therefore, density() should usually at least be supplied with a phase guess so that it may manufacture an appropriate density guess. density() manufactures the initial density guess, nondimensionalizes everything, and then calls WaterPropsIAPWSphi::dfind(), which does the iterative calculation to find the density condition that matches the desired input pressure.
The phase guess defines are located in the .h file. they are
There are only three functions which actually change the value of the internal state of this object after it's been instantiated
The setState_TR() is the main function that sets the temperature and rho value. The density() function serves as a setState_TP() function, in that it sets internal state to a temperature and pressure. However, note that this is potentially multivalued. Therefore, we need to supply in addition a phase guess and a rho guess to the input temperature and pressure. The psat() function sets the internal state to the saturated liquid or saturated gas state, depending on the waterState parameter.
Because the underlying object WaterPropsIAPWSphi is privately held, you can be sure that the underlying state of this object doesn't change except due to the three function calls listed above.
Definition at line 158 of file WaterPropsIAPWS.h.
WaterPropsIAPWS | ( | ) |
Base constructor.
Definition at line 43 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::m_phi.
WaterPropsIAPWS | ( | const WaterPropsIAPWS & | right | ) |
Copy constructor.
right | Object to be copied |
Definition at line 56 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::m_phi, WaterPropsIAPWS::tau, and WaterPropsIAPWSphi::tdpolycalc().
~WaterPropsIAPWS | ( | ) |
WaterPropsIAPWS & operator= | ( | const WaterPropsIAPWS & | right | ) |
assignment constructor
right | Object to be copied |
Definition at line 70 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::iState, WaterPropsIAPWS::m_phi, WaterPropsIAPWS::tau, and WaterPropsIAPWSphi::tdpolycalc().
void setState_TR | ( | doublereal | temperature, |
doublereal | rho | ||
) |
Set the internal state of the object wrt temperature and density.
temperature | temperature (kelvin) |
rho | density (kg m-3) |
Definition at line 829 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::calcDim(), WaterPropsIAPWS::delta, WaterPropsIAPWS::m_phi, WaterPropsIAPWS::tau, and WaterPropsIAPWSphi::tdpolycalc().
Referenced by WaterPropsIAPWS::corr(), WaterPropsIAPWS::corr1(), PDSS_Water::cp_R_ref(), WaterPropsIAPWS::density(), WaterSSTP::dthermalExpansionCoeffdT(), PDSS_Water::dthermalExpansionCoeffdT(), PDSS_Water::enthalpy_RT_ref(), PDSS_Water::entropy_R_ref(), WaterSSTP::getCp_R_ref(), WaterSSTP::getEntropy_R_ref(), WaterSSTP::getGibbs_RT_ref(), PDSS_Water::gibbs_RT_ref(), PDSS_Water::molarVolume_ref(), WaterPropsIAPWS::psat(), WaterSSTP::satPressure(), PDSS_Water::setDensity(), WaterSSTP::setDensity(), PDSS_Water::setState_TR(), PDSS_Water::setTemperature(), and WaterSSTP::setTemperature().
doublereal helmholtzFE | ( | ) | const |
Calculate the Helmholtz free energy in mks units of J kmol-1 K-1, using the last temperature and density.
Definition at line 117 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::m_phi, WaterPropsIAPWSphi::phi(), Cantera::Rgas, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
doublereal Gibbs | ( | ) | const |
Calculate the Gibbs free energy in mks units of J kmol-1 K-1.
using the last temperature and density
Definition at line 427 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWSphi::gibbs_RT(), WaterPropsIAPWS::m_phi, Cantera::Rgas, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
Referenced by WaterSSTP::getGibbs_RT(), WaterSSTP::getGibbs_RT_ref(), WaterSSTP::getStandardChemPotentials(), and PDSS_Water::gibbs_mole().
doublereal enthalpy | ( | ) | const |
Calculate the enthalpy in mks units of J kmol-1 using the last temperature and density.
Definition at line 839 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWSphi::enthalpy_RT(), WaterPropsIAPWS::m_phi, Cantera::Rgas, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
Referenced by PDSS_Water::enthalpy_mole(), PDSS_Water::enthalpy_RT_ref(), WaterSSTP::getEnthalpy_RT(), WaterSSTP::getEnthalpy_RT_ref(), and PDSS_Water::gibbs_RT_ref().
doublereal intEnergy | ( | ) | const |
Calculate the internal energy in mks units of J kmol-1.
Definition at line 850 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWSphi::intEnergy_RT(), WaterPropsIAPWS::m_phi, Cantera::Rgas, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
Referenced by WaterSSTP::getIntEnergy_RT(), and PDSS_Water::intEnergy_mole().
doublereal entropy | ( | ) | const |
Calculate the entropy in mks units of J kmol-1 K-1.
Definition at line 861 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWSphi::entropy_R(), WaterPropsIAPWS::m_phi, and Cantera::Rgas.
Referenced by PDSS_Water::entropy_mole(), PDSS_Water::entropy_R_ref(), WaterSSTP::getEntropy_R(), and WaterSSTP::getEntropy_R_ref().
doublereal cv | ( | ) | const |
Calculate the constant volume heat capacity in mks units of J kmol-1 K-1 at the last temperature and density.
Definition at line 871 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWSphi::cv_R(), WaterPropsIAPWS::m_phi, and Cantera::Rgas.
Referenced by WaterSSTP::cv_mole(), and PDSS_Water::cv_mole().
doublereal cp | ( | ) | const |
Calculate the constant pressure heat capacity in mks units of J kmol-1 K-1 at the last temperature and density.
Definition at line 879 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWSphi::cp_R(), WaterPropsIAPWS::m_phi, and Cantera::Rgas.
Referenced by PDSS_Water::cp_mole(), PDSS_Water::cp_R_ref(), WaterSSTP::getCp_R(), and WaterSSTP::getCp_R_ref().
doublereal molarVolume | ( | ) | const |
Calculate the molar volume (kmol m-3) at the last temperature and density.
Definition at line 887 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, Cantera::M_water, and Cantera::Rho_c.
Referenced by PDSS_Water::molarVolume(), and PDSS_Water::molarVolume_ref().
doublereal pressure | ( | ) | const |
Calculates the pressure (Pascals), given the current value of the temperature and density.
The density is an independent variable in the underlying equation of state
Definition at line 131 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::m_phi, Cantera::M_water, WaterPropsIAPWSphi::pressureM_rhoRT(), Cantera::Rgas, Cantera::Rho_c, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
Referenced by WaterSSTP::pressure(), and PDSS_Water::pressure().
doublereal density | ( | doublereal | temperature, |
doublereal | pressure, | ||
int | phase = -1 , |
||
doublereal | rhoguess = -1.0 |
||
) |
Calculates the density given the temperature and the pressure, and a guess at the density.
Sets the internal state.
Note, below T_c, this is a multivalued function.
The density() function calculates the density that is consistent with a particular value of the temperature and pressure. It may therefore be multivalued or potentially there may be no answer from this function. It therefore takes a phase guess and a density guess as optional parameters. If no guesses are supplied to density(), a gas phase guess is assumed. This may or may not be what is wanted. Therefore, density() should usually at least be supplied with a phase guess so that it may manufacture an appropriate density guess. density() manufactures the initial density guess, nondimensionalizes everything, and then calls WaterPropsIAPWSphi::dfind(), which does the iterative calculation to find the density condition that matches the desired input pressure.
temperature,: | Kelvin |
pressure | : Pressure in Pascals (Newton/m**2) |
phase | : guessed phase of water : -1: no guessed phase |
rhoguess | : guessed density of the water : -1.0 no guessed density |
Definition at line 154 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWSphi::dfind(), Cantera::int2str(), WaterPropsIAPWS::m_phi, Cantera::M_water, Cantera::Rgas, Cantera::Rho_c, WaterPropsIAPWS::setState_TR(), Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
Referenced by WaterProps::coeffThermalExp_IAPWS(), PDSS_Water::constructSet(), PDSS_Water::cp_R_ref(), WaterProps::density_IAPWS(), WaterSSTP::dthermalExpansionCoeffdT(), PDSS_Water::dthermalExpansionCoeffdT(), PDSS_Water::enthalpy_RT_ref(), PDSS_Water::entropy_R_ref(), WaterSSTP::getCp_R_ref(), WaterSSTP::getEnthalpy_RT_ref(), WaterSSTP::getEntropy_R_ref(), WaterSSTP::getGibbs_RT_ref(), WaterSSTP::getStandardVolumes_ref(), PDSS_Water::gibbs_RT_ref(), WaterSSTP::initThermoXML(), WaterProps::isothermalCompressibility_IAPWS(), PDSS_Water::molarVolume_ref(), PDSS_Water::satPressure(), WaterSSTP::setPressure(), PDSS_Water::setPressure(), WaterProps::thermalConductivityWater(), and WaterProps::viscosityWater().
doublereal density_const | ( | doublereal | pressure, |
int | phase = -1 , |
||
doublereal | rhoguess = -1.0 |
||
) | const |
Calculates the density given the temperature and the pressure, and a guess at the density, while not changing the internal state.
Note, below T_c, this is a multivalued function.
The density() function calculates the density that is consistent with a particular value of the temperature and pressure. It may therefore be multivalued or potentially there may be no answer from this function. It therefore takes a phase guess and a density guess as optional parameters. If no guesses are
supplied to density(), a gas phase guess is assumed. This may or may not be what is wanted. Therefore, density() should usually at least be supplied with a phase guess so that it may manufacture an appropriate density guess. density() manufactures the initial density guess, nondimensionalizes everything, and then calls WaterPropsIAPWSphi::dfind(), which does the iterative calculation to find the density condition that matches the desired input pressure.
pressure | : Pressure in Pascals (Newton/m**2) |
phase | : guessed phase of water : -1: no guessed phase |
rhoguess | : guessed density of the water : -1.0 no guessed density |
Definition at line 240 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWSphi::dfind(), Cantera::int2str(), WaterPropsIAPWS::m_phi, Cantera::M_water, Cantera::Rgas, Cantera::Rho_c, Cantera::T_c, WaterPropsIAPWS::tau, WaterPropsIAPWSphi::tdpolycalc(), and WaterPropsIAPWS::temperature().
Referenced by WaterPropsIAPWS::densSpinodalSteam(), and WaterPropsIAPWS::densSpinodalWater().
doublereal density | ( | ) | const |
Returns the density (kg m-3)
The density is an independent variable in the underlying equation of state
Definition at line 308 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, and Cantera::Rho_c.
Referenced by WaterPropsIAPWS::corr(), WaterPropsIAPWS::corr1(), and WaterPropsIAPWS::psat().
doublereal temperature | ( | ) | const |
Returns the temperature (Kelvin)
Definition at line 317 of file WaterPropsIAPWS.cpp.
References Cantera::T_c, and WaterPropsIAPWS::tau.
Referenced by WaterPropsIAPWS::calcDim(), WaterPropsIAPWS::density(), WaterPropsIAPWS::density_const(), WaterPropsIAPWS::densSpinodalSteam(), WaterPropsIAPWS::densSpinodalWater(), WaterPropsIAPWS::dpdrho(), WaterPropsIAPWS::enthalpy(), WaterPropsIAPWS::Gibbs(), WaterPropsIAPWS::helmholtzFE(), WaterPropsIAPWS::intEnergy(), WaterPropsIAPWS::pressure(), WaterProps::thermalConductivityWater(), and WaterProps::viscosityWater().
doublereal coeffThermExp | ( | ) | const |
Returns the coefficient of thermal expansion.
alpha = d (ln V) / dT at constant P.
Definition at line 417 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::coeffPresExp(), WaterPropsIAPWS::delta, WaterPropsIAPWS::isothermalCompressibility(), Cantera::M_water, Cantera::Rgas, and Cantera::Rho_c.
Referenced by WaterProps::coeffThermalExp_IAPWS(), WaterSSTP::dthermalExpansionCoeffdT(), PDSS_Water::dthermalExpansionCoeffdT(), WaterSSTP::thermalExpansionCoeff(), and PDSS_Water::thermalExpansionCoeff().
doublereal coeffPresExp | ( | ) | const |
Returns the isochoric pressure derivative wrt temperature.
beta = M / (rho * Rgas) (d (pressure) / dT) at constant rho
Note for ideal gases this is equal to one.
beta = delta (phi0_d() + phiR_d())
Definition at line 405 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWSphi::dimdpdT(), WaterPropsIAPWS::m_phi, and WaterPropsIAPWS::tau.
Referenced by WaterPropsIAPWS::coeffThermExp(), and WaterProps::thermalConductivityWater().
doublereal isothermalCompressibility | ( | ) | const |
Returns the coefficient of isothermal compressibility for the state of the object.
kappa = - d (ln V) / dP at constant T.
units - 1/Pascal
Definition at line 374 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::dpdrho(), and Cantera::Rho_c.
Referenced by WaterPropsIAPWS::coeffThermExp(), WaterSSTP::isothermalCompressibility(), PDSS_Water::isothermalCompressibility(), WaterProps::isothermalCompressibility_IAPWS(), and WaterPropsIAPWS::phaseState().
doublereal dpdrho | ( | ) | const |
Returns the value of dp / drho at constant T for the state of the object.
units - Joules / kg
Definition at line 388 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWSphi::dimdpdrho(), WaterPropsIAPWS::m_phi, Cantera::M_water, Cantera::Rgas, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
Referenced by WaterPropsIAPWS::densSpinodalSteam(), WaterPropsIAPWS::densSpinodalWater(), WaterPropsIAPWS::isothermalCompressibility(), WaterProps::thermalConductivityWater(), and WaterProps::viscosityWater().
doublereal psat_est | ( | doublereal | temperature | ) | const |
This function returns an estimated value for the saturation pressure.
It does this via a polynomial fit of the vapor pressure curve. units = (Pascals)
temperature | Input temperature (Kelvin) |
Definition at line 333 of file WaterPropsIAPWS.cpp.
Referenced by WaterPropsIAPWS::densSpinodalSteam(), WaterPropsIAPWS::densSpinodalWater(), PDSS_Water::pref_safe(), and WaterPropsIAPWS::psat().
doublereal psat | ( | doublereal | temperature, |
int | waterState = WATER_LIQUID |
||
) |
This function returns the saturation pressure given the temperature as an input parameter, and sets the internal state to the saturated conditions.
Note this function will return the saturation pressure, given the temperature. It will then set the state of the system to the saturation condition. The input parameter waterState is used to either specify the liquid state or the gas state at the desired temperature and saturated pressure.
If the input temperature, T, is above T_c, this routine will set the internal state to T and the pressure to P_c. Then, return P_c.
temperature | input temperature (kelvin) |
waterState | integer specifying the water state |
Definition at line 532 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::corr(), WaterPropsIAPWS::corr1(), WaterPropsIAPWS::density(), Cantera::int2str(), Cantera::M_water, Cantera::P_c, WaterPropsIAPWS::psat_est(), Cantera::Rgas, WaterPropsIAPWS::setState_TR(), and Cantera::T_c.
Referenced by WaterProps::satPressure(), PDSS_Water::satPressure(), and WaterSSTP::satPressure().
doublereal densSpinodalWater | ( | ) | const |
Return the value of the density at the water spinodal point (on the liquid side) for the current temperature.
Definition at line 634 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::density_const(), WaterPropsIAPWS::dpdrho(), WaterPropsIAPWS::m_phi, ckr::max(), ckr::min(), WaterPropsIAPWS::psat_est(), Cantera::Rho_c, Cantera::T_c, WaterPropsIAPWS::tau, WaterPropsIAPWSphi::tdpolycalc(), and WaterPropsIAPWS::temperature().
doublereal densSpinodalSteam | ( | ) | const |
Return the value of the density at the water spinodal point (on the gas side) for the current temperature.
Definition at line 731 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::density_const(), WaterPropsIAPWS::dpdrho(), WaterPropsIAPWS::m_phi, ckr::max(), ckr::min(), WaterPropsIAPWS::psat_est(), Cantera::Rho_c, Cantera::T_c, WaterPropsIAPWS::tau, WaterPropsIAPWSphi::tdpolycalc(), and WaterPropsIAPWS::temperature().
int phaseState | ( | bool | checkState = false | ) | const |
Returns the Phase State flag for the current state of the object.
checkState | If true, this function does a complete check to see where in parameters space we are |
There are three values: WATER_GAS below the critical temperature but below the critical density WATER_LIQUID below the critical temperature but above the critical density WATER_SUPERCRIT above the critical temperature
Definition at line 584 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::isothermalCompressibility(), WaterPropsIAPWS::iState, WaterPropsIAPWS::m_phi, Cantera::M_water, Cantera::OneAtm, Cantera::Rgas, Cantera::Rho_c, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWSphi::tdpolycalc().
Referenced by PDSS_Water::setPressure().
|
inline |
Returns the critical temperature of water (Kelvin)
This is hard coded to the value 647.096 Kelvin
Definition at line 403 of file WaterPropsIAPWS.h.
Referenced by WaterSSTP::critTemperature(), PDSS_Water::critTemperature(), PDSS_Water::setPressure(), and WaterSSTP::vaporFraction().
|
inline |
Returns the critical pressure of water (22.064E6 Pa)
This is hard coded to the value of 22.064E6 pascals
Definition at line 411 of file WaterPropsIAPWS.h.
Referenced by WaterSSTP::critPressure(), PDSS_Water::critPressure(), and PDSS_Water::pref_safe().
|
inline |
Return the critical density of water (kg m-3)
This is equal to 322 kg m-3.
Definition at line 419 of file WaterPropsIAPWS.h.
Referenced by WaterSSTP::critDensity(), PDSS_Water::critDensity(), WaterSSTP::getCp_R_ref(), WaterSSTP::getEnthalpy_RT_ref(), WaterSSTP::getEntropy_R_ref(), WaterSSTP::getGibbs_RT_ref(), WaterSSTP::getStandardVolumes_ref(), WaterSSTP::setPressure(), and WaterSSTP::vaporFraction().
|
private |
Calculate the dimensionless temp and rho and store internally.
Private routine
temperature | input temperature (kelvin) |
rho | density in kg m-3 |
Definition at line 97 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::delta, WaterPropsIAPWS::iState, Cantera::Rho_c, Cantera::T_c, WaterPropsIAPWS::tau, and WaterPropsIAPWS::temperature().
Referenced by WaterPropsIAPWS::setState_TR().
|
private |
Utility routine in the calculation of the saturation pressure.
Private routine
temperature | temperature (kelvin) |
pressure | pressure (Pascal) |
densLiq | Output density of liquid |
densGas | output Density of gas |
delGRT | output delGRT |
Definition at line 449 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::density(), Cantera::fp2str(), WaterPropsIAPWSphi::gibbs_RT(), WaterPropsIAPWS::m_phi, and WaterPropsIAPWS::setState_TR().
Referenced by WaterPropsIAPWS::psat().
|
private |
Utility routine in the calculation of the saturation pressure.
Private routine
temperature | temperature (kelvin) |
pressure | pressure (Pascal) |
densLiq | Output density of liquid |
densGas | output Density of gas |
pcorr | output corrected pressure |
Definition at line 485 of file WaterPropsIAPWS.cpp.
References WaterPropsIAPWS::density(), Cantera::fp2str(), WaterPropsIAPWS::m_phi, Cantera::M_water, WaterPropsIAPWSphi::phiR(), Cantera::Rgas, and WaterPropsIAPWS::setState_TR().
Referenced by WaterPropsIAPWS::psat().
|
private |
pointer to the underlying object that does the calculations.
Definition at line 462 of file WaterPropsIAPWS.h.
Referenced by WaterPropsIAPWS::coeffPresExp(), WaterPropsIAPWS::corr(), WaterPropsIAPWS::corr1(), WaterPropsIAPWS::cp(), WaterPropsIAPWS::cv(), WaterPropsIAPWS::density(), WaterPropsIAPWS::density_const(), WaterPropsIAPWS::densSpinodalSteam(), WaterPropsIAPWS::densSpinodalWater(), WaterPropsIAPWS::dpdrho(), WaterPropsIAPWS::enthalpy(), WaterPropsIAPWS::entropy(), WaterPropsIAPWS::Gibbs(), WaterPropsIAPWS::helmholtzFE(), WaterPropsIAPWS::intEnergy(), WaterPropsIAPWS::operator=(), WaterPropsIAPWS::phaseState(), WaterPropsIAPWS::pressure(), WaterPropsIAPWS::setState_TR(), WaterPropsIAPWS::WaterPropsIAPWS(), and WaterPropsIAPWS::~WaterPropsIAPWS().
|
private |
Dimensionless temperature.
tau = T_C / T
Definition at line 468 of file WaterPropsIAPWS.h.
Referenced by WaterPropsIAPWS::calcDim(), WaterPropsIAPWS::coeffPresExp(), WaterPropsIAPWS::density(), WaterPropsIAPWS::density_const(), WaterPropsIAPWS::densSpinodalSteam(), WaterPropsIAPWS::densSpinodalWater(), WaterPropsIAPWS::dpdrho(), WaterPropsIAPWS::enthalpy(), WaterPropsIAPWS::Gibbs(), WaterPropsIAPWS::helmholtzFE(), WaterPropsIAPWS::intEnergy(), WaterPropsIAPWS::operator=(), WaterPropsIAPWS::phaseState(), WaterPropsIAPWS::pressure(), WaterPropsIAPWS::setState_TR(), WaterPropsIAPWS::temperature(), and WaterPropsIAPWS::WaterPropsIAPWS().
|
mutableprivate |
Dimensionless density.
delta = rho / rho_c
Definition at line 474 of file WaterPropsIAPWS.h.
Referenced by WaterPropsIAPWS::calcDim(), WaterPropsIAPWS::coeffPresExp(), WaterPropsIAPWS::coeffThermExp(), WaterPropsIAPWS::density(), WaterPropsIAPWS::density_const(), WaterPropsIAPWS::densSpinodalSteam(), WaterPropsIAPWS::densSpinodalWater(), WaterPropsIAPWS::dpdrho(), WaterPropsIAPWS::helmholtzFE(), WaterPropsIAPWS::isothermalCompressibility(), WaterPropsIAPWS::molarVolume(), WaterPropsIAPWS::operator=(), WaterPropsIAPWS::phaseState(), WaterPropsIAPWS::pressure(), WaterPropsIAPWS::setState_TR(), and WaterPropsIAPWS::WaterPropsIAPWS().
|
mutableprivate |
Current state of the system.
Definition at line 477 of file WaterPropsIAPWS.h.
Referenced by WaterPropsIAPWS::calcDim(), WaterPropsIAPWS::operator=(), and WaterPropsIAPWS::phaseState().