A Julia implementation of the IAPWS-IF97 properties of water and steam. Provides the Gibbs and Helmholtz free energies, enthalpy, entropy, Cp, Cv and sonic velocity.
Optional use of physical units via Unitful.jl
Inputs are either P&T, P&h or P&s.
Name | Units | Properties returned |
---|---|---|
Psat(T) | MPa | Saturation pressure |
Tsat(P) | K | Saturation temperature |
SatDensL(T) | kg/m3 | Saturated liquid density |
SatDensV(T) | kg/m3 | Saturated vapour density |
SatHL(T) | J/kg | Saturated liquid enthalpy |
SatHV(T) | J/kg | Saturated vapour enthalpy |
SatSL(T) | J/kgK | Saturated liquid entropy |
SatSV(T) | J/kgK | Saturated vapour entropy |
DeltaHvap | J/kg | Latent heat of vaporisation |
SpecificG, SpecificF, SpecificV, SpecificU, SpecificS, SpecificH, SpecificCP, SpecificCV, SpeedOfSound
SpecificG_Ph, SpecificF_Ph, SpecificV_Ph, SpecificU_Ph, SpecificS_Ph, SpecificH_Ph, SpecificCP_Ph, SpecificCV_Ph, SpeedOfSound_Ph, Quality_Ph, Temperature_Ph
SpecificG_Ps, SpecificF_Ps, SpecificV_Ps, SpecificU_Ps, SpecificS_Ps, SpecificH_Ps, SpecificCP_Ps, SpecificCV_Ps, SpeedOfSound_Ps, Quality_Ps, Temperature_Ps
Quality_Th
Quality_Ts
Name | Units | Properties returned |
---|---|---|
SpecificG | kJ/kg | Specific Gibbs free energy |
SpecificF | kJ/kg | Specific Helmholtz free energy |
SpecificV | m3/kg | Specific volume |
SpecificU | kJ/kg | Specific internal energy |
SpecificS | kJ/kgK | Specific entropy |
SpecificH | kJ/kg | Specific enthalpy |
SpecificCp | kJ/kgK | Specific isobaric heat capacity |
SpecificCv | kJ/kgK | Specific isochoric heat capacity |
SpeedOfSound | m/s | Sonic velocity |
Quality | Vapour quality |
Temperatures in K, Pressures in MPa
Name | Value | Units | Physical Constant |
---|---|---|---|
R | 0.461526 | kJ/kg/K | Universal gas constant |
Tc | 647.096 | K | Critical temperature of water |
Pc | 22.064 | kg/m3 | Critical density of water |
T3 | 273.16 | K | Triple point temperature of water |
P3 | 611.657E-6 | MPa | Triple point pressure of water |
Mr | 18.01528 | kg/kmol | Molecular weight of water |
If unitless values are passed, the physical units listed above are assumed and the returned values will also be in these units, e.g. Kelvin for temperature, MPa for pressure.
Optionally, however, you may pass Unitful.jl Quantity values, e.g. 100u"°C". The returned values will still be in the specified units, but may be easily converted via Unitful's uconvert()
julia> using SteamTables, Unitful
julia> Psat(400)
0.24575318630408327
julia> Psat(400u"K")
0.24575318630408327 MPa
julia> Psat(300u"°C")
8.587708329557278 MPa
julia> uconvert(u"psi", Psat(400u"K"))
35.643486181534875 psi
For more details on the use of Unitful, see the package documentation.