Growth factor from transfer_out.dat with CAMB

Use of Healpix, camb, CLASS, cosmomc, compilers, etc.
Giacomo Baso
Posts: 3
Joined: May 26 2016
Affiliation: University of Padua - Department of Physics and Astronomy

Growth factor from transfer_out.dat with CAMB

I'm a PhD student in computational cosmology but I'm new to CAMB, so forgive me if the question is trivial.
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&#58; The following floating-point exceptions are signalling&#58; IEEE_UNDERFLOW_FLAG
The code was compiled with gfortran 5.4.0

I have the last version of CAMB, with the following parameter file:

Code: Select all

DEFAULT&#40;params.ini&#41; # 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_num_redshifts  = 1
transfer_redshift&#40;1&#41;    = 05.00
#which variable to use for defining the matter power spectrum and sigma8
#main choices are 2&#58; CDM, 7&#58; CDM+baryon+neutrino, 8&#58; CDM+baryon, 9&#58; 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

Thanks!

Antony Lewis
Posts: 1659
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: Growth factor from transfer_out.dat with CAMB

Giacomo Baso
Posts: 3
Joined: May 26 2016
Affiliation: University of Padua - Department of Physics and Astronomy

Growth factor from transfer_out.dat with CAMB

Thanks for the reference, I'm not an expert on cosmological gauges but I see that's a physical effect that I should include (although it's probably outside the scale range we are interested with).

I'm still a little worried by the underflow exception, however. What's the cause of it?

Antony Lewis
Posts: 1659
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: Growth factor from transfer_out.dat with CAMB

That's harmless and fairly normal (if something is exponentially small, it's fine to underflow it to zero).

Giacomo Baso
Posts: 3
Joined: May 26 2016
Affiliation: University of Padua - Department of Physics and Astronomy

Growth factor from transfer_out.dat with CAMB

Got it, thank you.