Reionization models
- class camb.reionization.ReionizationModel(*args, **kwargs)[source]
Abstract base class for reionization models.
The optional
include_heatingswitch 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 towardsreion_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:
ReionizationModelAbstract 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:
params –
model.CAMBparamsinstance with cosmological parameterstau – if set, calculate the redshift for optical depth tau, otherwise uses currently set parameters
- Returns:
reionization mid-point redshift
- class camb.reionization.TanhReionization(*args, **kwargs)[source]
Bases:
BaseTauWithHeReionizationThis default (unphysical) tanh x_e parameterization is described in Appendix B of arXiv:0804.3865
- Variables:
delta_redshift – (float64) Duration of reionization
- class camb.reionization.ExpReionization(*args, **kwargs)[source]
Bases:
BaseTauWithHeReionizationAn 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