Low level class for the real description of water. More...
#include <WaterPropsIAPWSphi.h>
Low level class for the real description of water.
This is a helper class for WaterSSTP and PDSS_Water and does not constitute a complete implementation of a thermo phase by itself (see Thermodynamic Properties and classes WaterSSTP and PDSS_Water).
The reference is Wagner and Pruss [47].
Units Note: This class works with reduced units exclusively.
Definition at line 32 of file WaterPropsIAPWSphi.h.
Public Member Functions | |
WaterPropsIAPWSphi () | |
Base constructor. | |
double | phi (double tau, double delta) |
Calculate the Phi function, which is the base function. | |
double | phi_d (double tau, double delta) |
Calculate derivative of phi wrt delta. | |
double | phi_dd (double tau, double delta) |
2nd derivative of phi wrt delta | |
double | phi_t (double tau, double delta) |
First derivative of phi wrt tau. | |
double | phi_tt (double tau, double delta) |
Second derivative of phi wrt tau. | |
double | pressureM_rhoRT (double tau, double delta) |
Calculate the dimensionless pressure at tau and delta;. | |
double | dimdpdrho (double tau, double delta) |
Dimensionless derivative of p wrt rho at constant T. | |
double | dimdpdT (double tau, double delta) |
Dimensionless derivative of p wrt T at constant rho. | |
double | dfind (double p_red, double tau, double deltaGuess) |
This function computes the reduced density, given the reduced pressure and the reduced temperature, tau. | |
double | gibbs_RT () const |
Calculate the dimensionless Gibbs free energy. | |
double | enthalpy_RT () const |
Calculate the dimensionless enthalpy, h/RT. | |
double | entropy_R () const |
Calculate the dimensionless entropy, s/R. | |
double | intEnergy_RT () const |
Calculate the dimensionless internal energy, u/RT. | |
double | cv_R () const |
Calculate the dimensionless constant volume heat capacity, Cv/R. | |
double | cp_R () const |
Calculate the dimensionless constant pressure heat capacity, Cv/R. | |
void | tdpolycalc (double tau, double delta) |
Calculates internal polynomials in tau and delta. | |
double | phiR () const |
Calculate Equation 6.6 for phiR, the residual part of the dimensionless Helmholtz free energy. | |
Protected Member Functions | |
double | phi0 () const |
Calculate Equation 6.5 for phi0, the ideal gas part of the dimensionless Helmholtz free energy. | |
double | phiR_d () const |
Calculate d_phiR_d(delta), the first derivative of phiR wrt delta. | |
double | phi0_d () const |
Calculate d_phi0_d(delta), the first derivative of phi0 wrt delta. | |
double | phiR_dd () const |
Calculate d2_phiR_dd(delta), the second derivative of phiR wrt delta. | |
double | phi0_dd () const |
Calculate d2_phi0_dd(delta), the second derivative of phi0 wrt delta. | |
double | phi0_t () const |
Calculate d_phi0/d(tau) | |
double | phiR_t () const |
Calculate Equation 6.6 for dphiRdtau, the derivative residual part of the dimensionless Helmholtz free energy wrt temperature. | |
double | phiR_tt () const |
Calculate Equation 6.6 for dphiRdtau, the second derivative residual part of the dimensionless Helmholtz free energy wrt temperature. | |
double | phi0_tt () const |
Calculate d2_phi0/dtau2. | |
double | phiR_dt () const |
Calculate the mixed derivative d2_phiR/(dtau ddelta) | |
double | phi0_dt () const |
Calculate the mixed derivative d2_phi0/(dtau ddelta) | |
Protected Attributes | |
double | TAUp [52] |
Value of internally calculated polynomials of powers of TAU. | |
double | DELTAp [16] |
Value of internally calculated polynomials of powers of delta. | |
double | TAUsave = -1.0 |
Last tau that was used to calculate polynomials. | |
double | TAUsqrt = -1.0 |
sqrt of TAU | |
double | DELTAsave = -1.0 |
Last delta that was used to calculate polynomials. | |
Base constructor.
The added constants were calculated so that u = s = 0 for liquid at the triple point.
These where determined by the program testPress. I'm not quite satisfied with the result, but will let it stand for the moment. H didn't turn out to be .611872 J/kg, but .611782 J/kg. There may be a slight error here somehow.
Definition at line 351 of file WaterPropsIAPWSphi.cpp.
double phi | ( | double | tau, |
double | 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.
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 440 of file WaterPropsIAPWSphi.cpp.
double phi_d | ( | double | tau, |
double | delta | ||
) |
Calculate derivative of phi wrt delta.
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 512 of file WaterPropsIAPWSphi.cpp.
double phi_dd | ( | double | tau, |
double | delta | ||
) |
2nd derivative of phi wrt delta
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 616 of file WaterPropsIAPWSphi.cpp.
double phi_t | ( | double | tau, |
double | delta | ||
) |
First derivative of phi wrt tau.
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 702 of file WaterPropsIAPWSphi.cpp.
double phi_tt | ( | double | tau, |
double | delta | ||
) |
Second derivative of phi wrt tau.
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 783 of file WaterPropsIAPWSphi.cpp.
double pressureM_rhoRT | ( | double | tau, |
double | delta | ||
) |
Calculate the dimensionless pressure at tau and delta;.
pM/(rhoRT) = delta * phi_d() = 1.0 + delta phiR_d()
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
note: this is done so much, we have a separate routine.
Definition at line 520 of file WaterPropsIAPWSphi.cpp.
double dimdpdrho | ( | double | tau, |
double | 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())
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 624 of file WaterPropsIAPWSphi.cpp.
double dimdpdT | ( | double | tau, |
double | delta | ||
) |
Dimensionless derivative of p wrt T at constant rho.
dp/dT * M/(Rho R) = (1.0 + delta phiR_d()
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 632 of file WaterPropsIAPWSphi.cpp.
double dfind | ( | double | p_red, |
double | tau, | ||
double | 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.
p_red | Value of the dimensionless pressure |
tau | Dimensionless temperature = T_c/T |
deltaGuess | Initial guess for the dimensionless density |
Definition at line 864 of file WaterPropsIAPWSphi.cpp.
double gibbs_RT | ( | ) | const |
Calculate the dimensionless Gibbs free energy.
Definition at line 939 of file WaterPropsIAPWSphi.cpp.
double enthalpy_RT | ( | ) | const |
Calculate the dimensionless enthalpy, h/RT.
Definition at line 946 of file WaterPropsIAPWSphi.cpp.
double entropy_R | ( | ) | const |
Calculate the dimensionless entropy, s/R.
Definition at line 956 of file WaterPropsIAPWSphi.cpp.
double intEnergy_RT | ( | ) | const |
Calculate the dimensionless internal energy, u/RT.
Definition at line 966 of file WaterPropsIAPWSphi.cpp.
double cv_R | ( | ) | const |
Calculate the dimensionless constant volume heat capacity, Cv/R.
Definition at line 974 of file WaterPropsIAPWSphi.cpp.
double cp_R | ( | ) | const |
Calculate the dimensionless constant pressure heat capacity, Cv/R.
Definition at line 982 of file WaterPropsIAPWSphi.cpp.
void tdpolycalc | ( | double | tau, |
double | delta | ||
) |
Calculates internal polynomials in tau and delta.
This routine is used to store the internal state of tau and delta for later use by the other routines in the class.
tau | Dimensionless temperature = T_c/T |
delta | Dimensionless density = delta = rho / Rho_c |
Definition at line 361 of file WaterPropsIAPWSphi.cpp.
double phiR | ( | ) | const |
Calculate Equation 6.6 for phiR, the residual part of the dimensionless Helmholtz free energy.
Definition at line 394 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate Equation 6.5 for phi0, the ideal gas part of the dimensionless Helmholtz free energy.
Definition at line 380 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate d_phiR_d(delta), the first derivative of phiR wrt delta.
Definition at line 448 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate d_phi0_d(delta), the first derivative of phi0 wrt delta.
Definition at line 506 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate d2_phiR_dd(delta), the second derivative of phiR wrt delta.
Definition at line 527 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate d2_phi0_dd(delta), the second derivative of phi0 wrt delta.
Definition at line 610 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate d_phi0/d(tau)
Definition at line 640 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate Equation 6.6 for dphiRdtau, the derivative residual part of the dimensionless Helmholtz free energy wrt temperature.
Definition at line 652 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate Equation 6.6 for dphiRdtau, the second derivative residual part of the dimensionless Helmholtz free energy wrt temperature.
Definition at line 723 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate d2_phi0/dtau2.
Definition at line 710 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate the mixed derivative d2_phiR/(dtau ddelta)
Definition at line 796 of file WaterPropsIAPWSphi.cpp.
|
protected |
Calculate the mixed derivative d2_phi0/(dtau ddelta)
Definition at line 791 of file WaterPropsIAPWSphi.cpp.
|
protected |
Value of internally calculated polynomials of powers of TAU.
Definition at line 183 of file WaterPropsIAPWSphi.h.
|
protected |
Value of internally calculated polynomials of powers of delta.
Definition at line 186 of file WaterPropsIAPWSphi.h.
|
protected |
Last tau that was used to calculate polynomials.
Definition at line 189 of file WaterPropsIAPWSphi.h.
|
protected |
sqrt of TAU
Definition at line 192 of file WaterPropsIAPWSphi.h.
|
protected |
Last delta that was used to calculate polynomials.
Definition at line 195 of file WaterPropsIAPWSphi.h.