Module recombination

Source
Expand description

Hydrogen and helium recombination history.

Computes the free electron fraction X_e(z) needed for Thomson scattering rates and number densities throughout the spectral distortion era.

§Physical picture

  • z > 8000: Fully ionized (H + He). Helium is doubly ionized (He²⁺).
  • z ~ 6000: He²⁺ recombines to He⁺ (54.4 eV Saha).
  • z ~ 2000: He⁺ recombines to He (24.6 eV Saha).
  • z ~ 1500–800: Hydrogen recombines. Saha equilibrium breaks down due to the Lyman-α bottleneck; the Peebles three-level atom (TLA) captures the delayed freeze-out.
  • z < 200: Residual ionization freezes out at X_e ~ 2×10⁻⁴.

§Implementation

Follows DarkHistory’s three-level atom structure (Hongwan Liu et al. 2020):

  • alpha_recomb: Case-B recombination coefficient (Péquignot fit)
  • beta_ion: Photoionization rate from n=2
  • peebles_c: Peebles C factor decomposed into competing rates
  • Saha-subtracted ODE form to avoid catastrophic cancellation

The fudge factor F=1.125 follows Chluba & Thomas (2011, arXiv:1011.3758), matching DarkHistory. This gives ~1% accuracy in X_e, sufficient for spectral distortion calculations.

§References

  • Peebles (1968) — Three-level atom model
  • Péquignot, Petitjean & Boisson (1991) — Case-B recombination fit
  • Seager, Sasselov & Scott (1999) — RECFAST
  • Chluba & Thomas (2011, arXiv:1011.3758) — Updated fudge factor
  • Liu et al. (2020, DarkHistory) — Reference implementation

Structs§

RecombinationHistory
Precomputed recombination history for fast X_e(z) lookups.

Functions§

helium_electron_fraction
Helium electron contribution: free electrons per H atom from He.
ionization_fraction
Ionization fraction X_e(z) with Peebles TLA correction.
saha_he_i
He I → He Saha ionization fraction (24.6 eV).
saha_he_ii
He II → He I Saha ionization fraction (54.4 eV).
saha_hydrogen
Hydrogen Saha ionization fraction.