Reionization models

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

Abstract base class for reionization models.

Variables:

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

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_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)[source]

Set extra parameters (not tau, or zrei)

Parameters:

deltazrei – delta z for 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)[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