aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbmundim <bmundim@ac85fae7-cede-4708-beff-ae01c7fa1c26>2011-01-01 00:05:34 +0000
committerbmundim <bmundim@ac85fae7-cede-4708-beff-ae01c7fa1c26>2011-01-01 00:05:34 +0000
commit65d7ff0b72a3ba683bbf92b54b3f1cf9a737fbdb (patch)
tree3ac2bf074e8a071b8a6f76b3b248d5ba494b4fea
parente14b402798458759073298a0c31a7bd5f18e7774 (diff)
Clean up a few routines and make them to conform to
EOS Omni interface. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/GRHydro_InitData/trunk@119 ac85fae7-cede-4708-beff-ae01c7fa1c26
-rw-r--r--interface.ccl18
-rw-r--r--src/GRHydro_C2P2C.F9059
-rw-r--r--src/GRHydro_C2P2CM.F9055
-rw-r--r--src/GRHydro_P2C2P.F9063
-rw-r--r--src/GRHydro_P2C2PM.F9072
5 files changed, 130 insertions, 137 deletions
diff --git a/interface.ccl b/interface.ccl
index 4f3f7b5..a65ecb3 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -79,6 +79,23 @@ SUBROUTINE Con2PrimPoly(CCTK_INT IN handle, CCTK_REAL OUT dens, \
CCTK_INT IN GRHydro_reflevel, CCTK_REAL IN GRHydro_C2P_failed)
+void FUNCTION Con2PrimGen(CCTK_INT INOUT handle, CCTK_REAL INOUT dens, \
+ CCTK_REAL INOUT sx, CCTK_REAL INOUT sy, CCTK_REAL INOUT sz, \
+ CCTK_REAL INOUT tau, CCTK_REAL INOUT rho, \
+ CCTK_REAL INOUT velx, CCTK_REAL INOUT vely, CCTK_REAL INOUT velz, \
+ CCTK_REAL INOUT epsilon, CCTK_REAL INOUT pressure, \
+ CCTK_REAL INOUT w_lorentz, \
+ CCTK_REAL INOUT uxx, CCTK_REAL INOUT uxy, CCTK_REAL INOUT uxz, \
+ CCTK_REAL INOUT uyy, CCTK_REAL INOUT uyz, CCTK_REAL INOUT uzz, \
+ CCTK_REAL INOUT det, \
+ CCTK_REAL INOUT x, CCTK_REAL INOUT y, CCTK_REAL INOUT z, \
+ CCTK_REAL INOUT r, \
+ CCTK_INT OUT epsnegative, \
+ CCTK_REAL INOUT GRHydro_rho_min, CCTK_REAL INOUT pmin, \
+ CCTK_REAL INOUT epsmin, \
+ CCTK_INT INOUT GRHydro_reflevel, \
+ CCTK_REAL OUT retval)
+
void FUNCTION Con2PrimGenM(CCTK_INT INOUT handle, CCTK_REAL INOUT gamma_eos, CCTK_REAL INOUT dens, \
CCTK_REAL INOUT sx, CCTK_REAL INOUT sy, CCTK_REAL INOUT sz, \
CCTK_REAL INOUT tau, CCTK_REAL INOUT rho, \
@@ -101,6 +118,7 @@ USES FUNCTION Prim2ConGen
USES FUNCTION Prim2ConPolyM
USES FUNCTION Prim2ConGenM
USES FUNCTION Con2PrimPoly
+USES FUNCTION Con2PrimGen
USES FUNCTION Con2PrimGenM
CCTK_INT FUNCTION EOS_Omni_GetHandle(CCTK_STRING IN name)
diff --git a/src/GRHydro_C2P2C.F90 b/src/GRHydro_C2P2C.F90
index a1cc36d..731dbb8 100644
--- a/src/GRHydro_C2P2C.F90
+++ b/src/GRHydro_C2P2C.F90
@@ -10,6 +10,7 @@
#include "cctk.h"
#include "cctk_Parameters.h"
#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
/*@@
@routine c2p2c
@@ -33,34 +34,26 @@ subroutine c2p2c(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
- integer didit,i,j,k,nx,ny,nz
- CCTK_REAL det
- CCTK_REAL uxx,uxy,uxz,uyy,uyz,uzz
- CCTK_REAL gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
- CCTK_REAL dens_send,sx_send,sy_send,sz_send,tau_send
- CCTK_REAL rho_send,velx_send,vely_send,velz_send,eps_send
- CCTK_REAL press_send,w_lorentz_send,x_send,y_send,z_send,r_send
- CCTK_REAL pmin, epsmin
- CCTK_INT C2P_failed
- logical epsnegative
+ CCTK_REAL :: det
+ CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz
+ CCTK_REAL :: gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
+ CCTK_REAL :: dens_send,sx_send,sy_send,sz_send,tau_send
+ CCTK_REAL :: rho_send,velx_send,vely_send,velz_send,eps_send
+ CCTK_REAL :: press_send,w_lorentz_send,x_send,y_send,z_send,r_send
+ CCTK_REAL :: C2P_failed
+ CCTK_INT :: epsnegative
! begin EOS Omni vars
- integer :: n = 1
- 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
+ CCTK_REAL :: pmin(1), epsmin(1), epsval(1)
+ CCTK_INT :: n,keytemp,anyerr,keyerr(1)
+ CCTK_REAL :: xpress(1),xtemp(1),xye(1),xeps(1),xrho(1)
+ n=1;keytemp=0;anyerr=0;keyerr(1)=0
+ xpress(1)=0.0d0;xtemp(1)=0.0d0;xye(1)=0.0d0;xeps(1)=0.0d0
! end EOS Omni vars
call CCTK_WARN(1,"This test works only with Ideal_Fluid EoS")
-
- nx = cctk_lsh(1)
- ny = cctk_lsh(2)
- nz = cctk_lsh(3)
x_send = 0.0d0
y_send = 0.0d0
@@ -93,17 +86,18 @@ subroutine c2p2c(CCTK_ARGUMENTS)
press_send = 6.666666666666667d-7
w_lorentz_send = 1.0d0
- epsnegative = .false.
+ epsnegative = 0
- GRHydro_rho_min = 1.e-10
+ xrho = 1.0d-10
+ epsval = 1.0d0
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- GRHydro_rho_min,1.0d0,xtemp,xye,pmin,keyerr,anyerr)
+ xrho,epsval,xtemp,xye,pmin,keyerr,anyerr)
call EOS_Omni_EpsFromPress(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- GRHydro_rho_min,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
+ xrho,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
- C2P_failed = 0
+ C2P_failed = 0.0d0
write(*,*) 'C2P2C test: initial values.'
write(*,*) ' conservative variables: '
@@ -116,11 +110,11 @@ subroutine c2p2c(CCTK_ARGUMENTS)
write(*,*) ' W : ',w_lorentz_send
write(*,*) 'C2P2C test: getting the associated primitive variables.'
- call Con2Prim_pt(GRHydro_eos_handle,dens_send,sx_send,sy_send,sz_send, &
+ call Con2PrimGen(GRHydro_eos_handle,dens_send,sx_send,sy_send,sz_send, &
tau_send,rho_send,velx_send,vely_send,velz_send, &
eps_send,press_send,w_lorentz_send, &
uxx,uxy,uxz,uyy,uyz,uzz,det,x_send,y_send,z_send,r_send,&
- epsnegative,GRHydro_rho_min, pmin, epsmin, GRHydro_init_data_reflevel,C2P_failed)
+ epsnegative,xrho(1),pmin(1),epsmin(1),GRHydro_init_data_reflevel,C2P_failed)
write(*,*) 'C2P2C test: the primitive variables are'
write(*,*) ' primitive variables: '
@@ -133,9 +127,10 @@ subroutine c2p2c(CCTK_ARGUMENTS)
write(*,*) ' W : ',w_lorentz_send
write(*,*) 'C2P2C test: converting back to conserved variables.'
- call prim2con(GRHydro_eos_handle,gxx_send, gxy_send, gxz_send, gyy_send, gyz_send, gzz_send, det, &
- dens_send, sx_send, sy_send, sz_send, tau_send, rho_send, &
- velx_send, vely_send, velz_send, eps_send, press_send, w_lorentz_send)
+ call Prim2ConGen(GRHydro_eos_handle, &
+ gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,det, &
+ dens_send,sx_send,sy_send,sz_send,tau_send,rho_send, &
+ velx_send,vely_send,velz_send,eps_send,press_send,w_lorentz_send)
write(*,*) 'C2P2C test: the conserved variables are'
write(*,*) ' conservative variables: '
diff --git a/src/GRHydro_C2P2CM.F90 b/src/GRHydro_C2P2CM.F90
index c382037..6c4cd43 100644
--- a/src/GRHydro_C2P2CM.F90
+++ b/src/GRHydro_C2P2CM.F90
@@ -37,33 +37,25 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS
DECLARE_CCTK_FUNCTIONS
- integer didit,i,j,k,nx,ny,nz
- CCTK_REAL det
- CCTK_REAL uxx,uxy,uxz,uyy,uyz,uzz
- CCTK_REAL gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
- CCTK_REAL dens_send,sx_send,sy_send,sz_send,tau_send
- CCTK_REAL rho_send,velx_send,vely_send,velz_send,eps_send
- CCTK_REAL press_send,w_lorentz_send,x_send,y_send,z_send,r_send
- CCTK_REAL bvcx_send, bvcy_send, bvcz_send, b2_send
- CCTK_REAL :: pmin(1), epsmin(1), local_gam(1)
- CCTK_REAL C2P_failed
- CCTK_INT epsnegative
-
- CCTK_REAL :: rhoval(1), epsval(1)
- CCTK_REAL :: gamval
+ CCTK_REAL :: det
+ CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz
+ CCTK_REAL :: gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
+ CCTK_REAL :: dens_send,sx_send,sy_send,sz_send,tau_send
+ CCTK_REAL :: rho_send,velx_send,vely_send,velz_send,eps_send
+ CCTK_REAL :: press_send,w_lorentz_send,x_send,y_send,z_send,r_send
+ CCTK_REAL :: bvcx_send, bvcy_send, bvcz_send, b2_send
+ CCTK_REAL :: C2P_failed
+ CCTK_INT :: epsnegative
! begin EOS Omni vars
- integer :: n,keytemp,anyerr,keyerr(1)
- real*8 :: xpress(1),xtemp(1),xye(1),xeps(1),xrho(1)
+ CCTK_REAL :: pmin(1), epsmin(1), local_gam(1), epsval(1)
+ CCTK_INT :: n,keytemp,anyerr,keyerr(1)
+ CCTK_REAL :: xpress(1),xtemp(1),xye(1),xeps(1),xrho(1)
n=1;keytemp=0;anyerr=0;keyerr(1)=0
xpress(1)=0.0d0;xtemp(1)=0.0d0;xye(1)=0.0d0;xeps(1)=0.0d0
! end EOS Omni vars
call CCTK_WARN(1,"This test works only with Ideal_Fluid EoS")
-
- nx = cctk_lsh(1)
- ny = cctk_lsh(2)
- nz = cctk_lsh(3)
x_send = 0.0d0
y_send = 0.0d0
@@ -106,25 +98,22 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
press_send = 6.666666666666667d-7
w_lorentz_send = 1.0d0
-! epsnegative = .false.
epsnegative = 0
- GRHydro_rho_min = 1.0d-10
- rhoval(1) = GRHydro_rho_min
- epsval(1) = 1.0d0
+ xrho = 1.0d-10
+ epsval = 1.0d0
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- rhoval,epsval,xtemp,xye,pmin,keyerr,anyerr)
+ xrho,epsval,xtemp,xye,pmin,keyerr,anyerr)
call EOS_Omni_EpsFromPress(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- rhoval,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
+ xrho,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
- local_gam(1)=0.0d0
- rhoval(1) = 1.0d0
+ local_gam = 0.0d0
+ xrho = 1.0d0
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- rhoval,epsval,xtemp,xye,local_gam,keyerr,anyerr)
- local_gam(1) = local_gam(1)+1.0
- gamval = local_gam(1)
+ xrho,epsval,xtemp,xye,local_gam,keyerr,anyerr)
+ local_gam = local_gam + 1.0
C2P_failed = 0.0d0
@@ -142,8 +131,7 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
write(*,*) ' Bvecz : ',bvcz_send
write(*,*) 'C2P2CM test: getting the associated primitive variables.'
-! call GRHydro_Con2PrimM_pt(GRHydro_eos_handle,local_gam,dens_send,sx_send,sy_send,sz_send, &
- call Con2PrimGenM(GRHydro_eos_handle,gamval,dens_send,sx_send,sy_send,sz_send, &
+ call Con2PrimGenM(GRHydro_eos_handle,local_gam(1),dens_send,sx_send,sy_send,sz_send, &
tau_send,rho_send,velx_send,vely_send,velz_send, &
eps_send,press_send,w_lorentz_send, &
gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,&
@@ -166,7 +154,6 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
write(*,*) ' C2P_failed : ',C2P_failed
write(*,*) 'C2P2CM test: converting back to conserved variables.'
-! call prim2conM(GRHydro_eos_handle,gxx_send, gxy_send, gxz_send, gyy_send, gyz_send, gzz_send, det, &
call Prim2ConGenM(GRHydro_eos_handle,gxx_send, gxy_send, gxz_send, gyy_send, gyz_send, gzz_send, det, &
dens_send, sx_send, sy_send, sz_send, tau_send, bvcx_send, bvcy_send, bvcz_send, rho_send, &
velx_send, vely_send, velz_send, eps_send, press_send, w_lorentz_send)
diff --git a/src/GRHydro_P2C2P.F90 b/src/GRHydro_P2C2P.F90
index ba13d12..0250a1c 100644
--- a/src/GRHydro_P2C2P.F90
+++ b/src/GRHydro_P2C2P.F90
@@ -10,6 +10,7 @@
#include "cctk.h"
#include "cctk_Parameters.h"
#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
/*@@
@routine p2c2p
@@ -33,34 +34,26 @@ subroutine p2c2p(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
- integer didit,i,j,k,nx,ny,nz
- CCTK_REAL det
- CCTK_REAL uxx,uxy,uxz,uyy,uyz,uzz
- CCTK_REAL gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
- CCTK_REAL dens_send,sx_send,sy_send,sz_send,tau_send
- CCTK_REAL rho_send,velx_send,vely_send,velz_send,eps_send
- CCTK_REAL press_send,w_lorentz_send,x_send,y_send,z_send,r_send
- CCTK_REAL pmin, epsmin
- CCTK_INT C2P_failed
- logical epsnegative
+ CCTK_REAL :: det
+ CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz
+ CCTK_REAL :: gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
+ CCTK_REAL :: dens_send,sx_send,sy_send,sz_send,tau_send
+ CCTK_REAL :: rho_send(1),velx_send,vely_send,velz_send,eps_send(1)
+ CCTK_REAL :: press_send(1),w_lorentz_send,x_send,y_send,z_send,r_send
+ CCTK_REAL :: C2P_failed
+ CCTK_INT :: epsnegative
! begin EOS Omni vars
- integer :: n = 1
- 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
+ CCTK_REAL :: pmin(1), epsmin(1), epsval(1)
+ CCTK_INT :: n,keytemp,anyerr,keyerr(1)
+ CCTK_REAL :: xpress(1),xtemp(1),xye(1),xeps(1),xrho(1)
+ n=1;keytemp=0;anyerr=0;keyerr(1)=0
+ xpress(1)=0.0d0;xtemp(1)=0.0d0;xye(1)=0.0d0;xeps(1)=0.0d0
! end EOS Omni vars
call CCTK_WARN(1,"This test works only with Ideal_Fluid EoS")
-
- nx = cctk_lsh(1)
- ny = cctk_lsh(2)
- nz = cctk_lsh(3)
x_send = 0.0d0
y_send = 0.0d0
@@ -91,19 +84,20 @@ subroutine p2c2p(CCTK_ARGUMENTS)
w_lorentz_send = 1.d0/sqrt(1.0d0-velx_send*velx_send-vely_send*vely_send-velz_send*velz_send)
- epsnegative = .false.
+ epsnegative = 0
- GRHydro_rho_min = 1.e-10
+ xrho = 1.0d-10
+ epsval = 1.0d0
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
rho_send,eps_send,xtemp,xye,press_send,keyerr,anyerr)
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- GRHydro_rho_min,1.0d0,xtemp,xye,pmin,keyerr,anyerr)
+ xrho,epsval,xtemp,xye,pmin,keyerr,anyerr)
call EOS_Omni_EpsFromPress(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- GRHydro_rho_min,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
+ xrho,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
- C2P_failed = 0
+ C2P_failed = 0.0d0
write(*,*) 'P2C2P test: the primitive variables are'
write(*,*) ' primitive variables: '
@@ -116,9 +110,10 @@ subroutine p2c2p(CCTK_ARGUMENTS)
write(*,*) ' W : ',w_lorentz_send
write(*,*) 'P2C2P test: converting back to conserved variables.'
- call prim2con(GRHydro_eos_handle,gxx_send, gxy_send, gxz_send, gyy_send, gyz_send, gzz_send, det, &
- dens_send, sx_send, sy_send, sz_send, tau_send, rho_send, &
- velx_send, vely_send, velz_send, eps_send, press_send, w_lorentz_send)
+ call Prim2ConGen(GRHydro_eos_handle, &
+ gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,det, &
+ dens_send,sx_send,sy_send,sz_send,tau_send,rho_send(1), &
+ velx_send,vely_send,velz_send,eps_send(1),press_send(1),w_lorentz_send)
write(*,*) 'P2C2P test: initial values.'
write(*,*) ' conservative variables: '
@@ -131,11 +126,11 @@ subroutine p2c2p(CCTK_ARGUMENTS)
write(*,*) ' W : ',w_lorentz_send
write(*,*) 'P2C2P test: getting the associated primitive variables.'
- call Con2Prim_pt(GRHydro_eos_handle,dens_send,sx_send,sy_send,sz_send, &
- tau_send,rho_send,velx_send,vely_send,velz_send, &
- eps_send,press_send,w_lorentz_send, &
+ call Con2PrimGen(GRHydro_eos_handle,dens_send,sx_send,sy_send,sz_send, &
+ tau_send,rho_send(1),velx_send,vely_send,velz_send, &
+ eps_send(1),press_send(1),w_lorentz_send, &
uxx,uxy,uxz,uyy,uyz,uzz,det,x_send,y_send,z_send,r_send,&
- epsnegative,GRHydro_rho_min, pmin, epsmin, GRHydro_init_data_reflevel,C2P_failed)
+ epsnegative,xrho(1),pmin(1),epsmin(1),GRHydro_init_data_reflevel,C2P_failed)
write(*,*) 'P2C2P test: the primitive variables are'
write(*,*) ' primitive variables: '
diff --git a/src/GRHydro_P2C2PM.F90 b/src/GRHydro_P2C2PM.F90
index 1abf1ca..62c998b 100644
--- a/src/GRHydro_P2C2PM.F90
+++ b/src/GRHydro_P2C2PM.F90
@@ -10,6 +10,7 @@
#include "cctk.h"
#include "cctk_Parameters.h"
#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
/*@@
@routine p2c2pm
@@ -33,35 +34,27 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
-
- integer didit,i,j,k,nx,ny,nz
- CCTK_REAL det
- CCTK_REAL uxx,uxy,uxz,uyy,uyz,uzz
- CCTK_REAL gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
- CCTK_REAL dens_send,sx_send,sy_send,sz_send,tau_send
- CCTK_REAL rho_send,velx_send,vely_send,velz_send,eps_send
- CCTK_REAL press_send,w_lorentz_send,x_send,y_send,z_send,r_send
- CCTK_REAL bvcx_send,bvcy_send,bvcz_send,b2_send
- CCTK_REAL pmin, epsmin, local_gam
- CCTK_INT C2P_failed
- logical epsnegative
+ DECLARE_CCTK_FUNCTIONS
+
+ CCTK_REAL :: det
+ CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz
+ CCTK_REAL :: gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
+ CCTK_REAL :: dens_send,sx_send,sy_send,sz_send,tau_send
+ CCTK_REAL :: rho_send(1),velx_send,vely_send,velz_send,eps_send(1)
+ CCTK_REAL :: press_send(1),w_lorentz_send,x_send,y_send,z_send,r_send
+ CCTK_REAL :: bvcx_send,bvcy_send,bvcz_send,b2_send
+ CCTK_REAL :: C2P_failed
+ CCTK_INT :: epsnegative
! begin EOS Omni vars
- integer :: n = 1
- 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
+ CCTK_REAL :: pmin(1), epsmin(1), local_gam(1), epsval(1)
+ CCTK_INT :: n,keytemp,anyerr,keyerr(1)
+ CCTK_REAL :: xpress(1),xtemp(1),xye(1),xeps(1),xrho(1)
+ n=1;keytemp=0;anyerr=0;keyerr(1)=0
+ xpress(1)=0.0d0;xtemp(1)=0.0d0;xye(1)=0.0d0;xeps(1)=0.0d0
! end EOS Omni vars
call CCTK_WARN(1,"This test works only with Ideal_Fluid EoS")
-
- nx = cctk_lsh(1)
- ny = cctk_lsh(2)
- nz = cctk_lsh(3)
x_send = 0.0d0
y_send = 0.0d0
@@ -96,23 +89,26 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
w_lorentz_send = 1.d0/sqrt(1.0d0-velx_send*velx_send-vely_send*vely_send-velz_send*velz_send)
- epsnegative = .false.
+ epsnegative = 0
- GRHydro_rho_min = 1.e-10
+ xrho = 1.0d-10
+ epsval = 1.0d0
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
rho_send,eps_send,xtemp,xye,press_send,keyerr,anyerr)
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- GRHydro_rho_min,1.0d0,xtemp,xye,pmin,keyerr,anyerr)
+ xrho,epsval,xtemp,xye,pmin,keyerr,anyerr)
call EOS_Omni_EpsFromPress(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- GRHydro_rho_min,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
+ xrho,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
+ local_gam = 0.0d0
+ xrho = 1.0d0
call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,&
- 1.0d0,1.0d0,xtemp,xye,local_gam,keyerr,anyerr)
- local_gam=local_gam+1.0
+ xrho,epsval,xtemp,xye,local_gam,keyerr,anyerr)
+ local_gam = local_gam + 1.0
- C2P_failed = 0
+ C2P_failed = 0.0d0
write(*,*) 'P2C2PM test: the primitive variables are'
write(*,*) ' primitive variables: '
@@ -128,9 +124,11 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
write(*,*) ' Bvecz : ',bvcz_send
write(*,*) 'P2C2PM test: converting back to conserved variables.'
- call prim2conM(GRHydro_eos_handle,gxx_send, gxy_send, gxz_send, gyy_send, gyz_send, gzz_send, det, &
- dens_send, sx_send, sy_send, sz_send, tau_send, bvcx_send, bvcy_send, bvcz_send, rho_send, &
- velx_send, vely_send, velz_send, eps_send, press_send, w_lorentz_send)
+ call Prim2ConGenM(GRHydro_eos_handle,&
+ gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,det, &
+ dens_send,sx_send,sy_send,sz_send,tau_send, &
+ bvcx_send,bvcy_send,bvcz_send,rho_send(1), &
+ velx_send,vely_send,velz_send,eps_send(1),press_send(1),w_lorentz_send)
write(*,*) 'P2C2PM test: initial values.'
write(*,*) ' conservative variables: '
@@ -147,9 +145,9 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
write(*,*) 'P2C2PM test: getting the associated primitive variables.'
- call GRHydro_Con2PrimM_pt(GRHydro_eos_handle,local_gam,dens_send,sx_send,sy_send,sz_send, &
- tau_send,rho_send,velx_send,vely_send,velz_send, &
- eps_send,press_send,w_lorentz_send, &
+ call Con2PrimGenM(GRHydro_eos_handle,local_gam(1),dens_send,sx_send,sy_send,sz_send, &
+ tau_send,rho_send(1),velx_send,vely_send,velz_send, &
+ eps_send(1),press_send(1),w_lorentz_send, &
gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,&
uxx,uxy,uxz,uyy,uyz,uzz,det,&
bvcx_send,bvcy_send,bvcz_send,b2_send,&