[Commits] [svn:einsteintoolkit] GRHydro_InitData/trunk/src/ (Rev. 109)

knarf at cct.lsu.edu knarf at cct.lsu.edu
Mon Aug 16 08:45:31 CDT 2010


User: knarf
Date: 2010/08/16 08:45 AM

Modified:
 /trunk/src/
  GRHydro_C2P2C.F90, GRHydro_Con2Prim.F90, GRHydro_ReadConformalData.F90, GRHydro_SimpleWave.F90

Log:
 add USE_EOS_OMNI checks

File Changes:

Directory: /trunk/src/
======================

File [modified]: GRHydro_C2P2C.F90
Delta lines: +25 -0
===================================================================
--- trunk/src/GRHydro_C2P2C.F90	2010-07-12 14:50:33 UTC (rev 108)
+++ trunk/src/GRHydro_C2P2C.F90	2010-08-16 13:45:31 UTC (rev 109)
@@ -34,10 +34,12 @@
   DECLARE_CCTK_ARGUMENTS
   DECLARE_CCTK_PARAMETERS
 
+#if !USE_EOS_OMNI
 #ifdef _EOS_BASE_INC_
 #undef _EOS_BASE_INC_
 #endif
 #include "EOS_Base.inc"
+#endif
 
   integer didit,i,j,k,nx,ny,nz
   CCTK_REAL det
@@ -50,6 +52,21 @@
   CCTK_INT C2P_failed
   logical epsnegative
 
+#if USE_EOS_OMNI
+! begin EOS Omni vars
+  integer :: n = 1
+  integer :: poly_eoskey = 0
+  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
+! end EOS Omni vars
+#endif
+
   call CCTK_WARN(1,"This test works only with Ideal_Fluid EoS")
 
   nx = cctk_lsh(1)
@@ -90,8 +107,16 @@
   epsnegative = .false.
   
   GRHydro_rho_min = 1.e-10
+#if USE_EOS_OMNI
+  call EOS_Omni_press(poly_eoskey,keytemp,n,&
+       GRHydro_rho_min,1.0d0,xtemp,xye,pmin,keyerr,anyerr)
+
+  call EOS_Omni_EpsFromPress(poly_eoskey,keytemp,n,&
+       GRHydro_rho_min,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
+#else
   pmin   = EOS_Pressure(GRHydro_eos_handle, GRHydro_rho_min, 1.0d0)
   epsmin = EOS_SpecificIntEnergy(GRHydro_eos_handle, GRHydro_rho_min, pmin)
+#endif
   C2P_failed = 0
 
   write(*,*) 'C2P2C test: initial values.'

File [modified]: GRHydro_Con2Prim.F90
Delta lines: +25 -0
===================================================================
--- trunk/src/GRHydro_Con2Prim.F90	2010-07-12 14:50:33 UTC (rev 108)
+++ trunk/src/GRHydro_Con2Prim.F90	2010-08-16 13:45:31 UTC (rev 109)
@@ -52,11 +52,28 @@
   CCTK_INT C2P_failed
   logical epsnegative
 
+#ifndef USE_EOS_OMNI
 #ifdef _EOS_BASE_INC_
 #undef _EOS_BASE_INC_
 #endif
 #include "EOS_Base.inc"
+#endif
 
+#if USE_EOS_OMNI
+! begin EOS Omni vars
+  integer :: n = 1
+  integer :: poly_eoskey = 0
+  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
+! end EOS Omni vars
+#endif
+
   call CCTK_WARN(1,"For this test, remember to use a polytropic EoS and to set eos_gamma = 2.0 and eos_k = 100.0")
 
   nx = cctk_lsh(1)
@@ -92,8 +109,16 @@
 
   epsnegative = .false.
 
+#if USE_EOS_OMNI
+  call EOS_Omni_press(poly_eoskey,keytemp,n,&
+       GRHydro_rho_min,1.0d0,xtemp,xye,pmin,keyerr,anyerr)
+
+  call EOS_Omni_EpsFromPress(poly_eoskey,keytemp,n,&
+       GRHydro_rho_min,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr)
+#else
   pmin   = EOS_Pressure(GRHydro_eos_handle, GRHydro_rho_min, 1.0d0)
   epsmin = EOS_SpecificIntEnergy(GRHydro_eos_handle, GRHydro_rho_min, pmin)
+#endif
   C2P_failed = 0
 
   write(*,*) 'Con2Prim test: converting to primitive variables'

File [modified]: GRHydro_ReadConformalData.F90
Delta lines: +24 -4
===================================================================
--- trunk/src/GRHydro_ReadConformalData.F90	2010-07-12 14:50:33 UTC (rev 108)
+++ trunk/src/GRHydro_ReadConformalData.F90	2010-08-16 13:45:31 UTC (rev 109)
@@ -51,9 +51,23 @@
 
   
   CCTK_INT :: i,j,k,handle,ierr
-  CCTK_REAL :: eos_k, eos_gamma, rho_min, det
+!  CCTK_REAL :: eos_k, eos_gamma
+  CCTK_REAL :: rho_min, det
 
-  
+#if USE_EOS_OMNI
+! begin EOS Omni vars
+  integer :: n = 1
+  integer :: poly_eoskey = 0
+  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
+! end EOS Omni vars
+#endif
 
   ! only gxx has been read in; copy it into gyy and gzz as well
   gyy = gxx
@@ -131,8 +145,8 @@
 
 !  if (handle < 0) call CCTK_WARN(0,"For this hack you need to compile with EOS_Polytrope")
 
-  eos_k = EOS_Pressure(GRHydro_eos_handle, 1.0, 1.0)
-  eos_gamma = 1.0 + eos_k / EOS_SpecificIntEnergy(GRHydro_eos_handle,1.0,1.0)
+!  eos_k = EOS_Pressure(GRHydro_eos_handle, 1.0, 1.0)
+!  eos_gamma = 1.0 + eos_k / EOS_SpecificIntEnergy(GRHydro_eos_handle,1.0,1.0)
 
 
 !  press = eos_k * rho**eos_gamma
@@ -140,7 +154,13 @@
   do i=1,cctk_lsh(1)
     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)
+
+#else
         eps(i,j,k) = EOS_SpecificIntEnergy(GRHydro_eos_handle,rho(i,j,k),press(i,j,k))
+#endif
       end do
     end do
   end do

File [modified]: GRHydro_SimpleWave.F90
Delta lines: +23 -1
===================================================================
--- trunk/src/GRHydro_SimpleWave.F90	2010-07-12 14:50:33 UTC (rev 108)
+++ trunk/src/GRHydro_SimpleWave.F90	2010-08-16 13:45:31 UTC (rev 109)
@@ -46,14 +46,31 @@
   DECLARE_CCTK_PARAMETERS
   DECLARE_CCTK_FUNCTIONS
   
+#ifndef USE_EOS_OMNI
 #ifdef _EOS_BASE_INC_
 #undef _EOS_BASE_INC_
 #endif
 #include "EOS_Base.inc"
-  
+#endif
+
   CCTK_INT :: i, j, k, nx, ny, nz
   CCTK_REAL :: dr, k1, k2, k3, k4, in_data, old_data, source_data, new_data, c_0, det, pi
 
+#if USE_EOS_OMNI
+! begin EOS Omni vars
+  integer :: n = 1
+  integer :: poly_eoskey = 0
+  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
+! end EOS Omni vars
+#endif
+  
   call CCTK_INFO("Setting initial data for a simple wave as Anile Miller Motta")
 
   call CCTK_WARN(1, "The simple-wave initial-data routine works only for unigrid and on one node.")
@@ -133,7 +150,12 @@
       eps(i,1,1) = rho_abs_min**(1.d0/3.d0)
       velx(i,1,1) = 0.d0
       w_lorentz(i,1,1) = 1.d0
+#if USE_EOS_OMNI
+  call EOS_Omni_press(poly_eoskey,keytemp,n,&
+       rho(i,1,1),1.0d0,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
       ! polytrope only (initial data)
     end if
 



More information about the Commits mailing list