lesgourg / class_public

Public repository of the Cosmic Linear Anisotropy Solving System (master for the most recent version of the standard code; GW_CLASS to include Cosmic Gravitational Wave Background anisotropies; classnet branch for acceleration with neutral networks; ExoCLASS branch for exotic energy injection; class_matter branch for FFTlog)
225 stars 282 forks source link

Non-constant equation of state #131

Open damonge opened 7 years ago

damonge commented 7 years ago

Hi folks,

for a project I was looking at the current implementation of the w0-wa model in CLASS and there's one thing I don't understand: in lines 4175 and 4177 of perturbations.c you seem to be using equations from https://arxiv.org/abs/1004.5509 , which (as explicitly stated in the paper) are only valid for constant w. Furthermore, what is actually currently implemented is the direct substitution w -> w0+wa (and not w -> w0+wa(1-a)) in these equations.

The comment around these lines reads "fluid (assumes wa=0, if this is not the case the fluid will catch anyway the attractor solution)".

Two questions: 1- To what extent is this a good approximation? Has this been quantified? 2- Is the substitution w -> w0+wa the best way of making this approximation? Or would w -> w(a) have been better? If not, what is the reason?

Thanks!

David

miguelzuma commented 7 years ago

Hi David,

I haven't checked that case in particular, but my experience is that the ICs for DE are not important unless DE is somehow important at early times (if you have early DE or similar). I think th values of w0-wa that mess up with the radiation era (and give you something in those lines) are excluded at some point in the code already.

I agree that it would be more sensible to use w(a_ini) under the assumption that is approximately constant. However, it probably doesn't matter, you can put the initial perturbation to zero (or any other value) and it will go fast where it belongs.

damonge commented 7 years ago

Hi Zuma,

OK, thanks. I guess what confuses me is why the substitution is w -> w0+wa. This would be the initial condition (i.e. at a=0), and not at late times. Given a generic w(a) (on which the same approximation could hold), what should be the procedure then? Should one use w(a->0)? w(a)? w(a->1)?