lesgourg/class_public

CLASS - Matter power spectra insensitive to variation of CLP parameters w0 and wa

montechris1 opened this issue · 1 comments

Hello,

I am faced to an issue regarding the matter power spectra that I generate with CLASS code, making vary by a small step the CLP parameters w0 and wa.

The problem is that I get the same matter power sepctra for example between w0_up = w0 + 1e-1 and w0_down = w0 - 1e-1. I have also tried with smaller steps ( 1e-3 instead of 1e-1 ) but he result is the same.


# 8) Dark energy contributions.
#    At least one out of three conditions must be satisfied:
#          - 'Omega_Lambda' unspecified.
#          - 'Omega_fld' unspecified.
#          - 'Omega_scf' set to a negative value. [Will be refered to as
#             unspecified in the following text.]
#      The code will then use the first unspecified component to satisfy the
#      closure equation (sum_i Omega_i) equals (1 + Omega_k)
#      (default: 'Omega_fld' and 'Omega_scf' set to 0 and 'Omega_Lambda'
#      inferred by code)
Omega_fld = 0
Omega_scf = 0
# Omega_Lambda = 0.

# 8.a) If Omega fluid is different from 0

# 8.a.1) The flag 'use_ppf' is 'yes' by default, to use the PPF approximation
#        (see [0808.3125](https://cosmocoffee.info/discuss/0808.3125) [astro-ph]) allowing perturbations to cross the
#        phantom divide. Set to 'no' to enforce true fluid equations for
#        perturbations. When the PPF approximation is used, you can choose the
#        ratio 'c_gamma_over_c_fld' (eq. (16) in [0808.3125](https://cosmocoffee.info/discuss/0808.3125)). The default is 0.4
#        as recommended by that reference, and implicitely assumed in other
#        codes. (default: 'use_ppf' to yes, 'c_gamma_over_c_fld' to 0.4)
use_ppf = yes
c_gamma_over_c_fld = 0.4

# 8.a.2) Choose your equation of state between different models,
#         - 'CLP' for p/rho = w0_fld + wa_fld (1-a/a0)
#           (Chevalier-Linder-Polarski),
#         - 'EDE' for early Dark Energy
#      (default:'fluid_equation_of_state' set to 'CLP')
fluid_equation_of_state = CLP

# 8.a.2.1) Equation of state of the fluid in 'CLP' case and squared sound speed
#          'cs2_fld' of the fluid (this is the sound speed defined in the frame
#          comoving with the fluid, i.e. obeying to the most sensible physical
#          definition). Generalizing w(a) to a more complicated expressions would
#          be easy, for that, have a look into source/background.c at the
#          function background_w_fld(). (default: 'w0_fld' set to -1, 'wa_fld' to
#          0, 'cs2_fls' to 1)
w0_fld = -1.0
wa_fld = 0.0
#cs2_fld = 1

# 8.a.2.2) Equation of state of the fluid in 'EDE' case and squared sound speed
#          'cs2_fld' of the fluid (this is the sound speed defined in the frame
#          comoving with the fluid, i.e. obeying to the most sensible physical
#          definition). Generalizing w(a) to a more complicated expressions would
#          be easy, for that, have a look into source/background.c at the
#          function background_w_fld(). (default: 'w0_fld' set to -1, 'Omega_EDE'
#          to 0, 'cs2_fls' to 1)
#w0_fld = -0.9
Omega_EDE = 0.7
#cs2_fld = 1

And in my script, I have coded the following where I have put before the parameter :

UseOmegaDE_ch = 1

so only the part in following :
else

is taken into account (CLP part).


        if XSAF_elts['UseOmegaDE_ch'] == '0':
            params.update({
                'fluid_equation_of_state': 'EDE',
                "Omega_EDE": self.wde.val
            })
        else:
            params.update({
                'fluid_equation_of_state': 'CLP',
                "w0_fld": self.w0.val,
                "wa_fld": self.wa.val
            })

I would like to be able to get different matter power spectra that are modified significantly if I change the values of w0 et wa paramters compared to their fiducial values ( w0_fid = -1 and wa_fid=0 ).

I put in attachment the entire explanatory_base.ini file :

explanatory_base.ini.txt help is welcome.

Which version of CLASS are you using? Have you tried variations in the parameters larger than 0.1? Have you tried running CLASS directly from the C and not the Python wrapper?