Directions

This simulation shows how a set of discrete molecular energy levels gives rise to the Boltzmann population distribution, and how that distribution in turn determines macroscopic properties like average energy, heat capacity, and entropy. Use it to see why heat capacity is near zero at low temperature (levels are “frozen out”) and rises toward the classical equipartition value as higher levels thaw.

  • level scheme sets the energies En and degeneracies gn. Try the evenly spaced ladders first, then the rigid rotor and the two-level system.
  • ε/k is the level spacing expressed as a temperature (θ). Pick a real-molecule preset to see where room temperature (298 K) falls.
  • Drag the temperature slider, or click/drag directly on the heat capacity plot.
  • The Populations view shows the bar chart of pn. The Freeze-out / equipartition view replaces it with pn vs. T, and adds shaded regimes and the classical (equipartition) limit to the lower plots.
  • Untick “infinite ladder” to make only N levels exist — then Cv falls back to zero at high T (Schottky peak).

Details

For independent molecules with energy levels En (degeneracy gn), measured from the ground level (E0 = 0):

The partition function is:

q = Σn gn e−En/kT

where gn is the number of distinct states of level n.

The fraction of molecules with energy level n is

pn = gn e−En/kT / q   (population of level n; per single state: pn/gn)

The average energy per molecule is:

⟨E⟩ = Σn En pn = kT2 (∂ ln q / ∂T)

The heat capacity per molecule divided by k is:

Cv/k = (⟨E2⟩ − ⟨E⟩2) / (kT)2 = (∂⟨E⟩/∂T)/k

The entropy per molecule divided by k is:

S/k = ln q + ⟨E⟩/kT

Because E0 = 0, q is roughly the number of states thermally accessible: q → g0 = 1 as T → 0, and grows as more levels “thaw.” Per-mole quantities: ⟨E⟩molar = Rθ(⟨E⟩/ε) and Cv/R = Cv/k.

Schemes. Evenly spaced: En = nε, with gn = 1 (1-D oscillator), n+1 (2-D oscillator) or (n+1)(n+2)/2 (3-D oscillator). Rigid rotor: EJ = J(J+1)ε, gJ = 2J+1 (linear molecule; nuclear-spin/symmetry-number effects are ignored, so H2 and N2 rotation are idealized). Two-level: ground level (g = 1) and one excited level of degeneracy g. Custom: six evenly spaced levels with degeneracies you choose.

Regimes. Freeze-out: kT < ε/2 — excited levels have Boltzmann factors below e−2 ≈ 0.14, so nearly all molecules sit in the ground level and Cv ≈ 0 (that degree of freedom does not store energy). Thawing: ε/2 < kT < 2ε. Equipartition: kT > 2ε for an unbounded ladder, where Cv/k approaches the classical value: 1 (1-D oscillator, with each of the kinetic and potential terms contributing ½), 2 (2-D oscillator), 3 (3-D oscillator), 1 (linear rotor). Dashed lines mark these limits.

Finite systems. If only N levels exist, ⟨E⟩ is bounded and the populations approach gn/Σg as T → ∞ (all states equally likely). Cv passes through a maximum (Schottky anomaly) and then decays to zero — equipartition never occurs.

Numerics. For an unbounded ladder the sums are evaluated over all levels with e−E/kT > e−60, so the displayed thermodynamic values do not depend on the “levels shown” slider; that slider only sets how many levels are drawn.

Symbols.

  • n, J — the quantum number labeling an energy level (n = 0, 1, 2, …; J is used for the rigid rotor).
  • En — the energy of level n, measured from the ground level (E0 = 0).
  • gn — the degeneracy (number of distinct states) of level n.
  • ε — the energy-level spacing; the unit of energy used throughout (e.g. En = nε for the evenly spaced ladders).
  • k — Boltzmann's constant. R — the gas constant, its molar equivalent (R = NAk).
  • T — the absolute temperature.
  • θ — the level spacing expressed as a temperature, θ = ε/k (set by the “level spacing ε/k” slider, or by a real-molecule preset).
  • kT/ε — the dimensionless temperature (= T/θ) plotted on the horizontal axis of the plots.
  • q — the partition function, q = Σn gne−En/kT.
  • pn — the population of level n (the fraction of molecules in that level); pn/gn is the population per individual state within level n.
  • ⟨E⟩ — the average (mean) energy per molecule.
  • Cv — the constant-volume heat capacity per molecule; Cv/k = Cv/R on a molar basis.
  • S — the entropy per molecule, reported as S/k.
  • N — the number of energy levels that exist, when “only these levels exist (finite ladder)” is checked.
  • 298 K — the dotted reference line marking room temperature on the plots.

About

This simulation was created in the Department of Chemical and Biological Engineering at University of Colorado Boulder for LearnChemE.com by John L. Falconer using Claude AI. It was prepared with financial support from the National Science Foundation (DUE 2336987 and 2336988). Address any questions or comments to LearnChemE@gmail.com.

energy levels & kT

level brightness ∝ e−E/kT