As the universe expands, its temperature falls as T(z) = T₀(1+z) with T₀ = 2.725 K. Above ≈4000 K, thermal photons keep hydrogen fully ionized (a proton–electron plasma). The equilibrium ionization fraction Xe = ne/nb is set by the Saha equation, solved live every frame from real physical constants:
Xe² / (1 − Xe) = S(T, n_b)
S = (1/n_b) · ( m_e k_B T / 2πℏ² )^3/2 · exp(−B / k_B T)
Xe = [ −S + √(S² + 4S) ] / 2
B = 13.6 eV is the hydrogen binding energy and n_b = n_b,0·(1+z)³ is the baryon number density, set by the Ωbh² slider. The exp(−B/k_B T) term makes the transition razor-sharp: a swing of only a few hundred kelvin takes Xe from ≈1 to ≈10⁻³ around T ≈ 3000–4000 K (z ≈ 1100–1400) — cosmological recombination. Numerically verified: at Ωbh²=0.0224 this model gives Xe≈0.0041 at z=1100 and Xe≈0.61 at z=1400, matching the standard equilibrium-Saha textbook range.
The bright dot is a CMB photon undergoing Thomson scattering off free electrons. Its mean free path scales as ℓ ∝ 1/(Xe·n_b), so the model schedules its next bounce after a randomized interval proportional to that mean free path. While Xe is high it scatters constantly (the plasma is opaque); once Xe drops below ≈1%, bounces become rare and the photon effectively free-streams — the moment this happens is the last scattering surface, the origin of the CMB we observe today. The strip under the main view plots Xe(z) for the current baryon density, with a marker at the live redshift.
- Redshift z — sets the cosmic epoch directly; drag it down through z ≈ 1100–1400 to watch recombination happen.
- Ωbh² — the universe's baryon density; a denser universe recombines at a slightly higher redshift (Saha's n_b dependence) — watch the curve panel shift.
- Cool the universe — animates z decreasing smoothly over time, like watching cosmic history play forward.
- Drag the main view to pan the cloud, scroll to zoom in/out.