I have a need to compute the growth factor with CAMB, in preparation for a work with massive neutrinos, for which I don't have a analytical approximation in the transition region ~ k_nr.
From the README the output file <root>_transfer_out.dat contains the values of Delta_X \equiv (delta rho_X)/rho_X at the desired redshift, so it should be possible to run CAMB at a set of different redshifts and just take the ratio of Delta_tot(z=0) and Delta_tot(z) to obtain the growth factor at redshift z.
In a pure ΛCDM universe this ratio should not depend on the scale k. However, I find something like this:
The red horizontal line is the prediction from the linear theory, using the approximation from Lahav & Suto (2004): D(a) ~ a g(a)
High-k cut-off notwithstanding, there are two different values at different scales, neither of which is equal to the linear prediction. The difference gets bigger at higher redshifts, i.e. \Delta D ~ 0.2 at z=20 and \Delta D ~ 6 at z=99. Am I missing something? Or is there some physical effects at play here, or maybe a numerical instability?
I should also mention that CAMB gives me the following error every time I run it:
Code: Select all
Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG
I have the last version of CAMB, with the following parameter file:
Code: Select all
DEFAULT(params.ini) # Version 0.1.2
#output_root is prefixed to output file names
output_root = planck/05.00
#What to do
get_scalar_cls = T
get_vector_cls = F
get_tensor_cls = F
get_transfer = T
do_lensing = F
#Main cosmological parameters, neutrino masses are assumed degenerate
use_physical = F
omega_baryon = 0.04825
omega_cdm = 0.25886
omega_lambda = 0.69289
omega_neutrino = 0
hubble = 67.77
#Transfer function settings, transfer_kmax=0.5 is enough for sigma_8
#transfer_k_per_logint=5 samples fixed spacing in log-k
transfer_high_precision = T
transfer_kmax = 100
transfer_k_per_logint = 5
transfer_num_redshifts = 1
transfer_redshift(1) = 05.00
#which variable to use for defining the matter power spectrum and sigma8
#main choices are 2: CDM, 7: CDM+baryon+neutrino, 8: CDM+baryon, 9: CDM+baryon+neutrino+de perts
transfer_power_var = 8
#Increase accuracy_boost to decrease time steps, use more k values, etc.
#Decrease to speed up at cost of worse accuracy. Suggest 0.8 to 3.
accuracy_boost = 2