aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcott <cott@8e189c6b-2ab8-4400-aa02-70a9cfce18b9>2012-01-31 22:01:47 +0000
committercott <cott@8e189c6b-2ab8-4400-aa02-70a9cfce18b9>2012-01-31 22:01:47 +0000
commite4122388c179b0b2bb1c90ef4eb24a3794731c2f (patch)
tree7b550ee9866bd1980aa150adbd4b2af905c80812
parentd6846422ead98808109f717d150a7b1cb178fdd0 (diff)
* 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
-rw-r--r--schedule.ccl1
-rw-r--r--src/nuc_eos/eosmodule.F907
-rw-r--r--src/nuc_eos/readtable.c9
3 files changed, 17 insertions, 0 deletions
diff --git a/schedule.ccl b/schedule.ccl
index e22a35f..21acfb2 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -12,6 +12,7 @@ if (nuceos_read_table)
SCHEDULE EOS_OMNI_ReadTable AT CCTK_INITIAL before ADMBase_InitialData
{
LANG: C
+ OPTIONS: global
} "Read EOS HDF5 table"
}
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);