From e4122388c179b0b2bb1c90ef4eb24a3794731c2f Mon Sep 17 00:00:00 2001 From: cott Date: Tue, 31 Jan 2012 22:01:47 +0000 Subject: * add banner informing user that EOS table is being read * fix scheduling issue (reading the table was not scheduled in global mode) * re-add option of turning off energy shift git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEOS/EOS_Omni/trunk@55 8e189c6b-2ab8-4400-aa02-70a9cfce18b9 --- src/nuc_eos/eosmodule.F90 | 7 +++++++ src/nuc_eos/readtable.c | 9 +++++++++ 2 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/nuc_eos/eosmodule.F90 b/src/nuc_eos/eosmodule.F90 index 9290c99..4a3e156 100644 --- a/src/nuc_eos/eosmodule.F90 +++ b/src/nuc_eos/eosmodule.F90 @@ -70,6 +70,8 @@ ! directly. subroutine allocate_eosmodule(nrho_, ntemp_, nye_, alltables_, logrho_, logtemp_, ye_, energy_shift_) use eosmodule + DECLARE_CCTK_PARAMETERS + CCTK_INT :: nrho_, ntemp_, nye_ CCTK_REAL :: alltables_(nrho_, ntemp_, nye_, 19) CCTK_REAL :: logrho_(nrho_) @@ -85,12 +87,17 @@ subroutine allocate_eosmodule(nrho_, ntemp_, nye_, alltables_, logrho_, logtemp_ allocate(logrho(nrho)) allocate(logtemp(ntemp)) allocate(ye(nye)) + alltables = alltables_ logrho = logrho_ logtemp = logtemp_ ye = ye_ + energy_shift = energy_shift_ + if(do_energy_shift.ne.1) then + energy_shift = 0.0d0 + endif ! set min-max values: eos_rhomin = 10.0d0**logrho(1) diff --git a/src/nuc_eos/readtable.c b/src/nuc_eos/readtable.c index 72077e1..786467b 100644 --- a/src/nuc_eos/readtable.c +++ b/src/nuc_eos/readtable.c @@ -43,6 +43,12 @@ void EOS_OMNI_ReadTable(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS DECLARE_CCTK_ARGUMENTS + CCTK_Info(CCTK_THORNSTRING,"*******************************"); + CCTK_Info(CCTK_THORNSTRING,"Reading nuc_eos table file:"); + CCTK_Info(CCTK_THORNSTRING,nuceos_table_name); + CCTK_Info(CCTK_THORNSTRING,"*******************************"); + + hid_t file; if (!file_is_readable(nuceos_table_name)) CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, @@ -74,6 +80,7 @@ void EOS_OMNI_ReadTable(CCTK_ARGUMENTS) READ_EOS_HDF5("pointstemp", &ntemp, H5T_NATIVE_INT, H5S_ALL); READ_EOS_HDF5("pointsye", &nye, H5T_NATIVE_INT, H5S_ALL); + // Allocate memory for tables CCTK_REAL *alltables, *logrho, *logtemp, *ye, energy_shift; @@ -116,6 +123,7 @@ void EOS_OMNI_ReadTable(CCTK_ARGUMENTS) // Gamma READ_EOSTABLE_HDF5("gamma", 18); + // Read additional tables and variables READ_EOS_HDF5("logrho", logrho, H5T_NATIVE_DOUBLE, H5S_ALL); READ_EOS_HDF5("logtemp", logtemp, H5T_NATIVE_DOUBLE, H5S_ALL); @@ -129,6 +137,7 @@ void EOS_OMNI_ReadTable(CCTK_ARGUMENTS) CCTK_FNAME(allocate_eosmodule) (&nrho, &ntemp, &nye, alltables, logrho, logtemp, ye, &energy_shift); + // Free the memory again because fortran copied the whole thing now free(ye); free(logtemp); -- cgit v1.2.3