version (75.6 KB) by Mark Mikofski
water and steam properties and derivatives for MATLAB


Updated 3 Jun 2021

From GitHub

View License on GitHub

IAPWS_IF97(FUN,IN1,IN2) is 27 functions of water properties and derivatives, based on the International Association on Properties of Water and Steam (http://www.iapws.org). Thermodynamic, hydrodynamic and non-linear modeling often requires thermodynamic derivatives, therefore IAPWS_IF97 can calculate most property derivates as functions of pressure and enthalpy, e.g.: dT/dp_ph, cp_ph, dv/dp_ph and dv/dh_ph. Since modeling often involves multiple dimensions that are discretized or meshed to form a set of either finite-difference or finite-element equations, IAPWS_IF97 is vectorized even across regions (subcooled/compressed-liquid, saturated, superheated and supercritical). For arrays is an order of magnitude faster than XSteam and is multithreaded if your computer is capable.
This is the functional form. I will submit a class & package versions definition soon, that also offer slip correction using Zivi's correlation (1964) for 2-phase flow.

Please report bugs here or at Github:

Reference Documents:
Industrial Formulation 1997 (IF97-Rev, IAPWS-IF97), IAPWS-IF97-S01, IAPWS-IF97-S03rev, IAPWS-IF97-S04, IAPWS-IF97-S05, Revised Advisory Note No. 3 Thermodynamic Derivatives from IAPWS Formulations 2008, Release on the IAPWS Formulation 2008 for the Viscosity of Ordinary Water Substance, 2008 Revised Release on the IAPWS Formulation 1985 for the Thermal Conductivity of Ordinary Water Substance.

Thermal Conductivity [W/m/K]:
'k_pT', 'k_ph'
Viscosity [Pa*s]:
'mu_pT', 'mu_ph', 'dmudh_ph', 'dmudp_ph'
Enthalpy [kJ/kg]:
'h_pT', 'hL_p', 'hV_p', 'dhLdp_p', 'dhVdp_p'
Specific Volume [m^3/kg]:
'v_pT', 'v_ph', 'vL_p', 'vV_p', 'dvLdp_p', 'dvVdp_p', 'dvdp_ph', 'dvdh_ph'
Temperature [K]:
'T_ph', 'dTdp_ph', 'cp_ph'
Saturation Pressure [MPa] and Temperature [K]:
'psat_T', 'Tsat_p', 'dTsatdpsat_p'

Cite As

Mark Mikofski (2022). IAPWS_IF97 (https://github.com/mikofski/IAPWS_IF97), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.