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