Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

3.3. Enthalpy

Course-wide Conventions & Notation

Overview and Learning Objectives

Most chemistry happens at constant pressure—reactions in open beakers, biological processes at atmospheric pressure, industrial reactors vented to the atmosphere. Under these conditions, the heat we measure is not ΔU\Delta U but something slightly different: some of the energy goes into PVPV work as the system expands or contracts against the atmosphere. Enthalpy H=U+PVH = U + PV provides the natural accounting for constant-pressure heat flow, absorbing that PVPV bookkeeping into a single state function.

This section derives enthalpy from the First Law at constant pressure, relates qPq_P to ΔH\Delta H, introduces the constant-pressure heat capacity CPC_P, and develops the standard enthalpy framework (formation and reaction enthalpies, Hess’s Law) used throughout thermochemistry.


Learning objectives:

Core Ideas and Derivations

Defining Enthalpy

The Problem: δqV=dU\delta q_V = dU Is Nice—Can We Do the Same at Constant PP?

In Section 3.2, we saw that at constant volume (dV=0dV = 0), the First Law simplifies beautifully:

δqV=dU.\delta q_V = dU.

The heat absorbed at constant volume equals the change in a state function (UU), which means qVq_V is path-independent for any process between two fixed states at the same volume. This is experimentally powerful: measuring qq in a bomb calorimeter (constant VV) directly gives ΔU\Delta U.

But most chemistry happens at constant pressure, not constant volume. At constant PP, the First Law gives

δqP=dU+P dV,\delta q_P = dU + P\,dV,

which involves two terms. Can we define a single state function that plays the same role at constant PP that UU plays at constant VV? That is, can we find a function HH such that δqP=dH\delta q_P = dH?

Derivation

Consider the First Law expression when TT and PP are the independent variables. Starting from δq=dU+P dV\delta q = dU + P\,dV and writing total differentials of U(T,P)U(T,P) and V(T,P)V(T,P):

δq=[(∂U∂T)P+P(∂V∂T)P]dT  +  [(∂U∂P)T+P(∂V∂P)T]dP.\delta q = \left[\left(\frac{\partial U}{\partial T}\right)_P + P \left(\frac{\partial V}{\partial T}\right)_P\right] dT \;+\; \left[\left(\frac{\partial U}{\partial P}\right)_T + P \left(\frac{\partial V}{\partial P}\right)_T\right] dP.

At constant pressure (dP=0dP = 0), this becomes:

δqP=[(∂U∂T)P+P(∂V∂T)P]dT.\delta q_P = \left[\left(\frac{\partial U}{\partial T}\right)_P + P \left(\frac{\partial V}{\partial T}\right)_P\right] dT.

The coefficient of dTdT is what we call the heat capacity at constant pressure:

CP  =  (∂U∂T)P  +  P(∂V∂T)P.C_P \;=\; \left(\frac{\partial U}{\partial T}\right)_P \;+\; P \left(\frac{\partial V}{\partial T}\right)_P.

We seek a state function HH such that

δqP=(∂H∂T)P dT=dH(at constant P).\delta q_P = \left(\frac{\partial H}{\partial T}\right)_P \, dT = dH \quad\text{(at constant }P\text{)}.

Comparing Equations (4) and (6), we need (∂H/∂T)P=CP(\partial H/\partial T)_P = C_P. This motivates the definition of enthalpy:

H  =  U+PV.\boxed{H \;=\; U + PV.}

Measuring Enthalpy and Enthalpy Changes

At constant pressure (with PVPV-only work), the heat absorbed or released by a process equals the change in enthalpy:

qP=ΔH=H(Tf)−H(Ti).q_P = \Delta H = H(T_f) - H(T_i).

If CPC_P is approximately constant over the temperature range ΔT=Tf−Ti\Delta T = T_f - T_i, then

ΔH=∫TiTfCP(T) dT  ≈  CP ΔT.\Delta H = \int_{T_i}^{T_f} C_P(T)\,dT \;\approx\; C_P \,\Delta T.

Calorimetry

A typical way to measure ΔH\Delta H experimentally is via calorimetry—measuring the temperature change of a known mass of material (often water) that exchanges heat with the process of interest.

Source
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

fig, ax = plt.subplots(figsize=(5.5, 5))

# --- Outer container (insulating walls) ---
outer = Rectangle((0.3, 0.2), 3.4, 3.2, linewidth=2.5, edgecolor='0.4',
                   facecolor='0.92', linestyle='--', label='Insulating walls')
ax.add_patch(outer)

# --- Inner container ---
inner = Rectangle((0.6, 0.4), 2.8, 2.6, linewidth=2, edgecolor='k', facecolor='white')
ax.add_patch(inner)

# --- Water ---
water = Rectangle((0.6, 0.4), 2.8, 2.1, linewidth=0, facecolor='#a8d8ea', alpha=0.6)
ax.add_patch(water)
ax.text(1.1, 1.2, 'Water\n(known mass,\nknown $C_P$)', fontsize=10, ha='center',
        va='center', color='#1a5276', style='italic')

# --- Sample container ---
sample = Rectangle((2.2, 0.5), 0.9, 0.7, linewidth=1.8, edgecolor='C1', facecolor='#fdebd0')
ax.add_patch(sample)
ax.text(2.65, 0.85, 'Sample', fontsize=9, ha='center', va='center',
        fontweight='bold', color='C1')

# --- Thermometer ---
ax.plot([0.85, 0.85], [2.1, 3.3], color='red', lw=3, solid_capstyle='round')
ax.plot([0.85], [2.1], 'ro', ms=8, zorder=5)
ax.text(0.85, 3.45, 'Thermometer', fontsize=9, ha='center', va='bottom', color='red')

# --- Stirrer ---
ax.plot([1.6, 1.6], [1.6, 3.3], 'k-', lw=2)
ax.plot([1.4, 1.6, 1.8], [1.55, 1.4, 1.55], 'k-', lw=2)
ax.text(1.6, 3.45, 'Stirrer', fontsize=9, ha='center', va='bottom', color='0.3')

# --- Heat flow arrow ---
ax.annotate('', xy=(2.15, 1.5), xytext=(2.65, 1.25),
            arrowprops=dict(arrowstyle='->', color='C3', lw=2.5,
                           connectionstyle='arc3,rad=-0.2'))
ax.text(2.75, 1.55, '$q_P$', fontsize=13, color='C3', fontweight='bold')

# --- Labels ---
ax.text(2.0, -0.05, 'Constant-pressure calorimeter (schematic)', fontsize=11,
        ha='center', va='top', fontweight='bold')
ax.text(3.85, 1.8, 'insulating\nwalls', fontsize=8, ha='center', va='center',
        color='0.4', style='italic', rotation=90)

ax.set_xlim(-0.1, 4.3)
ax.set_ylim(-0.2, 3.7)
ax.set_aspect('equal')
ax.axis('off')

plt.tight_layout()
plt.show()
plt.close(fig)
<Figure size 550x500 with 1 Axes>

Schematic of a constant-pressure calorimeter. The reaction occurs in the sample container; the released or absorbed heat (qPq_P) flows into the surrounding water, producing a measurable temperature change. Insulating walls minimize heat loss to the room. Since the process occurs at atmospheric pressure, qP=ΔHq_P = \Delta H.


Defining Common Enthalpy Changes

Standard Conditions

Standard conditions are defined as P∘=1 barP^\circ = 1\text{ bar}. The superscript ° denotes a standard-state quantity (see Notation). Reference databases—e.g., the NIST-JANAF Thermochemical Tables and Active Thermochemical Tables—typically tabulate properties at T=25 °CT = 25\,\text{°C} (298.15 K), though standard-state quantities can be defined at any temperature.

Standard Enthalpy of Formation

The standard enthalpy of formation, ΔHf∘\Delta H_f^\circ, is the enthalpy change when 1 mole of a compound is formed from its constituent elements in their standard states.

Table 1:Standard States of the Elements

Standard State

Elements

Monatomic ideal gas

He, Ne, Ar, Kr, Xe, Rn

Homonuclear diatomic ideal gas

H, N, O, F, Cl

Liquid

Br, Hg

Solid (most stable crystal structure)

All other elements

The key principle is that the standard state is the most thermodynamically stable form at P∘P^\circ. For most elements this is a solid (e.g., C as graphite, not diamond; Fe as bcc iron). The noble gases are monatomic, the common nonmetals form diatomics, and Br and Hg are liquids at 298 K.

Standard Enthalpy of Reaction

The standard enthalpy of reaction, ΔHrxn∘\Delta H_{\mathrm{rxn}}^\circ, is the enthalpy change when a reaction is carried out under standard conditions. Mathematically:

ΔHrxn∘  =  ∑productsνp Hp∘  −  ∑reactantsνr Hr∘,\Delta H_{\mathrm{rxn}}^\circ \;=\;\sum_{\text{products}} \nu_p \,H_p^\circ \;-\; \sum_{\text{reactants}} \nu_r \,H_r^\circ,

where νp\nu_p and νr\nu_r are the (positive) stoichiometric coefficients of products and reactants, respectively.

The enthalpy-level diagram below visualizes the path independence that underlies Hess’s Law. The direct route (left arrow) and the stepwise route through the elements (right arrows) connect the same initial and final states, so they produce the same ΔHrxn∘\Delta H_{\mathrm{rxn}}^\circ.

Source
import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(7, 5))

# Enthalpy levels (schematic, not to scale)
# Elements at zero reference
y_elements = 0.0
y_reactants = -1.5   # CH4 + H2O are below elements (negative DeltaHf)
y_products = -0.4     # CO + 3H2 are below elements but above reactants

x_left = 1.0
x_right = 5.0
x_mid = 3.0
bar_half = 0.8

# Horizontal bars
bar_kw = dict(lw=2.5, solid_capstyle='butt')
ax.plot([x_left - bar_half, x_left + bar_half], [y_reactants, y_reactants], 'C0-', **bar_kw)
ax.plot([x_right - bar_half, x_right + bar_half], [y_products, y_products], 'C3-', **bar_kw)
ax.plot([x_mid - 1.2, x_mid + 1.2], [y_elements, y_elements], '0.5', **bar_kw, linestyle='--')

# Labels on bars
ax.text(x_left, y_reactants - 0.18, r'$\mathrm{CH_4(g) + H_2O(g)}$',
        fontsize=10, ha='center', va='top', color='C0', fontweight='bold')
ax.text(x_left, y_reactants + 0.12, 'Reactants', fontsize=9, ha='center', va='bottom',
        color='C0')

ax.text(x_right, y_products - 0.18, r'$\mathrm{CO(g) + 3\,H_2(g)}$',
        fontsize=10, ha='center', va='top', color='C3', fontweight='bold')
ax.text(x_right, y_products + 0.12, 'Products', fontsize=9, ha='center', va='bottom',
        color='C3')

ax.text(x_mid, y_elements + 0.12,
        r'Elements in standard states: C(s,graphite), H$_2$(g), O$_2$(g)',
        fontsize=9, ha='center', va='bottom', color='0.4')

# --- Direct arrow (left side) ---
ax.annotate('',
            xy=(x_left + 0.15, y_products + 0.55),
            xytext=(x_left + 0.15, y_reactants + 0.05),
            arrowprops=dict(arrowstyle='->', color='C2', lw=2.5))
ax.text(x_left - 0.65, (y_reactants + y_products) / 2,
        r'$\Delta H_{\mathrm{rxn}}^\circ$' + '\n(direct)',
        fontsize=11, ha='center', va='center', color='C2', fontweight='bold')

# --- Stepwise arrows (right side, through elements) ---
# Reactants -> Elements (go up: reverse formation)
ax.annotate('',
            xy=(x_mid - 0.4, y_elements - 0.05),
            xytext=(x_left + bar_half + 0.1, y_reactants + 0.05),
            arrowprops=dict(arrowstyle='->', color='C1', lw=2,
                           connectionstyle='arc3,rad=-0.15'))
ax.text(1.85, (y_reactants + y_elements) / 2 + 0.25,
        r'$-\sum \nu_r \Delta H_{f,r}^\circ$',
        fontsize=10, ha='center', va='center', color='C1',
        bbox=dict(boxstyle='round,pad=0.2', fc='white', ec='C1', alpha=0.8))

# Elements -> Products (go down: formation)
ax.annotate('',
            xy=(x_right - bar_half - 0.1, y_products + 0.05),
            xytext=(x_mid + 0.4, y_elements - 0.05),
            arrowprops=dict(arrowstyle='->', color='C4', lw=2,
                           connectionstyle='arc3,rad=-0.15'))
ax.text(4.15, (y_elements + y_products) / 2 + 0.15,
        r'$+\sum \nu_p \Delta H_{f,p}^\circ$',
        fontsize=10, ha='center', va='center', color='C4',
        bbox=dict(boxstyle='round,pad=0.2', fc='white', ec='C4', alpha=0.8))

# y-axis label
ax.annotate('', xy=(-0.2, 1.0), xytext=(-0.2, -1.8),
            arrowprops=dict(arrowstyle='->', color='k', lw=1.5))
ax.text(-0.35, -0.4, '$H$', fontsize=14, ha='center', va='center', rotation=90)

ax.set_xlim(-0.8, 6.5)
ax.set_ylim(-2.1, 1.3)
ax.set_aspect('equal')
ax.axis('off')

plt.tight_layout()
plt.show()
plt.close(fig)
<Figure size 700x500 with 1 Axes>

Enthalpy-level diagram for the steam–methane reforming reaction. The direct path (green arrow, left) and the stepwise path through the elements (orange and teal arrows, right) both connect reactants to products. Because HH is a state function, both paths give the same ΔHrxn∘\Delta H_{\mathrm{rxn}}^\circ. This is Hess’s Law.


Synthesis: The First Law Toolkit So Far

Enthalpy completes our First Law toolkit for the most common laboratory conditions:

ConstraintRelevant state functionKey relation
Constant VV (bomb calorimeter)UUqV=ΔUq_V = \Delta U
Constant PP (open beaker, coffee-cup calorimeter)H=U+PVH = U + PVqP=ΔHq_P = \Delta H

Hess’s Law lets us combine tabulated formation data to predict ΔHrxn∘\Delta H_{\mathrm{rxn}}^\circ for any reaction without measuring it directly. In the next section, we will see how the temperature dependence of ΔH\Delta H (via CPC_P) allows us to extrapolate thermochemical data to non-standard temperatures—an essential tool for real-world applications where reactions rarely occur at exactly 298 K.


Worked Example

Heating at constant pressure

A sample of liquid water (n=1 moln = 1\,\mathrm{mol}) has constant-pressure heat capacity CP=75.0 J mol−1 K−1C_P=75.0\ \mathrm{J\,mol^{-1}\,K^{-1}} (approximately constant over the range). Find ΔH\Delta H when it is heated from Ti=298 KT_i=298\ \mathrm{K} to Tf=350 KT_f=350\ \mathrm{K} at constant pressure.

Setup. At constant pressure with PVPV-only work, qP=ΔHq_P = \Delta H (Eq. (10)), and the enthalpy change is given by Eq. (11):

ΔH=∫TiTfCP dT≈CP (Tf−Ti).\Delta H = \int_{T_i}^{T_f} C_P\,dT \approx C_P\,(T_f - T_i).

Calculation.

ΔT=350−298=52 K,\Delta T = 350 - 298 = 52\ \mathrm{K},
ΔH≈(75.0 J mol−1 K−1)(52 K)=3.90×103 J mol−1=3.90 kJ mol−1.\Delta H \approx (75.0\,\mathrm{J\,mol^{-1}\,K^{-1}})(52\,\mathrm{K}) = 3.90\times10^{3}\ \mathrm{J\,mol^{-1}} = 3.90\ \mathrm{kJ\,mol^{-1}}.

Result. ΔH≈3.9 kJ mol−1\Delta H \approx 3.9\ \mathrm{kJ\,mol^{-1}} for this heating step at constant pressure. Because this is a constant-pressure process, this is also the heat absorbed: qP=3.9 kJ/molq_P = 3.9\,\mathrm{kJ/mol}.

Concept Checks

  1. Why does adding the PVPV term make HH especially convenient at constant pressure?

  2. When is it not valid to identify qPq_P with ΔH\Delta H? Give a specific physical example.

  3. Why are formation enthalpies of elements in their standard states defined as zero?

  4. How does Hess’s Law justify computing reaction enthalpies without specifying a mechanism?

  5. Is CPC_P larger or smaller than CVC_V for an ideal gas? Why? (Hint: think about what happens to the volume at constant PP when you add heat.)

Key Takeaways

References
  1. Thomas C. Allison. (2013). NIST-JANAF Thermochemical Tables - SRD 13. National Institute of Standards. 10.18434/T42S31