This notebook contains course material from CBE20255 by Jeffrey Kantor (jeff at nd.edu); the content is available on Github. The text is released under the CC-BY-NC-ND-4.0 license, and code is released under the MIT license.
This notebook provides a convenient calculator front-end to the IAPWS IF97 standard for the thermodynamic properties of water and steam. The following cell installs the iapws package for water.
!pip install iapws -q
Execute the following the cell to estimate the properties of water at specified temperature and pressure.
#@title Properties of Water { run: "auto", vertical-output: true }
#@markdown Enter pressure [bar]
P = 5.0 #@param {type:"number"}
#@markdown Enter temperature [deg C]
T = 200 #@param {type:"number"}
from iapws import IAPWS97
water = IAPWS97(P = P/10, T = T + 273.15)
sat_liq = IAPWS97(P = P/10, x = 0)
if sat_liq.T < T + 273.15:
print('Superheated Vapor:')
elif sat_liq.T > T + 273.15:
print('Supercooled Liquid:')
print(" h [kJ/kg] =", round(water.h,1))
print(" u [kJ/kg] =", round(water.u,1))
print(" v [m3/kg] =", round(water.v,5))
print(" s [kJ/kg/K] =", round(water.s,3))
print()
print("At this pressure Tsat [deg C] =", round(sat_liq.T - 273.15, 2))
Superheated Vapor: h [kJ/kg] = 2855.9 u [kJ/kg] = 2643.4 v [m3/kg] = 0.42503 s [kJ/kg/K] = 7.061 At this pressure Tsat [deg C] = 151.84
Execute the following cell to estimate the properties of saturated liquid water and water vapor at a specified pressure.
#@title Water Liquid/Vapor Saturation (Pressure) { run: "auto", vertical-output: true }
#@markdown Enter pressure [bar]
P = 2.44 #@param {type:"number"}
from iapws import IAPWS97
sat_liq = IAPWS97(P = P/10, x = 0)
sat_vap = IAPWS97(P = P/10, x = 1)
print("T [deg C] =", round(sat_liq.T - 273.15, 2))
print("\nSaturated Liquid:")
print(" h [kJ/kg] =", round(sat_liq.h,1))
print(" u [kJ/kg] =", round(sat_liq.u,1))
print(" v [m3/kg] =", round(sat_liq.v,5))
print(" s [kJ/kg/K] =", round(sat_liq.s,3))
print("\nSaturated Vapor:")
print(" h [kJ/kg] =", round(sat_vap.h,1))
print(" u [kJ/kg] =", round(sat_vap.u,1))
print(" v [m3/kg] =", round(sat_vap.v,5))
print(" s [kJ/kg/K] =", round(sat_vap.s,3))
T [deg C] = 126.62 Saturated Liquid: h [kJ/kg] = 531.9 u [kJ/kg] = 531.7 v [m3/kg] = 0.00107 s [kJ/kg/K] = 1.599 Saturated Vapor: h [kJ/kg] = 2715.4 u [kJ/kg] = 2536.0 v [m3/kg] = 0.73524 s [kJ/kg/K] = 7.061
Execute the following cell to estimate the properties of saturated liquid water and water vapor at a specified temperature.
#@title Water Liquid/Vapor Saturation (Temperature) { run: "auto", vertical-output: true }
#@markdown Enter temperature [deg C]
T = 81.3 #@param {type:"number"}
from iapws import IAPWS97
sat_liq = IAPWS97(T = T+273.15, x = 0)
sat_vap = IAPWS97(T = T+273.15, x = 1)
print("P [bar] =", round(10*sat_liq.P, 5))
print("\nSaturated Liquid:")
print(" h [kJ/kg] =", round(sat_liq.h,1))
print(" u [kJ/kg] =", round(sat_liq.u,1))
print(" v [m3/kg] =", round(sat_liq.v,5))
print(" s [kJ/kg/K] =", round(sat_liq.s,3))
print("\nSaturated Vapor:")
print(" h [kJ/kg] =", round(sat_vap.h,1))
print(" u [kJ/kg] =", round(sat_vap.u,1))
print(" v [m3/kg] =", round(sat_vap.v,5))
print(" s [kJ/kg/K] =", round(sat_vap.s,3))
P [bar] = 0.49966 Saturated Liquid: h [kJ/kg] = 340.4 u [kJ/kg] = 340.4 v [m3/kg] = 0.00103 s [kJ/kg/K] = 1.091 Saturated Vapor: h [kJ/kg] = 2645.2 u [kJ/kg] = 2483.2 v [m3/kg] = 3.24219 s [kJ/kg/K] = 7.593