Bolt

Development Notes

Conventions

This package works in Planck units, i.e.

$c = ħ = ϵ₀ = k_B = 1$

Note that G ≠ 1.

Conventionally, any scalar function of time, such as \eta, takes as input the logarithm of the scale factor x ≡ log(a). Any scalar function of time which does not operate on x must be marked with an underscore for the variable it does take, for example H_a.

Bolt.peebles_XₑMethod
peebles_Xₑ(par, Xₑ₀, x_start, x_end)

Solve the Peebles equation over a span of scale factors, and then construct an interpolator mapping scale factor to the resulting ionization fraction.

Arguments:

  • par: cosmological parameters
  • Xₑ₀: initial ionization fraction
  • x_start: scale factor to begin integration
  • x_end: scale factor to end integration

Returns:

  • generic function: interpolator for Xₑ(x)
source
Bolt.saha_peebles_recombinationMethod
saha_peebles_recombination(par::AbstractCosmoParams)

Utility function for generating a decent approximation to Xₑ in ΛCDM recombination, using the Saha equation until z=1587.4 and then the Peebles equation for the rest.

source