This repository has been archived by the owner on Nov 14, 2023. It is now read-only.
forked from lesgourg/class_public
-
Notifications
You must be signed in to change notification settings - Fork 0
/
benchmark.ini
executable file
·388 lines (249 loc) · 20.4 KB
/
benchmark.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
* CLASS input parameter file *
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
> This example of input file, intended for CLASS beginners, lists all possibilities with detailed comments.
> You can use a more concise version, in which only the arguments in which you are interested would appear.
> Only lines containing an equal sign not preceded by a sharp sign "#" are considered by the code. Hence, do not write an equal sign within a comment, the whole line would be interpreted as relevant input.
> Input files must have an extension ".ini".
----------------------------
----> background parameters:
----------------------------
1) Hubble parameter : either 'H0' in km/s/Mpc or 'h' (default: 'h' set to 0.704)
#H0 = 72.
h =0.7
2) photon density: either 'T_cmb' in K or 'Omega_g' or 'omega_g' (default: 'T_cmb' set to 2.726)
T_cmb = 2.726
#Omega_g = 5.050601e-05
#omega_g = 2.47479449e-5
3) baryon density: either 'Omega_b' or 'omega_b' (default: 'omega_b' set to 0.02253)
Omega_b = 0.05
#omega_b = 0.0266691
4) ultra-relativistic species / massless neutrino density: either 'N_eff' or 'Omega_ur' or 'omega_ur' (default: 'N_eff' set to 3.04)
#N_eff = 3.04
N_eff = 3.04
#Omega_ur = 3.4869665e-05
#omega_ur = 1.70861334e-5
5) density of cdm (cold dark matter): 'Omega_cdm' or 'omega_cdm' (default: 'omega_cdm' set to 0.1122)
Omega_cdm = 0.25
#omega_cdm = 0.110616
6) all parameters describing the ncdm sector (i.e. any non-cold dark matter relics,
including massive neutrinos, warm dark matter, etc.):
-> 'N_ncdm' is the number of distinct species (default: set to 0)
N_ncdm = 0
-> 'use_ncdm_psd_files' is the list of N_ncdm numbers: 0 means 'phase-space distribution (psd) passed analytically inside the code, in the mnodule background.c, inside the function background_ncdm_distribution()'; 1 means 'psd passed as a file with at list two columns: first for q, second for f_0(q)', where q is p/T_ncdm (default: only zeros)
#use_ncdm_psd_files = 0
-> if some of the previous values are equal to one, 'ncdm_psd_filenames' is the list of names of psd files (as many as number of ones in previous entry)
ncdm_psd_filenames = psd_FD_single.dat
-> 'ncdm_psd_parameters' is an optional list of double parameters to describe the analytic distribution function or to modify a p.s.d. passed as a file. It is made available in the routine background_ncdm_distribution.
#ncdm_psd_parameters = Nactive, sin^2_12 ,s23 ,s13
ncdm_psd_parameters = 0.3 ,0.5, 0.05
The remaining parameters should be entered as a list of N_ncdm numbers separated by commas:
-> 'Omega_ncdm' or 'omega_ncdm' or 'm_ncdm' in eV (default: all set to zero);
with only one of these inputs, CLASS computes the correct value of the mass;
if both (Omega_ncdm, m_ncdm) or (omega_ncdm, m_ncdm) are passed,
CLASS will renormalise the psd in order to fulfill both conditions.
Passing zero in the list of m_ncdm's or Omeg_ncdm's means that for this
component, this coefficient is not imposed, and its value is inferred
from the other one.
m_ncdm = 0.04, 0.04, 0.04
Omega_ncdm =
-> 'T_ncdm' is the ncdm temperature in units of photon temperature (default: set to (4/11)^(1/3))
Note that active massive neutrinos, the recommended default value is 0.715985
(this value is fudged to account for realistic neutrino decoupling:
gives m/omega equal to 93.14 eV, as in hep-ph/0506164)
#T_ncdm = 0.715985
-> 'ksi_ncdm' is the ncdm chemical potential in units of its own temperature (default: set to 0)
ksi_ncdm =
-> 'deg_ncdm' is the degeneracy parameter multiplying the psd: 1 stands for 'one family', i.e. one particle + anti-particle (default: set to 1.0)
deg_ncdm =
7) curvature: 'Omega_k' (default: 'Omega_k' set to 0)
Omega_k = 0.
8) cosmological constant / fluid with constant w and sound speed (can be used to model simple dark energy models): enter one parameter out of 'Omega_Lambda' or 'Omega_fld', the other one is inferred by the code in such way that (sum_i Omega_i) equals (1 + Omega_k) (default: 'Omega_fld' set to 0 and 'Omega_Lambda' to (1+Omega_k-Omega_tot))
# Omega_Lambda = 0.7
Omega_fld = 0
9) equation of state parameter (p/rho equal to w0+wa(1-a0/a) ) and sound speed 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)
w0_fld = -0.9
wa_fld = 0.
cs2_fld = 1
10) scale factor today 'a_today' (arbitrary and irrelevant for most purposes) (default: set to 1)
# a_today = 1.
--------------------------------
----> thermodynamics parameters:
--------------------------------
1) primordial Helium fraction 'YHe', e.g. 0.25; if set to 'BBN' or 'bbn', will be inferred from Big Bang Nucleosynthesis (default: set to 'BBN')
YHe = 0.25
2) 'recombination' algorithm set to 'RECFAST' or 'HyRec'
recombination = RECFAST
2) parametrization of reionization: 'reio_parametrization' must be one of 'reio_none' (no reionization), 'reio_camb' (like CAMB: one tanh() step for hydrogen reionization one for second helium reionization), 'reio_bins_tanh' (binned history x_e(z) with tanh() interpolation between input values), 'reio_half_tanh' (like 'reio_camb' excepted that we match the function xe(z) from recombination with only half a tanh(z-z_reio))... (default: set to 'reio_camb')
reio_parametrization = reio_camb
3.a.) if 'reio_parametrization' set to 'reio_camb' or 'reio_half_tanh': enter one of 'z_reio' or 'tau_reio' (default: 'z_reio' set to 10.3), plus 'reionization_exponent', 'reionization_width', 'helium_fullreio_redshift', 'helium_fullreio_width' (default: set to 1.5, 1.5, 3.5, 0.5)
z_reio = 10.
#tau_reio = 0.084522
reionization_exponent = 1.5
reionization_width = 1.5
helium_fullreio_redshift = 3.5
helium_fullreio_width = 0.5
3.b.) if 'reio_parametrization' set to 'reio_bins_tanh': enter number of bins and list of z_i and xe_i defining the free electron density at the center of each bin. Also enter a dimensionless paramater regulating the sharpness of the tanh() steps, independently of the bin width; recommended sharpness is 0.3, smaller values will make steps too sharp, larger values will make the step very progressive but with discontinuity of x_e(z) derivative around z_i values. (default: set to 0, blank, blank, 0.3)
binned_reio_num = 3
binned_reio_z = 8,12,16
binned_reio_xe = 0.8,0.2,0.1
binned_reio_step_sharpness = 0.3
4.a) in order to model energy injection from DM annihilation, specify a parameter 'annihilation' corresponding to the energy fraction absorbed by the gas times the DM cross section divided by the DM mass, (f <sigma*v> / m_cdm), see e.g. 0905.0003, expressed here in units of m^3/s/Kg (default: set to zero)
annihilation = 0.
4.b) you can model simple variations of the above quanity as a function of redhsift. If 'annihilation_variation' is non-zero, the function F(z) defined as (f <sigma*v> / m_cdm)(z) will be a parabola in log-log scale between 'annihilation_zmin' and 'annihilation_zmax', with a curvature given by 'annihilation_variation' (must be negative), and with a maximum in 'annihilation_zmax'; it will be constant outside this range. To take DM halos into account, specify the parameters 'annihilation_f_halo', the amplitude of the halo contribution, and 'annihilation_z_halo', the characteristic redshift of halos (default: no variation, 'annihilation_variation' and 'annihilation_f_halo' set to zero).
annihilation_variation = 0.
annihilation_z = 1000
annihilation_zmax = 2500
annihilation_zmin = 30
annihilation_f_halo= 20
annihilation_z_halo= 8
4.c) You can also state whether you want to use the on-the-spot approximation (default: 'on the spot' is 'yes')
on the spot = yes
5) to model DM decay, specify a parameter 'decay' which is equal to the energy fraction absorbed by the gas divided by the lifetime of the particle, see e.g. 1109.6322, expressed here in 1/s (default: set to zero)
decay = 0.
----------------------------------------------------
----> define which perturbations should be computed:
----------------------------------------------------
1) list of output spectra requested:
- 'tCl' for temperature Cls,
- 'pCl' for polarization Cls,
- 'lCl' for CMB lensing potential Cls,
- 'dCl' for matter density Cls,
- 'sCl' for galaxy lensing potential Cls,
- 'mPk' for total matter power spectrum P(k) infered from gravitational potential,
- 'dTk' (or 'mTk') for density transfer functions for each species,
- 'vTk' for velocity transfer function for each species.
By defaut, the code will try to compute the following cross-correlation Cls (if available): temperature-polarisation, temperature-CMB lensing, polarization-CMB lensing, and density-lensing. Other cross-correlations are not computed because they would slow down the code considerably.
Can be left blank if you do not want to evolve cosmological perturbations at all. (default: set to blanck, no perturbation calculation)
output = tCl,pCl,lCl
#output = tCl,pCl,lCl,mPk
#output = mPk,mTk
2) if you want an estimate of the non-linear P(k), enter 'halofit' or 'Halofit' or 'HALOFIT' for Halofit, or 'trg' for the Time Renormalization Group method; or 'one-loop' for the one-loop method as implemented in the TRG module; otherwise leave blank (default: blank, no non-linear P(k))
non linear =
If you select 'trg', set initial condition to 'linear' or 'PT' (for perturbation theory), see arXiv:1106.2607 for the difference (default: set to 'PT')
non linear ic = PT
3) list of modes ('s' for scalars, 'v' for vectors, 't' for tensors). More than one letter allowed, can be attached or separated by arbitrary characters; letters can be small or capital. (default: set to 's')
modes = s
#modes = s,t
4) relevant only if you ask for 'tCl, lCl' and/or 'pCl, lCl': if you want the spectrum of lensed Cls, enter a word containing the letter 'y' or 'Y' (default: no lensed Cls)
lensing = yes
5) list of initial conditions for scalars ('ad' for adiabatic, 'bi' for baryon isocurvature, 'cdi' for CDM isocurvature, 'nid' for neutrino density isocurvature, 'niv' for neutrino velocity isocurvature). More than one of these allowed, can be attached or separated by arbitrary characters; letters can be small or capital. (default: set to 'ad')
ic = ad
#ic = ad&bi&nid
6) gauge in which calculations are performed: 'sync' or 'synchronous' or 'Synchronous' for synchronous, 'new' or 'newtonian' or 'Newtonian' for Newtonian/longitudinal gauge (default: set to synchronous)
gauge =
---------------------------------------------
----> define primordial perturbation spectra:
---------------------------------------------
1) primordial spectrum type ('analytic_Pk' for an analytic smooth function with amplitude, tilt, running, etc.; analytic spectra with feature can also be added as a new type;'inflation_V' for a numerical computation of the inflationary primordial spectrum, through a full integration of the perturbation equation, given a parametrization of the potential V(phi), like in astro-ph/0703625; there is also an option 'two scales' in order to specify two amplitudes instead of one amplitude and one tilt, like in the isocurvature mode analysis of the Planck inflation paper (works also for adiabatic mode only; see details below, item 2.c) (default: set to 'analytic_Pk')
P_k_ini type = analytic_Pk
2) parameters related to one of the primordial spectrum types (will only be read if they correspond to the type selected above)
2.a) for type 'analytic_Pk':
2.a.1) pivot scale in Mpc-1 (default: set to 0.002)
k_pivot = 0.05
2.a.2) scalar adiabatic perturbations: curvature power spectrum value at pivot scale, tilt at the same scale, and tilt running (default: set 'A_s' to 2.42e-9, 'n_s' to 0.967, 'alpha_s' to 0)
A_s = 2.3e-9
n_s = 1.
alpha_s = 0.
2.a.3) isocurvature/entropy perturbations: for each mode xx ('xx' being one of 'bi', 'cdi', 'nid', 'niv', corresponding to baryon, cdm, neutrino density and neutrino velocity entropy perturbations), enter the entropy-to-curvature ratio f_xx, tilt n_xx and running alpha_xx, all defined at the pivot scale; e.g. f_cdi of 0.5 means S_cdi/R equal to one half and (S_cdi/R)^2 to 0.25 (default: set each 'f_xx' to 1, 'n_xx' to 1, 'alpha_xx' to 0)
f_bi = 1.
n_bi = 1.5
f_cdi=1.
f_nid=1.
n_nid=2.
alpha_nid= 0.01
etc.
2.a.4) cross-correlation between different adiabatic/entropy mode: for each pair (xx, yy) where 'xx' and 'yy' are one of 'ad', 'bi', 'cdi', 'nid', 'niv', enter the correlation c_xx_yy (parameter between -1 and 1, standing for cosDelta, the cosine of the cross-correlation angle), the tilt n_xx_yy of the function cosDelta(k), and its running alpha_xx_yy, all defined at the pivot scale. So, for a pair of fully correlated (resp. anti-correlated) modes, one should set (c_xx_yy, n_xx_yy, alpha_xx_yy) to (1,0,0) (resp. (-1,0,0) (default: set each 'c_xx_yy' to 0, 'n_xx_yy' to 0, 'alpha_xx_yy' to 0)
c_ad_bi = 0.5
#n_ad_bi = 0.1
c_ad_cdi = -1.
c_bi_nid = 1.
#n_bi_nid = -0.2
#alpha_bi_nid = 0.002
etc.
2.a.5) tensor mode (if any): tensor-to-scalar power spectrum ratio, tilt, running at the pivot scale; if 'n_t' and/or 'alpha_t' is set to 'scc' or 'SCC' isntead of a numerical value, it will be inferred from the self-consistency condition of single field slow-roll inflation: for n_t, -r/8*(2-r/8-n_s); for alpha_t, r/8(r/8+n_s-1) (default: set 'r' to 1, 'n_t' to 'scc', 'alpha_t' to 'scc')
r = 1.
n_t = scc
alpha_t = scc
2.b) for type 'inflation_V':
2.b.1) type of potential
2.b.1) value of scalar field when the pivot scale crossed the hubble radius, 'phi_pivot', in units of Planck mass. Since with 'inflation_V' we only constrain the observable window of the inflaton potential, only variations of phi are relevant, and 'phi_pivot' can be fixed to whatever value without impacting the result (defaut: 'phi_pivot' is zero)
phi_pivot =
2.b.2) type of potential: 'polynomial' for a Taylor expansion of the potential around phi_pivot. Other shapes can easily be defined in primordial module.
potential = polynomial
2.b.3) for 'inflation_V' and 'polynomial': enter either the coefficients 'V_0', 'V_1', 'V_2', 'V_3', 'V_4' of the Taylor expansion (in units of Planck mass to appropriate power), or their ratios 'R_0', 'R_1', 'R_2', 'R_3', 'R_4' that coincide in the slow-roll limit with A_s, epsilon, and higher-order potential-slow-roll parameters (default: 'V_0' set to 1.25e-13, 'V_1' to 1.12e-14, 'V_2' to 6.95e-14, 'V_3' and 'V_4' to zero).
V_0=1.e-13
V_1=-1.e-14
V_2=7.e-14
V_3=
V_4=
#R_0=2.18e-9
#R_1=0.1
#R_2=0.01
#R_3=
#R_4=
2.c) for type 'two_scales' (currently this option works only for scalar modes, and either for pure adiabatic modes or adiabatic + one type of isocurvature):
2.c.1) two wavenumbers 'k1' and 'k2' in 1/Mpc, at which primordial amplitude parameters will be given. The value of 'k_pivot' will not be used in input but quantities at k_pivot will still be calculated and stored in the primordial structure (no default value: compulsory input if 'P_k_ini type' has been set to 'two_scales')
k1=0.002
k2=0.1
2.c.2) two amplitudes 'P_{RR}^1', 'P_{RR}^2' for the adiabatic primordial spectrum (no default value: compulsory input if 'P_k_ini type' has been set to 'two_scales')
P_{RR}^1 = 2.3e-9
P_{RR}^2 = 2.3e-9
2.c.3) if one isocurvature mode has been turned on ('ic' set e.g. to 'ad,cdi' or 'ad,nid', etc.), enter values of the isocurvature amplitude 'P_{II}^1', 'P_{II}^2', and cross-correlation amplitude 'P_{RI}^1', '|P_{RI}^2|' (see Planck paper on inflation for details on definitions)
P_{II}^1 = 1.e-11
P_{II}^2 = 1.e-11
P_{RI}^1 = -1.e-13
|P_{RI}^2| = 1.e-13
2.c.4) set 'special iso' to 'axion' or 'curvaton' for two particular cases: 'axion' means uncorrelated, n_ad equal to n_iso, 'curvaton' means fully anti-correlated with f_iso<0 (in the conventions of the Planck inflation paper this would be called fully correlated), n_iso equal to one; in these two cases, the last three of the four paramneters in 2.c.3 will be over-written give the input for 'P_{II}^1' (defaut: 'special_iso' left blanck, code assumes general case described by four parameters of 2.c.3)
special_iso =
-------------------------------------
----> define format of final spectra:
-------------------------------------
1) maximum l for CLs:
- 'l_max_scalars' for CMB scalars (temperature, polarization, cmb lensing potential),
- 'l_max_tensors' for CMB tensors (temperature, polarization)
- 'l_max_lss' for Large Scale Structure Cls (density, galaxy lensing potential)
Reducing 'l_max_lss' with respect to l_max_scalars reduces the execution time significantly
(default: set 'l_max_scalars' to 2500, 'l_max_tensors' to 500, 'l_max_lss' to 300)
l_max_scalars = 2500
l_max_tensors = 500
#l_max_lss = 600
2) maximum k in P(k), 'P_k_max_h/Mpc' in units of h/Mpc or 'P_k_max_1/Mpc' in units of 1/Mpc. If scalar Cls are also requested, a minimum value is automatically imposed (the same as in scalar Cls computation) (default: set to 0.1h/Mpc)
P_k_max_h/Mpc = 1.
#P_k_max_1/Mpc = 0.7
3) value(s) 'z_pk' of redshift(s) for P(k,z) output file(s); can be ordered arbitrarily, but must be separated by comas (default: set 'z_pk' to 0)
z_pk = 0
#z_pk = 0., 1.2, 3.5
4) if the code is interfaced with routines that need to interpolate P(k,z) at various values of (k,z), enter 'z_max_pk', the maximum value of z at which such interpolations are needed. (default: set to maximum value in above 'z_pk' input)
#z_max_pk = 10.
6) if you need Cls for the matter density (option 'dCl'), or for the galaxy lensing potential (option 'sCl'), enter here a description of the selection functions W(z) of each redshift bin; selection can be set to 'gaussian', 'tophat' or 'dirac', then pass a list of N mean redshifts in growing order separated by comas, and 1 or N widths separated by comas. The width stands for one standard deviation of the gaussian (in z space), or for the half-width of the top-hat. Finally, non_diagonal sets the number of cross-correlation spectra that you want to calculate: 0 means only auto-correlation, 1 means only adjacent bins, and number of bins minus one means all correlations (default: set to 'gaussian',1,0.1,0)
selection=gaussian
selection_mean = 1.
selection_width = 0.5
non_diagonal=0
7) file name root 'root' for all output files (default: set 'root' to 'output/') (if Cl requested, written to '<root>cl.dat'; if P(k) requested, written to '<root>pk.dat'; plus similar files for scalars, tensors, pairs of initial conditions, etc.; if file with input parameters requested, written to '<root>parameters.ini')
root = output/test_
8) do you want headers at the beginning of each output file (giving precisions on the output units/ format) ? If 'headers' set to something containing the letter 'y' or 'Y', headers written, otherwise not written (default: written)
headers =
9) in all output files, do you want columns to be normalized and ordered with the default CLASS definitions or with the CAMB definitions (often idential to the CMBFAST one) ? Set 'format' to either 'class', 'CLASS', 'camb' or 'CAMB' (default: 'class')
format =
10) if 'bessel file' set to something containing the letters 'y' or 'Y', the code tries to read bessel functions in a file; if the file is absent or not adequate, bessel functions are computed and written in a file. The file name is set by defaut to 'bessels.dat' but can be changed together with precision parameters: just set 'bessel_file_name' to '<name>' either here or in the precision parameter file. (defaut: 'bessel file' set to 'no' and bessel functions are always recomputed)
bessel file = no
11) Do you want to write a table of background quantitites in a file? This will include H, densities, Omegas, various cosmological distances, sound horizon, etc., as a function of conformal time, proper time, scale factor. File created if 'write background' set to something containing the letter 'y' or 'Y', file written, otherwise not written (default: not written)
write background = no
12) Do you want to have all input/precision parameters which have been read written in file '<root>parameters.ini', and those not written in file '<root>unused_parameters' ? If 'write parameters' set to something containing the letter 'y' or 'Y', file written, otherwise not written (default: not written)
write parameters = yeap
----------------------------------------------------
----> amount of information sent to standard output:
----------------------------------------------------
Increase integer values to make each module more talkative (default: all set to 0)
background_verbose = 1
thermodynamics_verbose = 1
perturbations_verbose = 1
bessels_verbose = 1
transfer_verbose = 1
primordial_verbose = 1
spectra_verbose = 1
nonlinear_verbose = 1
lensing_verbose = 1
output_verbose = 1