From 0fbf6789f12c81af7091f6684911b83575578806 Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Mon, 6 Jun 2011 11:20:03 -0400 Subject: [PATCH] Use redshift for computing the scale factor --- src/h5_readFlash.cpp | 11 ++++++++--- src/h5_readFlash.hpp | 3 ++- src/loadFlash.cpp | 6 +++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/h5_readFlash.cpp b/src/h5_readFlash.cpp index ca040b2..0559a8f 100644 --- a/src/h5_readFlash.cpp +++ b/src/h5_readFlash.cpp @@ -159,6 +159,9 @@ void h5_read_runtime_parameters if (strncmp(real_runtime_parameter_names[i],"omegaradiation", 11) == 0 ) { omegarad = real_runtime_parameter_values[i]; } + if (strncmp(real_runtime_parameter_names[i],"cosmologicalconstant", 20) == 0 ) { + *omegalambda = real_runtime_parameter_values[i]; + } } for (i = 0; i < nint_runtime_parameters; i++) { @@ -168,8 +171,6 @@ void h5_read_runtime_parameters } } - *omegalambda = 1-(*omegam)-omegarad; - } @@ -376,7 +377,8 @@ void h5_read_flash3_particles (H5File* file, /*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ void h5_read_flash3_header_info(H5File* file, - double* time) /* simulation time */ + double* time, /* simulation time */ + double* redshift) /* redshift of checkpoint */ { herr_t status; @@ -447,6 +449,9 @@ void h5_read_flash3_header_info(H5File* file, if (strncmp(real_names[i],"time",4) == 0 ) { *time = real_values[i]; } + if (strncmp(real_names[i],"redshift",8) == 0 ) { + *redshift = real_values[i]; + } } free(real_list); diff --git a/src/h5_readFlash.hpp b/src/h5_readFlash.hpp index 0d7d3f1..273ca07 100644 --- a/src/h5_readFlash.hpp +++ b/src/h5_readFlash.hpp @@ -32,4 +32,5 @@ void h5_read_flash3_particles (H5File* file, int id[]); void h5_read_flash3_header_info(H5File* file, - double* time); /* simulation time */ + double* time, /* simulation time */ + double *redshift); /* simulation redshift */ diff --git a/src/loadFlash.cpp b/src/loadFlash.cpp index a07c156..09897ad 100644 --- a/src/loadFlash.cpp +++ b/src/loadFlash.cpp @@ -20,7 +20,7 @@ SimuData *CosmoTool::loadFlashMulti(const char *fname, int id, int loadflags) H5File *fileID; H5std_string filename; //char filename[81]; - double lbox, time, hubble, omegam, omegalambda; + double lbox, time, hubble, omegam, omegalambda, redshift; int npart; const double kpc2cm = 3.08568025e21; @@ -40,8 +40,8 @@ SimuData *CosmoTool::loadFlashMulti(const char *fname, int id, int loadflags) H5File file (filename, H5F_ACC_RDONLY); // simulation info - h5_read_flash3_header_info(&file, &time); - data->time = time; + h5_read_flash3_header_info(&file, &time, &redshift); + data->time = 1/(1+redshift); h5_read_runtime_parameters(&file, &lbox, &npart, &hubble, &omegam, &omegalambda); data->TotalNumPart = data->NumPart = npart;