changa  3.5
 All Classes Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
cosmo.h
1 #ifndef COSMO_HINCLUDED
2 #define COSMO_HINCLUDED
3 
4 #if defined(__cplusplus)
5 extern "C" {
6 #endif
7 /* Cosmo routines originally written for PKDGRAV by Thomas Quinn */
8 
10 typedef 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 
20 void csmInitialize(CSM *pcsm);
21 double csmExp2Hub(CSM csm, double dExp);
22 double csmTime2Hub(CSM csm,double dTime);
23 double csmExp2Time(CSM csm,double dExp);
24 double csmTime2Exp(CSM csm,double dTime);
25 double csmComoveDriftInt(CSM csm, double dIExp);
26 double csmComoveKickInt(CSM csm, double dIExp);
27 double csmComoveDriftFac(CSM csm,double dTime,double dDelta);
28 double csmComoveKickFac(CSM csm,double dTime,double dDelta);
29 double csmComoveLookbackTime2Exp(CSM csm,double dComoveTime);
30 double csmGrowthFac(CSM csm, double dExp);
31 double csmGrowthFacDot(CSM csm, double dExp);
32 double csmExp2Om(CSM csm, double dExp);
33 #if defined(__cplusplus)
34 }
35 
36 #include "pup_stl.h"
37 
38 inline 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