IAPWS95(property, T = 298.15, rho = 1000)
IAPWS95.idealgas(p, delta, tau)
IAPWS95.residual(p, delta, tau)
WP02.auxiliary(property, T = 298.15)
IAPWS95
provides an implementation of the IAPWS-95 formulation for properties (including pressure) calculated as a function of temperature and density.The IAPWS95
function returns values of thermodynamic properties in specific units (per gram).
The IAPWS-95 formulation follows the triple point convention used in engineering (values of internal energy and entropy are taken to be zero at the triple point).
Auxiliary equations to the IAPWS-95 formulation (Wagner and Pruss, 2002) are provided in WP02.auxiliary
; the property
for this function can be one of P.sigma (saturation vapor pressure in MPa), dP.sigma.dT (derivative of saturation vapor pressure with respect to temperature), or rho.liquid or rho.vapor (density of liquid or vapor in kg m$^{-3}$).
IAPWS95.idealgas
and IAPWS95.residual
are supporting functions to IAPWS95
for calculating the ideal-gas and residual parts in the IAPWS-95 formulation.
The value of p
can be one of phi, phi.delta, phi.delta.delta, phi.tau, phi.tau.tau, or phi.delta.tau, to calculate the specific dimensionless Helmholtz free energy (phi) or one of its respective derivatives.
For IAPWS95
the upper temperature limit of validity is 1000 $^{\circ}$C, but extrapolation to much higher temperatures is possible (Wagner and Pruss, 2002).
Valid pressures are from the greater of zero bar or the melting pressure at temperature to 10000 bar (with the provision for extrapolation to more extreme conditions).
The present functions do not check these limits and will attempt calculations for any range of input parameters, but may return NA
for properties that fail to be calculated at given temperatures and pressures and/or produce warnings or even errors when problems are encountered.
water.IAPWS95
for a wrapper that converts the specific units to molar quantities and is a function of pressure instead of density.## calculate pressure for given temperature, density
P <- as.numeric(IAPWS95("P", T=500, rho=838.0235))
## density along saturation curve
T <- seq(273.15, 623.15, 25)
WP02.auxiliary(T=T) # liquid from WP02
WP02.auxiliary("rho.vapor", T) # steam from WP02
Run the code above in your browser using DataLab