Peano
Loading...
Searching...
No Matches
cosmology.h
Go to the documentation of this file.
1/*******************************************************************************
2 * This file is part of SWIFT.
3 * Copyright (c) 2017 Matthieu Schaller (schaller@strw.leidenuniv.nl)
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published
7 * by the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 ******************************************************************************/
19#ifndef SWIFT_COSMOLOGY_H
20#define SWIFT_COSMOLOGY_H
21
22/* Config parameters. */
23#include <config.h>
24
25/* Local includes. */
26//#include "parser.h"
27//#include "physical_constants.h"
28//#include "timeline.h"
29//#include "units.h"
30
34struct cosmology {
35
37 double a;
38
40 double a_inv;
41
43 double a2_inv;
44
46 double a3_inv;
47
51
54
57
60
63
66
69
71 double z;
72
74 double H;
75
79
82
85
89
93
97
100
102 double a_dot;
103
105 double time;
106
109
111 double w;
112
114 double a_old;
115
117 double z_old;
118
119 /*------------------------------------------------------------------ */
120
122 double a_begin;
123
125 double a_end;
126
129
131 double time_end;
132
134 double time_base;
135
138
140 double h;
141
143 double H0;
144
147
149 double Omega_cdm;
150
152 double Omega_b;
153
156
158 double Omega_r;
159
161 double Omega_g;
162
164 double Omega_nu;
165
168
170 double Omega_ur;
171
173 double Omega_k;
174
176 double w_0;
177
179 double w_a;
180
182 double T_CMB_0;
183
185 double T_CMB_0_K;
186
188 double T_nu_0;
189
190 /* Neutrino temperature at z = 0 (electron-volts) */
191 double T_nu_0_eV;
192
194 int N_nu;
195
197 double N_ur;
198
200 double N_eff;
201
203 double *M_nu_eV;
204
206 double *deg_nu;
207
210
213
216
219
222
224 double log_a_end;
225
228
231
234
237
240
243
246
249
252
255
258
261
264
267
270
273};
274
275//void cosmology_update(struct cosmology *c, const struct phys_const *phys_const,
276// integertime_t ti_current);
277//
278//double cosmology_get_drift_factor(const struct cosmology *cosmo,
279// const integertime_t ti_start,
280// const integertime_t ti_end);
281//double cosmology_get_grav_kick_factor(const struct cosmology *cosmo,
282// const integertime_t ti_start,
283// const integertime_t ti_end);
284//double cosmology_get_hydro_kick_factor(const struct cosmology *cosmo,
285// const integertime_t ti_start,
286// const integertime_t ti_end);
287//double cosmology_get_therm_kick_factor(const struct cosmology *cosmo,
288// const integertime_t ti_start,
289// const integertime_t ti_end);
290//double cosmology_get_corr_kick_factor(const struct cosmology *cosmo,
291// const integertime_t ti_start,
292// const integertime_t ti_end);
293//double cosmology_get_delta_time(const struct cosmology *c,
294// const integertime_t ti_start,
295// const integertime_t ti_end);
296//double cosmology_get_neutrino_density(const struct cosmology *c, double a);
297//
298//double cosmology_get_delta_time_from_scale_factors(const struct cosmology *c,
299// const double a_start,
300// const double a_end);
301//
302//double cosmology_get_timebase(struct cosmology *c,
303// const integertime_t ti_current);
304//
305//double cosmology_get_scale_factor(const struct cosmology *cosmo, double t);
306//
307//double cosmology_get_comoving_distance(const struct cosmology *c,
308// const double a);
309//
310//double cosmology_scale_factor_at_comoving_distance(const struct cosmology *c,
311// double r);
312//
313//double cosmology_get_time_since_big_bang(const struct cosmology *c, double a);
314//void cosmology_init(struct swift_params *params, const struct unit_system *us,
315// const struct phys_const *phys_const, struct cosmology *c);
316//
317//void cosmology_init_no_cosmo(struct cosmology *c);
318//
319//void cosmology_print(const struct cosmology *c);
320//void cosmology_clean(struct cosmology *c);
321//
322//#ifdef HAVE_HDF5
323//void cosmology_write_model(hid_t h_grp, const struct cosmology *c);
324//#endif
325//
327//void cosmology_struct_dump(const struct cosmology *cosmology, FILE *stream);
328//void cosmology_struct_restore(int enabled, struct cosmology *cosmology,
329// FILE *stream);
330
331#endif /* SWIFT_COSMOLOGY_H */
Cosmological parameters.
Definition cosmology.h:34
double * grav_kick_fac_interp_table
Definition cosmology.h:233
double w
Definition cosmology.h:111
double T_CMB_0_K
Definition cosmology.h:185
double Omega_nu
Definition cosmology.h:164
double * hydro_kick_fac_interp_table
Definition cosmology.h:236
double a_factor_pressure
Definition cosmology.h:53
double time_interp_table_offset
Definition cosmology.h:266
double Omega_g
Definition cosmology.h:161
double a_factor_hydro_accel
Definition cosmology.h:68
double Omega_r
Definition cosmology.h:158
double Omega_nu_0
Definition cosmology.h:167
double time_interp_table_max
Definition cosmology.h:269
double log_a_long_mid
Definition cosmology.h:215
double Omega_lambda
Definition cosmology.h:155
double time_base_inv
Definition cosmology.h:137
double z
Definition cosmology.h:71
double Omega_cdm
Definition cosmology.h:149
double * neutrino_density_late_table
Definition cosmology.h:263
double a3_inv
Definition cosmology.h:46
double time_end
Definition cosmology.h:131
double T_CMB_0
Definition cosmology.h:182
double log_a_long_end
Definition cosmology.h:218
double a_factor_Balsara_eps
Definition cosmology.h:62
double log_a_long_begin
Definition cosmology.h:212
double a_begin
Definition cosmology.h:122
double a
Definition cosmology.h:37
double a_factor_internal_energy
Definition cosmology.h:50
double time_base
Definition cosmology.h:134
double a_end
Definition cosmology.h:125
double h
Definition cosmology.h:140
double * comoving_distance_interp_table
Definition cosmology.h:248
double a_inv
Definition cosmology.h:40
double a_dot
Definition cosmology.h:102
double N_ur
Definition cosmology.h:197
double N_eff
Definition cosmology.h:200
double time
Definition cosmology.h:105
double a_old
Definition cosmology.h:114
double time_step_factor
Definition cosmology.h:99
double critical_density_0
Definition cosmology.h:81
double log_a_end
Definition cosmology.h:224
double H0
Definition cosmology.h:143
double a2_inv
Definition cosmology.h:43
double a_factor_mu
Definition cosmology.h:59
double a_factor_grav_accel
Definition cosmology.h:65
double * comoving_distance_inverse_interp_table
Definition cosmology.h:257
double mean_density_Omega_m
Definition cosmology.h:88
double * hydro_kick_corr_interp_table
Definition cosmology.h:239
double universe_age_at_present_day
Definition cosmology.h:272
double mean_density
Definition cosmology.h:84
double * M_nu_eV
Definition cosmology.h:203
double a_factor_sound_speed
Definition cosmology.h:56
double mean_density_Omega_b
Definition cosmology.h:92
double w_a
Definition cosmology.h:179
double * drift_fac_interp_table
Definition cosmology.h:230
double T_nu_0
Definition cosmology.h:188
double overdensity_BN98
Definition cosmology.h:96
double * neutrino_density_early_table
Definition cosmology.h:260
double deg_nu_tot
Definition cosmology.h:209
double time_begin
Definition cosmology.h:128
double Hubble_time
Definition cosmology.h:146
double log_a_begin
Definition cosmology.h:221
double * scale_factor_interp_table
Definition cosmology.h:245
double Omega_ur
Definition cosmology.h:170
double critical_density
Definition cosmology.h:78
double const_speed_light_c
Definition cosmology.h:227
double H
Definition cosmology.h:74
double * time_interp_table
Definition cosmology.h:242
double lookback_time
Definition cosmology.h:108
double comoving_distance_interp_table_offset
Definition cosmology.h:251
double z_old
Definition cosmology.h:117
double Omega_b
Definition cosmology.h:152
double T_nu_0_eV
Definition cosmology.h:191
double w_0
Definition cosmology.h:176
double * deg_nu
Definition cosmology.h:206
double comoving_distance_start_to_end
Definition cosmology.h:254
double Omega_k
Definition cosmology.h:173