Reionization temperature/pressure modelling
Following https://github.com/cmbant/CAMB/issues/171, currently the baryon temperature and pressure ignore reionization completely. Some simple model to fit expected changes over reionization to get leading-order correction approximately correct?
Augment Code: I implemented a simple reionization heating model in PR #183 that addresses this issue.
Model Description
The implementation adds a smooth heating model that:
-
Temperature evolution: Smoothly heats the baryon temperature
T_bfrom the recombination value to ~10^4 K following the shape of the reionization ionization fractionx_e -
Sound speed transition: Maps the baryon sound speed
cs^2smoothly from the original pre-reionization formula to an ideal gas formcs^2 = γ k_B T / (μ m_p)with γ=5/3 -
Preserves original behavior: Before reionization, the code uses the exact original
cs^2calculation. The transition is controlled by a weightyheatthat follows the reionization progression:yheat = (x_e - x_e_recomb) / (x_e_final - x_e_recomb) -
Smooth interpolation: The final quantities are:
T_gas = T_recomb + yheat * (T_reion - T_recomb) cs^2 = (1 - yheat) * cs^2_orig + yheat * cs^2_ideal
Control Parameter
The model is controlled by a new boolean parameter include_heating in the reionization model (default True). Setting it to False recovers the original behavior.
Effects on Matter Power Spectrum
The plots above show the fractional effect on the matter power spectrum. The heating model produces the expected suppression on small scales (k > 1 h/Mpc) due to increased baryon pressure during reionization, with effects reaching ~few percent level at k ~ 100-1000 h/Mpc.
The model provides a leading-order correction that captures the main physical effect while maintaining computational efficiency and backward compatibility.