Cantera
3.0.0
|
Class for the liquid water pressure dependent standard state. More...
#include <PDSS_Water.h>
Class for the liquid water pressure dependent standard state.
Notes:
Base state for thermodynamic properties:
The thermodynamic base state for water is set to the NIST basis here by specifying constants EW_Offset and SW_Offset. These offsets are specified so that the following properties hold:
Delta_Hfo_gas(298.15) = -241.826 kJ/gmol So_gas(298.15, 1bar) = 188.835 J/gmolK
The "o" here refers to a hypothetical ideal gas state. The way we achieve this in practice is to evaluate at a very low pressure and then use the theoretical ideal gas results to scale up to higher pressures:
Ho(1bar) = H(P0)
So(1bar) = S(P0) + RT ln(1bar/P0)
The offsets used in the steam tables are different than NIST's. They assume u_liq(TP) = 0.0, s_liq(TP) = 0.0, where TP is the triple point conditions.
Definition at line 49 of file PDSS_Water.h.
Public Member Functions | |
PDSS_Water () | |
Default constructor. | |
Molar Thermodynamic Properties of the Species Standard State | |
double | enthalpy_mole () const override |
Return the molar enthalpy in units of J kmol-1. | |
double | intEnergy_mole () const override |
Return the molar internal Energy in units of J kmol-1. | |
double | entropy_mole () const override |
Return the molar entropy in units of J kmol-1 K-1. | |
double | gibbs_mole () const override |
Return the molar Gibbs free energy in units of J kmol-1. | |
double | cp_mole () const override |
Return the molar const pressure heat capacity in units of J kmol-1 K-1. | |
double | cv_mole () const override |
Return the molar const volume heat capacity in units of J kmol-1 K-1. | |
double | molarVolume () const override |
Return the molar volume at standard state. | |
double | density () const override |
Return the standard state density at standard state. | |
Properties of the Reference State of the Species in the Solution | |
double | pref_safe (double temp) const |
Returns a reference pressure value that can be safely calculated by the underlying real equation of state for water. | |
double | gibbs_RT_ref () const override |
Return the molar Gibbs free energy divided by RT at reference pressure. | |
double | enthalpy_RT_ref () const override |
Return the molar enthalpy divided by RT at reference pressure. | |
double | entropy_R_ref () const override |
Return the molar entropy divided by R at reference pressure. | |
double | cp_R_ref () const override |
Return the molar heat capacity divided by R at reference pressure. | |
double | molarVolume_ref () const override |
Return the molar volume at reference pressure. | |
Mechanical Equation of State Properties | |
double | pressure () const override |
Returns the pressure (Pa) | |
void | setPressure (double pres) override |
Sets the pressure in the object. | |
void | setTemperature (double temp) override |
Set the internal temperature. | |
void | setState_TP (double temp, double pres) override |
Set the internal temperature and pressure. | |
void | setState_TR (double temp, double rho) override |
Set the internal temperature and density. | |
void | setDensity (double dens) |
Set the density of the water phase. | |
double | thermalExpansionCoeff () const override |
Return the volumetric thermal expansion coefficient. Units: 1/K. | |
double | dthermalExpansionCoeffdT () const |
Return the derivative of the volumetric thermal expansion coefficient. | |
double | isothermalCompressibility () const |
Returns the isothermal compressibility. Units: 1/Pa. | |
Miscellaneous properties of the standard state | |
double | critTemperature () const override |
critical temperature | |
double | critPressure () const override |
critical pressure | |
double | critDensity () const override |
critical density | |
double | satPressure (double t) override |
saturation pressure | |
WaterPropsIAPWS * | getWater () |
Get a pointer to a changeable WaterPropsIAPWS object. | |
WaterProps * | getWaterProps () |
Get a pointer to a changeable WaterPropsIAPWS object. | |
void | getParameters (AnyMap &eosNode) const override |
Store the parameters needed to reconstruct a copy of this PDSS object. | |
Public Member Functions inherited from PDSS_Molar | |
double | enthalpy_RT () const override |
Return the standard state molar enthalpy divided by RT. | |
double | entropy_R () const override |
Return the standard state entropy divided by RT. | |
double | gibbs_RT () const override |
Return the molar Gibbs free energy divided by RT. | |
double | cp_R () const override |
Return the molar const pressure heat capacity divided by RT. | |
Public Member Functions inherited from PDSS | |
virtual void | setTemperature (double temp) |
Set the internal temperature. | |
virtual double | temperature () const |
Return the current stored temperature. | |
virtual void | setState_TP (double temp, double pres) |
Set the internal temperature and pressure. | |
virtual void | setState_TR (double temp, double rho) |
Set the internal temperature and density. | |
virtual double | critTemperature () const |
critical temperature | |
virtual double | critPressure () const |
critical pressure | |
virtual double | critDensity () const |
critical density | |
virtual double | satPressure (double T) |
saturation pressure | |
double | molecularWeight () const |
Return the molecular weight of the species in units of kg kmol-1. | |
void | setMolecularWeight (double mw) |
Set the molecular weight of the species. | |
PDSS ()=default | |
Default Constructor. | |
PDSS (const PDSS &b)=delete | |
PDSS & | operator= (const PDSS &b)=delete |
virtual double | enthalpyDelp_mole () const |
Get the difference in the standard state enthalpy between the current pressure and the reference pressure, p0. | |
virtual double | entropyDelp_mole () const |
Get the difference in the standard state entropy between the current pressure and the reference pressure, p0. | |
virtual double | gibbsDelp_mole () const |
Get the difference in the standard state Gibbs free energy between the current pressure and the reference pressure, p0. | |
virtual double | cpDelp_mole () const |
Get the difference in standard state heat capacity between the current pressure and the reference pressure, p0. | |
double | refPressure () const |
Return the reference pressure for this phase. | |
double | minTemp () const |
return the minimum temperature | |
double | maxTemp () const |
return the minimum temperature | |
void | setReferenceThermo (shared_ptr< SpeciesThermoInterpType > stit) |
Set the SpeciesThermoInterpType object used to calculate reference state properties. | |
virtual void | setParent (VPStandardStateTP *phase, size_t k) |
Set the parent VPStandardStateTP object of this PDSS object. | |
virtual void | initThermo () |
Initialization routine. | |
void | setParameters (const AnyMap &node) |
Set model parameters from an AnyMap phase description, for example from the equation-of-state field of a species definition. | |
virtual void | reportParams (size_t &kindex, int &type, double *const c, double &minTemp, double &maxTemp, double &refPressure) const |
This utility function reports back the type of parameterization and all of the parameters for the species, index. | |
Public Attributes | |
bool | m_allowGasPhase = false |
Since this phase represents a liquid phase, it's an error to return a gas-phase answer. | |
Private Attributes | |
WaterPropsIAPWS | m_sub |
Pointer to the WaterPropsIAPWS object, which does the actual calculations for the real equation of state. | |
WaterProps | m_waterProps |
Pointer to the WaterProps object. | |
double | m_dens |
State of the system - density. | |
int | m_iState = WATER_LIQUID |
state of the fluid | |
double | EW_Offset = 0.0 |
Offset constants used to obtain consistency with the NIST database. | |
double | SW_Offset = 0.0 |
Offset constant used to obtain consistency with NIST convention. | |
Additional Inherited Members | |
Protected Attributes inherited from PDSS | |
double | m_temp = -1.0 |
Current temperature used by the PDSS object. | |
double | m_pres = -1.0 |
State of the system - pressure. | |
double | m_p0 = -1.0 |
Reference state pressure of the species. | |
double | m_minTemp = -1.0 |
Minimum temperature. | |
double | m_maxTemp = 10000.0 |
Maximum temperature. | |
double | m_mw = 0.0 |
Molecular Weight of the species. | |
AnyMap | m_input |
Input data supplied via setParameters. | |
shared_ptr< SpeciesThermoInterpType > | m_spthermo |
Pointer to the species thermodynamic property manager. | |
PDSS_Water | ( | ) |
Default constructor.
Definition at line 16 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar enthalpy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 52 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar internal Energy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 57 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar entropy in units of J kmol-1 K-1.
Reimplemented from PDSS.
Definition at line 62 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar Gibbs free energy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 67 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
Reimplemented from PDSS.
Definition at line 72 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar const volume heat capacity in units of J kmol-1 K-1.
Reimplemented from PDSS.
Definition at line 77 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar volume at standard state.
Reimplemented from PDSS.
Definition at line 82 of file PDSS_Water.cpp.
|
overridevirtual |
Return the standard state density at standard state.
Reimplemented from PDSS.
Definition at line 207 of file PDSS_Water.cpp.
double pref_safe | ( | double | temp | ) | const |
Returns a reference pressure value that can be safely calculated by the underlying real equation of state for water.
Note, this function is needed because trying to calculate a one atm value around the critical point will cause a crash
temp | Temperature (Kelvin) |
Definition at line 232 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar Gibbs free energy divided by RT at reference pressure.
Reimplemented from PDSS.
Definition at line 87 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar enthalpy divided by RT at reference pressure.
Reimplemented from PDSS.
Definition at line 95 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar entropy divided by R at reference pressure.
Reimplemented from PDSS.
Definition at line 103 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar heat capacity divided by R at reference pressure.
Reimplemented from PDSS.
Definition at line 111 of file PDSS_Water.cpp.
|
overridevirtual |
Return the molar volume at reference pressure.
Reimplemented from PDSS.
Definition at line 119 of file PDSS_Water.cpp.
|
overridevirtual |
|
overridevirtual |
Sets the pressure in the object.
Currently, this sets the pressure in the PDSS object. It is indeterminant what happens to the owning VPStandardStateTP object.
pres | Pressure to be set (Pascal) |
Reimplemented from PDSS.
Definition at line 133 of file PDSS_Water.cpp.
|
overridevirtual |
Set the internal temperature.
temp | Temperature (Kelvin) |
Reimplemented from PDSS.
Definition at line 212 of file PDSS_Water.cpp.
|
overridevirtual |
Set the internal temperature and pressure.
temp | Temperature (Kelvin) |
pres | pressure (Pascals) |
Reimplemented from PDSS.
Definition at line 218 of file PDSS_Water.cpp.
|
overridevirtual |
Set the internal temperature and density.
temp | Temperature (Kelvin) |
rho | Density (kg m-3) |
Reimplemented from PDSS.
Definition at line 224 of file PDSS_Water.cpp.
void setDensity | ( | double | dens | ) |
Set the density of the water phase.
This is a non-virtual function because it specific to this object.
dens | Density of the water (kg/m3) |
Definition at line 201 of file PDSS_Water.cpp.
|
overridevirtual |
Return the volumetric thermal expansion coefficient. Units: 1/K.
The thermal expansion coefficient is defined as
\[ \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P \]
Reimplemented from PDSS.
Definition at line 160 of file PDSS_Water.cpp.
double dthermalExpansionCoeffdT | ( | ) | const |
Return the derivative of the volumetric thermal expansion coefficient.
Units: 1/K2.
The thermal expansion coefficient is defined as
\[ \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P \]
Definition at line 165 of file PDSS_Water.cpp.
double isothermalCompressibility | ( | ) | const |
Returns the isothermal compressibility. Units: 1/Pa.
The isothermal compressibility is defined as
\[ \kappa_T = -\frac{1}{v}\left(\frac{\partial v}{\partial P}\right)_T \]
or
\[ \kappa_T = \frac{1}{\rho}\left(\frac{\partial \rho}{\partial P}\right)_T \]
Definition at line 181 of file PDSS_Water.cpp.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
saturation pressure
T | Temperature (Kelvin) |
Reimplemented from PDSS.
Definition at line 245 of file PDSS_Water.cpp.
|
inline |
Get a pointer to a changeable WaterPropsIAPWS object.
Definition at line 142 of file PDSS_Water.h.
|
inline |
Get a pointer to a changeable WaterPropsIAPWS object.
Definition at line 147 of file PDSS_Water.h.
|
overridevirtual |
Store the parameters needed to reconstruct a copy of this PDSS object.
Reimplemented from PDSS.
Definition at line 253 of file PDSS_Water.cpp.
|
mutableprivate |
Pointer to the WaterPropsIAPWS object, which does the actual calculations for the real equation of state.
This object owns m_sub
Definition at line 161 of file PDSS_Water.h.
|
private |
Pointer to the WaterProps object.
This class is used to house several approximation routines for properties of water.
This object owns m_waterProps, and the WaterPropsIAPWS object used by WaterProps is m_sub, which is defined above.
Definition at line 171 of file PDSS_Water.h.
|
private |
State of the system - density.
Density is the independent variable here, but it's hidden behind the object's interface.
Definition at line 178 of file PDSS_Water.h.
|
private |
state of the fluid
Definition at line 190 of file PDSS_Water.h.
|
private |
Offset constants used to obtain consistency with the NIST database.
This is added to all internal energy and enthalpy results. units = J kmol-1.
Definition at line 197 of file PDSS_Water.h.
|
private |
Offset constant used to obtain consistency with NIST convention.
This is added to all internal entropy results. units = J kmol-1 K-1.
Definition at line 204 of file PDSS_Water.h.
bool m_allowGasPhase = false |
Since this phase represents a liquid phase, it's an error to return a gas-phase answer.
However, if the below is true, then a gas-phase answer is allowed. This is used to check the thermodynamic consistency with ideal-gas thermo functions for example.
Definition at line 213 of file PDSS_Water.h.