How to Interpolate Steam Tables With Worked Examples

Interpolating steam tables uses a simple ratio to estimate property values that fall between the rows printed in the table. The core technique is linear interpolation: you find the two closest data points that bracket your known value, then calculate where your target sits proportionally between them. The math takes about 30 seconds once you understand the setup, and it works for any property in the table, whether that’s enthalpy, specific volume, internal energy, or entropy.

The Linear Interpolation Formula

Linear interpolation assumes the relationship between two adjacent table entries is a straight line. The standard formula is:

d = d₁ + [(g − g₁) / (g₂ − g₁)] × (d₂ − d₁)

Here’s what each variable means in practice:

  • g is the value you know (the pressure or temperature you’re given)
  • g₁ and g₂ are the two table values that bracket your known value, with g₁ being the smaller one
  • d₁ and d₂ are the property values (enthalpy, specific volume, etc.) that correspond to g₁ and g₂
  • d is the property value you’re solving for

The fraction in the middle, (g − g₁) / (g₂ − g₁), is the interpolation factor. It tells you how far between the two bracketing points your known value falls, expressed as a decimal between 0 and 1. If your pressure is exactly halfway between two table entries, this fraction equals 0.5, and the result will be the average of the two property values.

A Worked Example With Saturated Steam

Suppose you need the enthalpy of saturated liquid water at 2.04 MPa, but your steam table only lists values at 2.0 MPa and 2.1 MPa. At 2.0 MPa, the enthalpy of saturated liquid (hf) is 908.6 kJ/kg. At 2.1 MPa, it’s 920.0 kJ/kg.

Plug into the formula:

hf = 908.6 + [(2.04 − 2.0) / (2.1 − 2.0)] × (920.0 − 908.6)

The interpolation factor is 0.04 / 0.1 = 0.4. Multiply that by the difference in enthalpy: 0.4 × 11.4 = 4.56. Add that to the lower value: 908.6 + 4.56 = 913.16 kJ/kg. That’s your answer.

This same process works identically for specific volume, entropy, internal energy, or any other column in the table. Just swap in the appropriate property values for d₁ and d₂.

Interpolating Saturated Tables by Property

Sometimes you’re working backwards. Instead of knowing the pressure and finding the enthalpy, you know the enthalpy and need to find the pressure, temperature, or other properties. The approach is the same, but the scanning step changes.

If you’re told the state is saturated liquid and you’re given a specific enthalpy, scan down the hf column until you find two consecutive entries that bracket your value. Then use those two rows to interpolate for pressure, temperature, or whatever else you need. If the state is saturated vapor, scan the hg column instead. The formula doesn’t change. Only which column you use as your “known” variable shifts.

Double Interpolation for Superheated Steam

Superheated steam tables are organized by pressure (each pressure gets its own sub-table) and then by temperature within that sub-table. When both your pressure and temperature fall between listed values, you need double interpolation. This sounds intimidating, but it’s just the single interpolation formula applied twice in sequence.

Here’s the process. Say you need the specific volume at 27 MPa and 1107°C, but the table only lists pressures of 25 MPa and 30 MPa, and temperatures of 1100°C and 1200°C.

Step 1: Interpolate for pressure at the lower temperature. Look up the specific volume at 25 MPa / 1100°C and at 30 MPa / 1100°C. Interpolate between them to get the value at 27 MPa / 1100°C. In this example, the values are 0.0251 m³/kg and 0.0209 m³/kg, and the interpolation yields 0.02342 m³/kg.

Step 2: Interpolate for pressure at the higher temperature. Repeat the same calculation using the 1200°C row. This gives you the specific volume at 27 MPa / 1200°C.

Step 3: Interpolate for temperature. Now you have two values, both at 27 MPa but at 1100°C and 1200°C. Run the interpolation formula one more time using your actual temperature of 1107°C to get the final answer.

You could also interpolate in temperature first and then in pressure. The order doesn’t matter, and the result will be the same. Pick whichever feels more intuitive for the problem you’re solving. Setting up a small grid on paper with four corner values helps you keep track of which calculations you’ve already completed.

Check Your Units Before You Start

Steam tables come in both SI and English units. SI tables typically list pressure in kPa or MPa, temperature in degrees Celsius, and enthalpy in kJ/kg. English-unit tables use psi for pressure, degrees Fahrenheit for temperature, and BTU/lb for enthalpy. Before you set up the interpolation, confirm that the value you’re given matches the units in your table. A pressure given in bar won’t match a table listed in kPa without converting first (1 bar = 100 kPa). Mixing unit systems is the most common source of errors that aren’t actually math mistakes.

When Linear Interpolation Falls Short

Linear interpolation is an approximation. It assumes the relationship between two data points is a straight line, and steam properties don’t always behave linearly. The closer together the table entries are, the better the approximation. For most engineering coursework and routine calculations, the error is negligible because published tables have entries spaced closely enough that the curves between them are nearly straight.

The approximation becomes less reliable near the critical point of water (around 22 MPa and 374°C), where properties change rapidly and nonlinearly over small intervals. It also loses accuracy when you’re interpolating across wide gaps in the table. If your two bracketing pressures are far apart, the straight-line assumption introduces more error.

For high-precision industrial work, engineers typically skip table interpolation entirely and use standardized equations instead. The international standard known as IAPWS-IF97 divides the pressure-temperature space of water into five regions, each with its own set of equations fitted to experimental data. These equations trade a small, often negligible, loss of accuracy compared to the reference formulation in exchange for computational speed that’s two to three orders of magnitude faster. This is what software tools use behind the scenes.

Spreadsheet and Software Shortcuts

If you’re doing this repeatedly, setting up a spreadsheet saves time. Excel doesn’t have a built-in steam table function, but several free resources exist. LearnChemE, for instance, offers a downloadable Excel file with lookup functions covering pressures from 0.01 to 1,000 MPa and temperatures from 0.01°C to 2,000°C. You enter your pressure and temperature, and the spreadsheet returns the interpolated properties automatically.

For a quick DIY approach in Excel, you can replicate the formula manually. Put your bracketing values in cells and use a formula like: =D1 + (G – G1)/(G2 – G1) * (D2 – D1), where each variable references the appropriate cell. For double interpolation, chain three of these formulas together, with the outputs of the first two feeding into the third.

Programming environments like MATLAB and Python also have interpolation functions (interp1 in MATLAB, numpy.interp in Python) that handle the math in a single line. These are especially useful for batch calculations where you need properties at dozens of state points.