aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcott <cott@ac85fae7-cede-4708-beff-ae01c7fa1c26>2010-08-18 18:15:02 +0000
committercott <cott@ac85fae7-cede-4708-beff-ae01c7fa1c26>2010-08-18 18:15:02 +0000
commit8fc217e9d9b586969b3b2379ae40cb1741242983 (patch)
treebd638e10986b0b712a49be619c4540938896f828
parent6d9223545bdf349c91c1d21cffd668f1b7ac80d1 (diff)
* add EOS Omni functions to interface.ccl
* correct syntax in F90 files git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/GRHydro_InitData/trunk@112 ac85fae7-cede-4708-beff-ae01c7fa1c26
-rw-r--r--interface.ccl37
-rw-r--r--src/GRHydro_ReadConformalData.F9014
-rw-r--r--src/GRHydro_SimpleWave.F9011
3 files changed, 48 insertions, 14 deletions
diff --git a/interface.ccl b/interface.ccl
index 52f1998..8da93f2 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -4,9 +4,9 @@
implements: GRHydro_init_data
inherits: GRHydro grid
-USES INCLUDE: EOS_Base.inc
+#USES INCLUDE: EOS_Base.inc
USES INCLUDE: SpaceMask.h
-USES INCLUDE: EOS_Base.h
+#USES INCLUDE: EOS_Base.h
SUBROUTINE SpatialDet(CCTK_REAL IN gxx, CCTK_REAL IN gxy, \
@@ -58,6 +58,39 @@ USES FUNCTION Prim2ConPoly
USES FUNCTION Prim2ConGen
USES FUNCTION Con2PrimPoly
+CCTK_INT FUNCTION EOS_Omni_GetHandle(CCTK_STRING IN name)
+USES FUNCTION EOS_Omni_GetHandle
+
+
+void FUNCTION EOS_Omni_press(CCTK_INT IN eoshandle, \
+ CCTK_INT IN havetemp, \
+ CCTK_INT IN npoints, \
+ CCTK_REAL IN ARRAY rho, \
+ CCTK_REAL INOUT ARRAY eps, \
+ CCTK_REAL INOUT ARRAY temp, \
+ CCTK_REAL IN ARRAY ye, \
+ CCTK_REAL OUT ARRAY press, \
+ CCTK_INT OUT ARRAY keyerr, \
+ CCTK_INT OUT anyerr)
+
+USES FUNCTION EOS_Omni_press
+
+void FUNCTION EOS_Omni_EpsFromPress(CCTK_INT IN eoshandle, \
+ CCTK_INT IN havetemp, \
+ CCTK_INT IN npoints, \
+ CCTK_REAL IN ARRAY rho, \
+ CCTK_REAL INOUT ARRAY eps, \
+ CCTK_REAL INOUT ARRAY temp, \
+ CCTK_REAL IN ARRAY ye, \
+ CCTK_REAL IN ARRAY press, \
+ CCTK_REAL OUT ARRAY xeps, \
+ CCTK_INT OUT ARRAY keyerr, \
+ CCTK_INT OUT anyerr)
+
+USES FUNCTION EOS_Omni_EpsFromPress
+
+
+
protected:
CCTK_REAL simple_wave_grid_functions TYPE=GF TIMELEVELS=1 tags='checkpoint="no"'
diff --git a/src/GRHydro_ReadConformalData.F90 b/src/GRHydro_ReadConformalData.F90
index 4513f47..aaf6cf3 100644
--- a/src/GRHydro_ReadConformalData.F90
+++ b/src/GRHydro_ReadConformalData.F90
@@ -61,11 +61,11 @@ subroutine GRHydro_ReadConformalData(CCTK_ARGUMENTS)
integer :: keytemp = 0
integer :: anyerr = 0
integer :: keyerr(1) = 0
- real*8 :: xpress = 0.0d0
- real*8 :: xeps = 0.0d0
- real*8 :: xtemp = 0.0d0
- real*8 :: xye = 0.0d0
- poly_eoskey = GRHydro_poly_eoskey
+ real*8 :: xpress(1) = 0.0d0
+ real*8 :: xeps(1) = 0.0d0
+ real*8 :: xtemp(1) = 0.0d0
+ real*8 :: xye(1) = 0.0d0
+ poly_eoskey = EOS_Omni_GetHandle("2D_Polytrope")
! end EOS Omni vars
#endif
@@ -155,8 +155,8 @@ subroutine GRHydro_ReadConformalData(CCTK_ARGUMENTS)
do j=1,cctk_lsh(2)
do k=1,cctk_lsh(3)
#ifdef USE_EOS_OMNI
- call EOS_Omni_EpsFromPress(poly_eoskey,keytemp,n,&
- rho(i,j,k),xeps,xtemp,xye,press(i,j,k),eps(i,j,k),keyerr,anyerr)
+ call EOS_Omni_EpsFromPress(poly_eoskey,keytemp,n,rho(i,j,k),xeps,xtemp,xye,&
+ press(i,j,k),eps(i,j,k),keyerr,anyerr)
#else
eps(i,j,k) = EOS_SpecificIntEnergy(GRHydro_eos_handle,rho(i,j,k),press(i,j,k))
diff --git a/src/GRHydro_SimpleWave.F90 b/src/GRHydro_SimpleWave.F90
index 2274790..85e191a 100644
--- a/src/GRHydro_SimpleWave.F90
+++ b/src/GRHydro_SimpleWave.F90
@@ -62,10 +62,10 @@ subroutine GRHydro_SimpleWave(CCTK_ARGUMENTS)
integer :: keytemp = 0
integer :: anyerr = 0
integer :: keyerr(1) = 0
- real*8 :: xpress = 0.0d0
- real*8 :: xeps = 0.0d0
- real*8 :: xtemp = 0.0d0
- real*8 :: xye = 0.0d0
+ real*8 :: xpress(1) = 0.0d0
+ real*8 :: xeps(1) = 0.0d0
+ real*8 :: xtemp(1) = 0.0d0
+ real*8 :: xye(1) = 0.0d0
! end EOS Omni vars
#endif
@@ -149,8 +149,9 @@ subroutine GRHydro_SimpleWave(CCTK_ARGUMENTS)
velx(i,1,1) = 0.d0
w_lorentz(i,1,1) = 1.d0
#if USE_EOS_OMNI
+ xeps = 1.0d0
call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,&
- rho(i,1,1),1.0d0,xtemp,xye,press(i,1,1),keyerr,anyerr)
+ rho(i,1,1),xeps,xtemp,xye,press(i,1,1),keyerr,anyerr)
#else
press(i,1,1) = EOS_Pressure(GRHydro_polytrope_handle, rho(i,1,1), 1.0d0)
#endif