Reionization models

class camb.reionization.ReionizationModel(*args, **kwargs)[source]

Abstract base class for reionization models.

The optional include_heating switch adds an approximate model of the photo-heating of the intergalactic medium during reionization. It is a very crude instantaneous-Jeans approximation for an order of magnitude estimate. When enabled, the baryon temperature is smoothly raised towards reion_temperature (default \(10^4\) K) following the ionization-fraction shape, and the baryon sound speed is mapped towards the corresponding ideal-gas value. This raises the baryon pressure, suppressing small-scale baryon (and hence total matter) power. It is off by default and only affects the low-redshift matter power spectrum.

Variables:
  • Reionization – (boolean) Is there reionization? (can be off for matter power, which is independent of it)

  • include_heating – (boolean) Whether to include approximate smooth reionization heating following the x_e shape (default False)

  • reion_temperature – (float64) Asymptotic gas temperature in K reached during reionization heating (default 1e4 K)

class camb.reionization.BaseTauWithHeReionization(*args, **kwargs)[source]

Bases: ReionizationModel

Abstract class for models that map z_re to tau, and include second reionization of Helium

Variables:
  • use_optical_depth – (boolean) Whether to use the optical depth or redshift parameters

  • redshift – (float64) Reionization redshift (xe=0.5) if use_optical_depth=False

  • optical_depth – (float64) Optical depth if use_optical_depth=True

  • fraction – (float64) Reionization fraction when complete, or -1 for full ionization of hydrogen and first ionization of helium.

  • include_helium_fullreion – (boolean) Whether to include second reionization of helium

  • helium_redshift – (float64) Redshift for second reionization of helium

  • helium_delta_redshift – (float64) Width in redshift for second reionization of helium

  • helium_redshiftstart – (float64) Include second helium reionization below this redshift

  • tau_solve_accuracy_boost – (float64) Accuracy boosting parameter for solving for z_re from tau

  • timestep_boost – (float64) Accuracy boosting parameter for the minimum number of time sampling steps through reionization

  • max_redshift – (float64) Maximum redshift allowed when mapping tau into reionization redshift

get_zre(params, tau=None)[source]

Get the midpoint redshift of reionization.

Parameters:
  • paramsmodel.CAMBparams instance with cosmological parameters

  • tau – if set, calculate the redshift for optical depth tau, otherwise uses currently set parameters

Returns:

reionization mid-point redshift

set_extra_params(max_zrei=None)[source]

Set extra parameters (not tau, or zrei)

Parameters:

max_zrei – maximum redshift allowed when mapping tau into reionization redshift

set_tau(tau)[source]

Set the optical depth

Parameters:

tau – optical depth

Returns:

self

set_zrei(zrei)[source]

Set the mid-point reionization redshift

Parameters:

zrei – mid-point redshift

Returns:

self

class camb.reionization.TanhReionization(*args, **kwargs)[source]

Bases: BaseTauWithHeReionization

This default (unphysical) tanh x_e parameterization is described in Appendix B of arXiv:0804.3865

Variables:

delta_redshift – (float64) Duration of reionization

set_extra_params(deltazrei=None, max_zrei=None) None[source]

Set extra parameters (not tau, or zrei)

Parameters:
  • deltazrei – delta z for reionization

  • max_zrei – maximum redshift allowed when mapping tau into reionization

class camb.reionization.ExpReionization(*args, **kwargs)[source]

Bases: BaseTauWithHeReionization

An ionization fraction that decreases exponentially at high z, saturating to fully ionized at fixed redshift. This model has a minimum non-zero tau around 0.04 for reion_redshift_complete=6.1. Similar to e.g. arXiv:1509.02785, arXiv:2006.16828, but not attempting to fit shape near x_e~1 at z<6.1

Variables:
  • reion_redshift_complete – (float64) end of reionization

  • reion_exp_smooth_width – (float64) redshift scale to smooth exponential

  • reion_exp_power – (float64) power in exponential, exp(-lambda(z-redshift_complete)^exp_power)

set_extra_params(reion_redshift_complete=None, reion_exp_power=None, reion_exp_smooth_width=None, max_zrei=None) None[source]

Set extra parameters (not tau, or zrei)

Parameters:
  • reion_redshift_complete – redshift at which reionization complete (e.g. around 6)

  • reion_exp_power – power in exponential decay with redshift

  • reion_exp_smooth_width – smoothing parameter to keep derivative smooth

  • max_zrei – maximum redshift allowed when mapping tau into reionization