CLASSpp Manual
Cosmology reference and developer manual
Loading...
Searching...
No Matches
primordial.h
Go to the documentation of this file.
1
3#ifndef __PRIMORDIAL__
4#define __PRIMORDIAL__
5
6#include <string>
7
8#include "perturbations.h"
9
13 analytic_Pk,
14 two_scales,
15 inflation_V,
16 inflation_H,
17 inflation_V_end,
18 external_Pk
19};
20
23enum linear_or_logarithmic { linear, logarithmic };
24
27enum potential_shape { polynomial, natural, higgs_inflation };
28
31enum target_quantity { _aH_, _phi_, _end_inflation_, _a_ };
32
35enum integration_direction { backward, forward };
36
39enum time_definition { conformal, proper };
40
43enum phi_pivot_methods { N_star, ln_aH_ratio, ln_aH_ratio_auto };
44
47enum inflation_module_behavior { numerical, analytical };
48
56struct primordial {
62
63 double k_pivot = 0.05;
66 analytic_Pk;
68 /* - parameters describing the case primordial_spec_type = analytic_Pk : amplitudes, tilts, runnings, cross-correlations, ... */
69
70 double A_s = 2.215e-9;
71 double sigma8 = 0.;
72 double n_s = 0.9619;
73 double alpha_s = 0.;
75 double r = 1.;
76 double n_t =
77 -r / 8. *
78 (2. - r / 8. -
79 n_s);
80 double alpha_t = r / 8. *
81 (r / 8. + n_s -
82 1.);
84 double f_bi = 1.;
85 double n_bi = 1.;
86 double alpha_bi = 0.;
88 double f_cdi = 1.;
89 double n_cdi = 1.;
90 double alpha_cdi = 0.;
92 double f_nid =
93 1.;
94 double n_nid = 1.;
95 double alpha_nid = 0.;
97 double f_niv =
98 1.;
99 double n_niv = 1.;
100 double alpha_niv = 0.;
102 double c_ad_bi = 0.;
103 double n_ad_bi = 0.;
104 double alpha_ad_bi = 0.;
106 double c_ad_cdi = 0.;
107 double n_ad_cdi = 0.;
108 double alpha_ad_cdi = 0.;
110 double c_ad_nid = 0.;
111 double n_ad_nid = 0.;
112 double alpha_ad_nid = 0.;
114 double c_ad_niv = 0.;
115 double n_ad_niv = 0.;
116 double alpha_ad_niv = 0.;
118 double c_bi_cdi = 0.;
119 double n_bi_cdi = 0.;
120 double alpha_bi_cdi = 0.;
122 double c_bi_nid = 0.;
123 double n_bi_nid = 0.;
124 double alpha_bi_nid = 0.;
126 double c_bi_niv = 0.;
127 double n_bi_niv = 0.;
128 double alpha_bi_niv = 0.;
130 double c_cdi_nid = 0.;
131 double n_cdi_nid = 0.;
132 double alpha_cdi_nid = 0.;
134 double c_cdi_niv = 0.;
135 double n_cdi_niv = 0.;
136 double alpha_cdi_niv = 0.;
138 double c_nid_niv = 0.;
139 double n_nid_niv = 0.;
140 double alpha_nid_niv = 0.;
144 enum potential_shape potential = polynomial;
145
146 double V0 = 1.25e-13;
147 double V1 = -1.12e-14;
148 double V2 = -6.95e-14;
149 double V3 = 0.;
150 double V4 = 0.;
152 /* parameters describing the case primordial_spec_type = inflation_H */
153
154 double H0 = 3.69e-6;
155 double H1 = -5.84e-7;
156 double H2 = 0.;
157 double H3 = 0.;
158 double H4 = 0.;
160 /* parameters describing inflation_V_end */
161
162 double phi_end = 0.;
164 N_star;
166 60;
168 /* behavior of the inflation module */
170 numerical;
174 std::string command;
175 double custom1 = 0.;
176 double custom2 = 0.;
177 double custom3 = 0.;
178 double custom4 = 0.;
179 double custom5 = 0.;
180 double custom6 = 0.;
181 double custom7 = 0.;
182 double custom8 = 0.;
183 double custom9 = 0.;
184 double custom10 = 0.;
187
191
193 0;
196};
197
198class PrimordialModule;
199struct primordial_inflation_parameters_and_workspace {
200 primordial_inflation_parameters_and_workspace(PrimordialModule* p_m) : primordial_module(p_m) {}
201 const PrimordialModule* primordial_module;
202 double N;
203 double a2;
204
205 double V;
206 double dV;
207 double ddV;
208 double aH;
209
210 double H;
211 double dH;
212 double ddH;
213 double dddH;
214
215 double zpp_over_z;
216 double app_over_a;
217
218 double k;
219
220 enum integration_direction integrate;
221 enum time_definition time;
222};
223
229
230#define _K_PER_DECADE_PRIMORDIAL_MIN_ 1.
231
233
234#endif
target_quantity
Definition primordial.h:31
double n_bi
Definition primordial.h:85
enum primordial_spectrum_type primordial_spec_type
Definition primordial.h:65
double alpha_cdi
Definition primordial.h:90
double custom2
Definition primordial.h:176
enum phi_pivot_methods phi_pivot_method
Definition primordial.h:163
double alpha_bi
Definition primordial.h:86
double c_ad_niv
Definition primordial.h:114
double custom9
Definition primordial.h:183
double alpha_bi_cdi
Definition primordial.h:120
double alpha_nid_niv
Definition primordial.h:140
double f_nid
Definition primordial.h:92
double custom7
Definition primordial.h:181
double c_ad_bi
Definition primordial.h:102
double n_s
Definition primordial.h:72
double alpha_t
Definition primordial.h:80
double alpha_s
Definition primordial.h:73
double f_bi
Definition primordial.h:84
std::string command
Definition primordial.h:174
double H3
Definition primordial.h:157
double alpha_ad_niv
Definition primordial.h:116
double c_nid_niv
Definition primordial.h:138
double n_ad_cdi
Definition primordial.h:107
double f_niv
Definition primordial.h:97
double c_cdi_nid
Definition primordial.h:130
double H1
Definition primordial.h:155
enum potential_shape potential
Definition primordial.h:144
double V3
Definition primordial.h:149
double custom8
Definition primordial.h:182
double n_ad_nid
Definition primordial.h:111
double alpha_ad_cdi
Definition primordial.h:108
double n_nid_niv
Definition primordial.h:139
double c_bi_nid
Definition primordial.h:122
inflation_module_behavior
Definition primordial.h:47
double custom4
Definition primordial.h:178
double H4
Definition primordial.h:158
time_definition
Definition primordial.h:39
double n_ad_niv
Definition primordial.h:115
double n_cdi
Definition primordial.h:89
primordial_spectrum_type
Definition primordial.h:12
double c_ad_nid
Definition primordial.h:110
double n_bi_nid
Definition primordial.h:123
double V0
Definition primordial.h:146
double k_pivot
Definition primordial.h:63
double A_s
Definition primordial.h:70
double alpha_nid
Definition primordial.h:95
double c_ad_cdi
Definition primordial.h:106
double n_ad_bi
Definition primordial.h:103
double n_cdi_niv
Definition primordial.h:135
double f_cdi
Definition primordial.h:88
double custom1
Definition primordial.h:175
double sigma8
Definition primordial.h:71
double V1
Definition primordial.h:147
double V2
Definition primordial.h:148
double n_t
Definition primordial.h:76
enum inflation_module_behavior behavior
Definition primordial.h:169
double H0
Definition primordial.h:154
double c_cdi_niv
Definition primordial.h:134
potential_shape
Definition primordial.h:27
double alpha_cdi_niv
Definition primordial.h:136
short primordial_verbose
Definition primordial.h:192
double c_bi_niv
Definition primordial.h:126
double custom3
Definition primordial.h:177
double r
Definition primordial.h:75
double c_bi_cdi
Definition primordial.h:118
double alpha_cdi_nid
Definition primordial.h:132
phi_pivot_methods
Definition primordial.h:43
double alpha_niv
Definition primordial.h:100
double alpha_ad_bi
Definition primordial.h:104
double n_bi_niv
Definition primordial.h:127
double phi_pivot_target
Definition primordial.h:165
double n_cdi_nid
Definition primordial.h:131
double alpha_bi_niv
Definition primordial.h:128
double V4
Definition primordial.h:150
double phi_end
Definition primordial.h:162
double custom5
Definition primordial.h:179
double n_bi_cdi
Definition primordial.h:119
double alpha_ad_nid
Definition primordial.h:112
double n_nid
Definition primordial.h:94
linear_or_logarithmic
Definition primordial.h:23
double custom10
Definition primordial.h:184
integration_direction
Definition primordial.h:35
double alpha_bi_nid
Definition primordial.h:124
double custom6
Definition primordial.h:180
double H2
Definition primordial.h:156
double n_niv
Definition primordial.h:99
Definition primordial.h:56