Constraining a cosmology with two new coupled parameters

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Albin Nilsson
Posts: 17
Joined: October 05 2016
Affiliation: NCBJ, Warsaw, Poland & Rutherford-Appleton Laboratory, Harwell, UK
Contact:

Constraining a cosmology with two new coupled parameters

Post by Albin Nilsson » October 17 2016

I'm sorry if this is a trivial question, but I am just getting started with cosmomc and I am a little confused.

I have a cosmological model which basically introduces two new parameters into the Friedmann equation, call them param1 and param2. These parameters are not independent, but depend on each other in some way. I would like to constrain these parameters using Planck data.
I assume that I need to calculate and predict some parameter values which I can then constrain using cosmomc. Could anyone tell me how to go about doing this? I know that there are a few threads about adding new parameters, but I have not been able to gather how to go about coding my specific case.

Thanks in advance

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

Re: Constraining a cosmology with two new coupled parameters

Post by Antony Lewis » October 17 2016

If param1 is a function of param2, then just add the one parameter param1, and calculate param2 in your theory/likelihood calculation.

Albin Nilsson
Posts: 17
Joined: October 05 2016
Affiliation: NCBJ, Warsaw, Poland & Rutherford-Appleton Laboratory, Harwell, UK
Contact:

Constraining a cosmology with two new coupled parameters

Post by Albin Nilsson » October 17 2016

By adding you mean following the procedure in: http://cosmocoffee.info/viewtopic.php?t ... c&start=15?

My problem is really that I don't understand how cosmomc then knows what param1 is, and how the equations for cosmological evolution depend on it.

In this case, it might be easier to redefine \Omega_M, \Omega_\Lambda, \Omega_curv and \Omega_rad, since my new parameters attach to all of those. Where are they defined?

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

Re: Constraining a cosmology with two new coupled parameters

Post by Antony Lewis » October 17 2016

It's the "Modify Calculator_CAMB.f90" step of the readme FAQ where you interface the cosmomc variable with CAMB which determines what it actually means.

Albin Nilsson
Posts: 17
Joined: October 05 2016
Affiliation: NCBJ, Warsaw, Poland & Rutherford-Appleton Laboratory, Harwell, UK
Contact:

Constraining a cosmology with two new coupled parameters

Post by Albin Nilsson » October 18 2016

Thanks for the help so far. This is what I have done:

1. Added line 115 in CosmologyTypes.f90, added 2 new parameters, param1 and param2
2. Changed the number of hard parameters on line 71 in CosmologyParameterization
s.f90 from 16 to 18.
3. Changed line 64 to call myparams.paramnames instead of params_CMB.paramnames
4. Created myparams.paramnames and added param1 and param2 at the end
5. Added lines 85 and 86 in Calculator_CAMB.f90 (real(dl) param1, and real(dl) param2)

The last step is then to modify the code to account for the structure changed by these new parameters; this is where I am stumped (partly because I don't speak Fortran).
My parameters attach to \Omega_m, \Omega_\Lambda, \Omega_rad and \Omega_curv in different ways.
If my new \Omega_m is (for example) \Omega = \Omega_m * param1, can I express that like this in Calculator_CAMB:

Code: Select all

P%omegab = CMB%omb * param1

and

Code: Select all

P%omegac = CMB%omc * param1
also, where do the other \Lambda CDM-parameters (curv and rad) come in?. I assume \Omega_m = \Omega_c + \Omega_b

Thanks again for answering my questions

Post Reply