CAMB: increasing accuracy boost past ~20 leads to an error

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Adam Becker
Posts: 3
Joined: June 30 2009
Affiliation: University of Michigan

CAMB: increasing accuracy boost past ~20 leads to an error

Post by Adam Becker » February 05 2011

Hi there! I'm using CAMB to generate the radiation transfer functions, and for my purposes I need an extremely high sampling rate in k. Pushing accuracy_boost up to 15 in params.ini seems to do this, but past 18 I get warnings of the form

Warning: Rombint failed to converge;
integral, error, tol: 14549.523171768193 -1.84297022087775986E-014 2.54366564737692307E-020

and past about 25 I get an error saying

Error in dverk, x = 9742.8922683139335 xend= 9744.8323816957509

Can anyone help me out here? I recognize that I'm looking for a really high level of k-sampling, but the radiation transfer functions oscillate a lot and I need to be sure that I'm sampling them correctly. Thanks!

Ben Gold
Posts: 81
Joined: September 25 2004
Affiliation: University of Minnesota
Contact:

CAMB: increasing accuracy boost past ~20 leads to an error

Post by Ben Gold » February 06 2011

There are many places in the code where the tolerances for integration tighten exponentially as AccuracyBoost increases, e.g.

Code: Select all

tol1=tol/exp(AccuracyBoost-1)
You can see that in your Rombint warning - it's trying to evaluate an integral with a result of about 10^4 to an accuracy of 10^{-20}. This will probably never work, because even double precision can only carry about 16 digits.

So if you really need AccuracyBoost that high (and I really wonder), I think you're going to have to go in and change the tolerances to loosen the settings on the integrations.

Post Reply