Course-wide Conventions & Notation
Overview and Learning Objectives¶
In Section 6.1 we showed that two phases of a pure substance are in equilibrium at a given if and only if their chemical potentials are equal:
Because this is a single scalar constraint on two variables, it picks out a curve in the plane — the coexistence curve we saw in the phase diagram. What it does not immediately give us is the slope of that curve, which is what we would need to predict, for instance, how a boiling point shifts with pressure or how a vapor pressure changes with temperature.
In this section we differentiate the equilibrium condition along the coexistence curve to obtain the Clapeyron equation, a general expression for that applies to any first-order phase transition. We then specialize it to the liquid–vapor case under two further approximations — the gas molar volume dominates, and the vapor is ideal — to obtain the Clausius–Clapeyron equation, which is the working tool for analyzing vapor-pressure data.
Learning objectives:
Differentiate along a coexistence curve to derive the Clapeyron equation .
Apply the Clapeyron equation to ice → water and explain physically why the solid–liquid coexistence curve for water has a negative slope, in contrast to most substances.
Apply the approximations and to obtain the differential Clausius–Clapeyron equation .
Integrate the Clausius–Clapeyron equation under the constant- approximation and use a two-point dataset to estimate from vapor-pressure measurements.
Diagnose the failure of the constant- assumption from residuals of a -vs- fit, and use a local-slope estimate to recover .
Core Ideas and Derivations¶
6.2.1 The Clapeyron equation¶
Pick a point on a coexistence curve between phases and , and consider an infinitesimal displacement that stays on the curve. By construction, the equilibrium condition continues to hold along the curve, so and change by equal amounts:
For a one-component, single-phase system, the Gibbs differential per mole reads
which is just the molar form of specialized to a pure substance (so that , as established in Section 6.1.2). Apply Eq. (3) to each phase along the coexistence curve:
Collecting and terms,
and using the entropy–latent-heat relation derived in Section 6.1.5, we obtain the Clapeyron equation:
Three things to notice about Eq. (6):
It is exact. No approximation has been made beyond the assumption that the transition is first-order (so and are well-defined finite jumps) and that both phases are pure.
The sign of is set by the sign of , since and are positive for any “normal” transition (the higher-temperature phase is the higher-enthalpy one). Most substances have at the melting line and at the boiling line, so both slopes are positive — an increase in pressure raises both the melting and the boiling temperature.
The magnitude of is set by . Solid–liquid transitions have very small and consequently very steep coexistence curves; liquid–vapor transitions have very large and consequently shallow coexistence curves. This is the reason why melting points are nearly insensitive to ordinary pressure changes while boiling points are very sensitive.
6.2.2 Worked example: melting of ice and the negative-slope coexistence curve¶
Water is the textbook exception to “”: ice floats on liquid water because near the normal melting point. By Eq. (6), this forces the slope of the ice–water coexistence curve to be negative.
Inputs (at K, bar):
,
Molar volumes of the two phases:
The molar volume decreases on melting:
Clapeyron slope. Insert into Eq. (6):
Physical interpretation. Inverting the slope gives : increasing the pressure on ice by one bar lowers its melting point by about seven thousandths of a kelvin. Even at 100 bar — well above any pressure encountered in everyday situations — the melting point depression is only about 0.74 K. This is enough to let the ice–water phase boundary bend perceptibly to the left on the phase diagram, but it is far too small to account for the popular “pressure melting” explanation of ice skating, where contact pressures of a few hundred bar would depress by at most a degree or two (skating works mainly because of friction-generated heating and a thin pre-existing surface liquid layer, not pressure melting).
6.2.3 The Clausius–Clapeyron equation (liquid–vapor with ideal vapor)¶
For the liquid–vapor coexistence curve, the molar-volume change is overwhelmingly dominated by the gas:
(For water at the normal boiling point, versus — a ratio of more than 103, so dropping introduces an error of less than 0.1%.)
If we further approximate the vapor as an ideal gas at the saturation pressure,
then the Clapeyron equation (6) becomes
Dividing both sides by and recognizing gives the Clausius–Clapeyron equation in differential form:
The quadratic dependence — rather than the that one might naively expect — is a direct consequence of having used in the Clapeyron equation: one factor of comes from the explicit in the denominator of Clapeyron, and the other from the in .
Integrated form (constant approximation)¶
If varies only weakly with over the range of interest, it can be pulled outside the integral:
so that
Two algebraically equivalent rearrangements of Eq. (16) are useful for different purposes:
For two known points, solve for the unknown :
For fitting a dataset, recognize that taking of Eq. (16) and treating one of the points as a reference gives
A plot of versus should be a straight line with slope — provided the constant- approximation actually holds.
6.2.4 Worked example: estimating of water from two vapor-pressure points¶
Use the integrated Clausius–Clapeyron form (17) to estimate for water given the following two points on its saturation curve:
(90 °C),
(100 °C, normal boiling point), (1 atm)
Both points are taken from the NIST WebBook saturation tables for water.
Step 1. Compute the logarithm of the pressure ratio:
Step 2. Compute the inverse-temperature factor:
Step 3. Combine using Eq. (17):
Discussion. The two-point estimate of sits a few percent above the calorimetric value . The discrepancy is not just measurement noise: it reflects the fact that is itself slightly temperature-dependent (it decreases with rising and vanishes at the critical point), so an estimate built from data points spanning 90–100 °C produces an average over that interval rather than the value at the upper endpoint. We will return to the temperature dependence of in the mini-lab below.
A molecular reading of the result¶
Why is for water of order 40 kJ mol? The molecular interpretation gives a satisfying back-of-the-envelope answer that ties the macroscopic measurement to Chapter 2’s stat-mech picture of intermolecular interactions. In liquid water, each molecule participates on average in roughly two hydrogen bonds (each H-bond is shared between two molecules), and a single hydrogen bond is worth . Vaporizing one mole of water to an effectively non-interacting gas therefore costs roughly
in striking agreement with experiment. The estimate is rough — it omits dispersion interactions and treats each H-bond as an isolated bond — but it captures the right order of magnitude and identifies the dominant physics. The same argument explains the large value of for water and its deviation from Trouton’s rule (Section 6.1.6): the liquid is more ordered than an “average” liquid because of its hydrogen-bonded structure, so vaporization releases more entropy as well as more enthalpy.
Mini-lab: Vapor pressure → , linearity limits, and ¶
Goals¶
Use a Clausius–Clapeyron plot to estimate an average from a vapor-pressure dataset.
Diagnose when the straight-line model breaks down by examining residuals.
Estimate a temperature-dependent from local slopes of the same data.
Dataset: saturation vapor pressure of water¶
Use this dataset as if it were experimental measurements (the values are smooth and consistent, so they are good for analysis practice rather than for assessing experimental uncertainty).
(°C) | (kPa) |
|---|---|
20 | 2.3296 |
30 | 4.2317 |
40 | 7.3584 |
50 | 12.3056 |
60 | 19.8702 |
70 | 31.0872 |
80 | 47.2671 |
90 | 70.0298 |
100 | 101.3365 |
120 | 197.9718 |
140 | 358.9652 |
160 | 613.6815 |
180 | 997.4430 |
Part A. Global Clausius–Clapeyron fit (the “straight-line” model)¶
Task. Plot versus (with in K), fit a line, and extract from the slope.
import io
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
R = 8.314462618 # J mol^-1 K^-1
data = """T_C,P_kPa
20,2.3296
30,4.2317
40,7.3584
50,12.3056
60,19.8702
70,31.0872
80,47.2671
90,70.0298
100,101.3365
120,197.9718
140,358.9652
160,613.6815
180,997.4430
"""
df = pd.read_csv(io.StringIO(data))
df["T_K"] = df["T_C"] + 273.15
df["P_bar"] = df["P_kPa"] / 100.0 # 100 kPa = 1 bar
df["invT"] = 1.0 / df["T_K"]
df["lnP"] = np.log(df["P_bar"]) # ln(P/1 bar)
# Linear regression: lnP = m*(1/T) + b
m, b, r, p, se = stats.linregress(df["invT"], df["lnP"])
DeltaHvap = -m * R # J/mol
print(f"slope m = {m:10.2f} K")
print(f"intercept b = {b:10.3f}")
print(f"R^2 = {r**2:10.6f}")
print(f"DeltaHvap (global) = {DeltaHvap/1000:10.2f} kJ/mol")
# Plot
x = df["invT"].to_numpy()
y = df["lnP"].to_numpy()
x_fit = np.linspace(x.min(), x.max(), 200)
y_fit = m*x_fit + b
plt.figure(figsize=(6,4))
plt.plot(x, y, "o", label="data")
plt.plot(x_fit, y_fit, "-", label="linear fit")
plt.xlabel(r"$1/T\ (\mathrm{K^{-1}})$")
plt.ylabel(r"$\ln(P_\mathrm{sat}/1\,\mathrm{bar})$")
plt.grid(True)
plt.legend()
plt.tight_layout()
plt.show()slope m = -5028.86 K
intercept b = 13.456
R^2 = 0.999666
DeltaHvap (global) = 41.81 kJ/mol

Interpretation prompts (one or two sentences each):
What units should have, and how do they emerge from the slope formula?
Why is the slope of versus negative?
Does the line look straight over the full temperature range?
Part B. Linearity limits: residuals beat “it looks straight”¶
A Clausius–Clapeyron plot can look linear by eye even when the constant- assumption is quietly failing. A quick diagnostic is a residual plot.
df["lnP_fit"] = m*df["invT"] + b
df["residual"] = df["lnP"] - df["lnP_fit"]
plt.figure(figsize=(6,4))
plt.axhline(0, linewidth=1)
plt.plot(df["invT"], df["residual"], "o-")
plt.xlabel(r"$1/T\ (\mathrm{K^{-1}})$")
plt.ylabel("residual = data − fit (in ln units)")
plt.grid(True)
plt.tight_layout()
plt.show()
What to look for:
Random scatter around zero → the linear model is adequate over this range.
A systematic curve (e.g. negative at both ends, positive in the middle, or vice versa) → the straight-line model is missing physics, most likely because is changing with across the dataset.
Part C. Two-range fits: do you get the same ?¶
If were truly constant, then fitting two separate temperature subranges should give the same slope within uncertainty. If they disagree systematically, that is hard evidence that depends on .
def fit_subset(df_sub):
m, b, r, p, se = stats.linregress(df_sub["invT"], df_sub["lnP"])
return {
"T_range_C": (df_sub["T_C"].min(), df_sub["T_C"].max()),
"R2": round(r**2, 6),
"DeltaHvap_kJmol": round((-m*R)/1000, 2),
}
low = df[df["T_C"].between(20, 90)]
high = df[df["T_C"].between(120, 180)]
print("Low-T fit:", fit_subset(low))
print("High-T fit:", fit_subset(high))Low-T fit: {'T_range_C': (np.int64(20), np.int64(90)), 'R2': np.float64(0.999927), 'DeltaHvap_kJmol': np.float64(43.02)}
High-T fit: {'T_range_C': (np.int64(120), np.int64(180)), 'R2': np.float64(0.99999), 'DeltaHvap_kJmol': np.float64(39.92)}
Part D. A “local slope” estimate of ¶
From the differential form (14),
so we can estimate from finite differences of the data.
T = df["T_K"].to_numpy()
lnP = df["lnP"].to_numpy()
# central differences for d(lnP)/dT
dlnP_dT = np.empty_like(T)
dlnP_dT[1:-1] = (lnP[2:] - lnP[:-2]) / (T[2:] - T[:-2])
dlnP_dT[0] = (lnP[1] - lnP[0]) / (T[1] - T[0])
dlnP_dT[-1] = (lnP[-1] - lnP[-2]) / (T[-1] - T[-2])
df["DeltaHvap_local_kJmol"] = (R * T**2 * dlnP_dT) / 1000
plt.figure(figsize=(6,4))
plt.plot(df["T_C"], df["DeltaHvap_local_kJmol"], "o-")
plt.xlabel(r"$T\ (^\circ\mathrm{C})$")
plt.ylabel(r"local $\Delta\bar h_\mathrm{vap}(T)$ (kJ/mol)")
plt.grid(True)
plt.tight_layout()
plt.show()
df[["T_C","DeltaHvap_local_kJmol"]]
Interpretation. The local should decrease monotonically with increasing temperature. Physically, as rises toward the critical point, the liquid and vapor phases become more and more similar in density and structure, so the molar enthalpy difference between them shrinks. At the critical point itself, — there is no longer a meaningful “vaporization” because the two phases have merged.
Check your work (expected ballpark results)
Using the dataset above, typical results are:
Global fit (all 13 points): (an average over the whole 20–180 °C range).
Low- fit (20–90 °C): .
High- fit (120–180 °C): .
Local-slope estimate: trends downward across the dataset, from about 43 kJ mol at low toward 39 kJ mol at high .
If your numbers differ noticeably, check that you used (1) kelvin, (2) natural log (not ), and (3) a dimensionless pressure inside the log (e.g. ).
Reflection questions¶
Over what temperature window does the Clausius–Clapeyron straight-line model look “good enough” and have residuals that are roughly random?
List two physical reasons why versus might curve over a wider range.
If you needed a better model than a single , what would you do? (Examples: fit two ranges, use a published vapor-pressure correlation such as Antoine’s equation, or include the temperature dependence of via heat-capacity corrections.)
Computational Studio: Clausius–Clapeyron¶
Interact with real vapor-pressure data for ethanol. The studio transforms the dataset to visualize the Clausius–Clapeyron linearization ( versus ), lets you dynamically adjust the regression bounds to explore linearity limits, and reports the corresponding extracted from the slope.
You can open the studio in a new tab: Clausius–Clapeyron Studio.
Concept Checks¶
Why does in the Clausius–Clapeyron equation depend on rather than simply on ? Trace the two factors of back to the steps of the derivation.
What is the sign of for the ice → water transition, and what specific feature of the molar volumes is responsible for that sign? Contrast with the corresponding transition for a “normal” substance such as benzene.
Why is it usually safe to approximate for vaporization but not for melting?
The local-slope analysis in Part D of the mini-lab shows decreasing as rises. Explain qualitatively what would happen to — and to the apparent slope of a -versus- plot — if you were to extend the dataset all the way up to the critical point.
A student fits a Clausius–Clapeyron line to vapor-pressure data and extracts for a polar liquid that should give around 45 kJ mol from calorimetry. List two distinct error sources that could be responsible.
Key Takeaways¶
Differentiating the equilibrium condition along a coexistence curve produces the Clapeyron equation , which is exact for any first-order transition between pure phases.
The sign of is set by the sign of . For water, at the melting line, so the ice–water coexistence curve has a negative slope ( bar K).
For liquid–vapor equilibrium with and an ideal vapor, the Clapeyron equation specializes to the Clausius–Clapeyron equation .
Under the constant- approximation, the integrated Clausius–Clapeyron equation gives , which extracts from two vapor-pressure points or from a linear fit of versus .
Deviations from a straight line in versus — best diagnosed from residuals, not by eye — signal the breakdown of the constant- approximation. A local-slope analysis recovers the temperature-dependent and shows it falling toward zero at the critical point.
For water, is consistent with the molecular picture of breaking roughly two hydrogen bonds per molecule on going from liquid to vapor — the macroscopic shadow of the intermolecular interactions developed in Chapter 2.