I am trying to change cosmomc for adding two extra, new parameters.
In new model, the scalar power spectrum multiplied by an exponential cut-off:
P_s(k)=P_0(k)*(1-exp(-(k/k_c)^lc))),
I wanna to get the bestfit value of "k_c" and "lc", following the procedure in CosmoMC readme I added the "k_c" successfully.
for "lc", I use an easier and faster way, to modify the parameter "n_run" which not be use in my model and use it to instead of "lc".
However, For Planck TT,TE,EE+lowP, the best-fit model has n_run=0.63, and ln(k_c/Mpc^-1)=-7.96. (the correct bestfit is lc=0.53(n_run=0.53) and ln(k_c/Mpc^-1)=-7.98) Maybe there is something wrong with the modification about n_run.
I made some modifications for "n_run" in the following files:
in cosmomc/CAMB/power_tilt.f90, I modify the scalar power-law spectrum
as my new model.
in cosmomc/source/CosmologyParameterizations.f90, I modify the
Code: Select all
derived(ix) = CMB%InitPower(ns_index) +CMB%InitPower(nrun_index)*lograt +&
CMB%InitPower(nrunrun_index)*lograt**2/2
as
Code: Select all
derived(ix) = CMB%InitPower(ns_index) +&
CMB%InitPower(nrunrun_index)*lograt**2/2
Code: Select all
param[nrun] = 0.6, 0, 1, 0.01, 0.01
PS:the version of CosmoMC is 2015 July, and ifort is 14+