changa 3.5
Loading...
Searching...
No Matches
cosmo.h
1#ifndef COSMO_HINCLUDED
2#define COSMO_HINCLUDED
3
4#if defined(__cplusplus)
5extern "C" {
6#endif
7/* Cosmo routines originally written for PKDGRAV by Thomas Quinn */
8
10typedef struct csmContext {
11 int bComove;
12 double dHubble0;
13 double dOmega0;
14 double dLambda;
15 double dOmegaRad;
16 double dQuintess; /* w = -1/2 equation of state */
17 double dOmegab;
18 } * CSM;
19
20void csmInitialize(CSM *pcsm);
21double csmExp2Hub(CSM csm, double dExp);
22double csmTime2Hub(CSM csm,double dTime);
23double csmExp2Time(CSM csm,double dExp);
24double csmTime2Exp(CSM csm,double dTime);
25double csmComoveDriftInt(CSM csm, double dIExp);
26double csmComoveKickInt(CSM csm, double dIExp);
27double csmComoveDriftFac(CSM csm,double dTime,double dDelta);
28double csmComoveKickFac(CSM csm,double dTime,double dDelta);
29double csmComoveLookbackTime2Exp(CSM csm,double dComoveTime);
30double csmGrowthFac(CSM csm, double dExp);
31double csmGrowthFacDot(CSM csm, double dExp);
32double csmExp2Om(CSM csm, double dExp);
33#if defined(__cplusplus)
34}
35
36#include "pup_stl.h"
37
38inline void operator|(PUP::er &p, struct csmContext &csm) {
39 p|csm.bComove;
40 p|csm.dHubble0;
41 p|csm.dOmega0;
42 p|csm.dLambda;
43 p|csm.dOmegaRad;
44 p|csm.dQuintess;
45 p|csm.dOmegab;
46 }
47
48#endif
49
50#endif
Cosmological parameters.
Definition cosmo.h:10