Support for hubble constant

This commit is contained in:
Guilhem Lavaux 2009-09-29 16:47:21 -05:00
parent b18f06b606
commit 6c17e4c1b0
2 changed files with 12 additions and 1 deletions

View File

@ -194,6 +194,7 @@ typedef struct
double unitLength; double unitLength;
double aexp; double aexp;
double boxSize; double boxSize;
double hubble;
} InfoData; } InfoData;
int readInfoFile(const char *basename, int outputId, InfoData& info) int readInfoFile(const char *basename, int outputId, InfoData& info)
@ -249,6 +250,10 @@ int readInfoFile(const char *basename, int outputId, InfoData& info)
info.aexp = infoMap["aexp"]; info.aexp = infoMap["aexp"];
info.boxSize = infoMap["boxlen"]; info.boxSize = infoMap["boxlen"];
static const double CM_IN_MPC = 3.08e24;
double unit_t = infoMap["unit_t"];
info.hubble = info.aexp*info.aexp/unit_t / (1e5/CM_IN_MPC);
return 1; return 1;
} }
@ -267,7 +272,10 @@ CosmoTool::PurePositionData *CosmoTool::loadRamsesPosition(const char *basename,
double L0 = info.boxSize*info.unitLength/CM_IN_MPC/info.aexp; double L0 = info.boxSize*info.unitLength/CM_IN_MPC/info.aexp;
if (!quiet) if (!quiet)
cout << "L0=" << L0 << " Mpc" << endl; {
cout << "L0=" << L0 << " Mpc" << endl;
cout << "H=" << info.hubble << " km/s/Mpc" << endl;
}
if (!quiet) if (!quiet)
cout << "Detecting number of files and particles..." << endl; cout << "Detecting number of files and particles..." << endl;
@ -320,6 +328,7 @@ CosmoTool::PurePositionData *CosmoTool::loadRamsesPosition(const char *basename,
assert(gd->pos != 0); assert(gd->pos != 0);
gd->NumPart = totPart; gd->NumPart = totPart;
gd->BoxSize = L0*1000; gd->BoxSize = L0*1000;
gd->hubble = info.hubble;
if (!quiet) if (!quiet)
cout << " Total number part=" << totPart << endl cout << " Total number part=" << totPart << endl

View File

@ -60,11 +60,13 @@ namespace CosmoTool {
struct PurePositionData { struct PurePositionData {
unsigned int NumPart; unsigned int NumPart;
double BoxSize; double BoxSize;
double hubble;
FCoordinates *pos; FCoordinates *pos;
}; };
struct PhaseSpaceData { struct PhaseSpaceData {
unsigned int NumPart; unsigned int NumPart;
double hubble;
double BoxSize; double BoxSize;
FCoordinates *pos; FCoordinates *pos;
FCoordinates *vel; FCoordinates *vel;