diff options
-rw-r--r-- | interface.ccl | 5 | ||||
-rw-r--r-- | interface.ccl.omni | 17 | ||||
-rw-r--r-- | param.ccl | 31 | ||||
-rw-r--r-- | param.ccl.omni | 6 | ||||
-rw-r--r-- | src/GRHydro_Con2Prim.F90 | 65 | ||||
-rw-r--r-- | src/GRHydro_Eigenproblem.F90 | 20 | ||||
-rw-r--r-- | src/GRHydro_Eigenproblem_Marquina.F90 | 16 | ||||
-rw-r--r-- | src/GRHydro_EoSChangeGamma.F90 | 12 | ||||
-rw-r--r-- | src/GRHydro_Prim2Con.F90 | 6 | ||||
-rw-r--r-- | test/GRHydro_test_tov_ppm_ML_eos_omni.par | 4 |
10 files changed, 102 insertions, 80 deletions
diff --git a/interface.ccl b/interface.ccl index 15a4237..bdbc622 100644 --- a/interface.ccl +++ b/interface.ccl @@ -168,6 +168,7 @@ USES FUNCTION EOS_Omni_GetHandle void FUNCTION EOS_Omni_press(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -182,6 +183,7 @@ USES FUNCTION EOS_Omni_press void FUNCTION EOS_Omni_DPressByDEps(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -196,6 +198,7 @@ USES FUNCTION EOS_Omni_DPressByDEps void FUNCTION EOS_Omni_DPressByDRho(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -210,6 +213,7 @@ USES FUNCTION EOS_Omni_DPressByDRho void FUNCTION EOS_Omni_cs2(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -223,6 +227,7 @@ USES FUNCTION EOS_Omni_cs2 void FUNCTION EOS_Omni_EpsFromPress(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ diff --git a/interface.ccl.omni b/interface.ccl.omni index 5ba6f69..2292d02 100644 --- a/interface.ccl.omni +++ b/interface.ccl.omni @@ -163,11 +163,12 @@ USES FUNCTION GZPatchSystem_register_cxform ####################################################### CCTK_INT FUNCTION EOS_Omni_GetHandle(CCTK_STRING IN name) - USES FUNCTION EOS_Omni_GetHandle -void FUNCTION EOS_Omni_press(CCTK_INT IN eoshandle, \ + +void FUNCTION EOS_Omni_press(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -180,8 +181,9 @@ void FUNCTION EOS_Omni_press(CCTK_INT IN eoshandle, \ USES FUNCTION EOS_Omni_press -void FUNCTION EOS_Omni_DPressByDEps(CCTK_INT IN eoshandle, \ +void FUNCTION EOS_Omni_DPressByDEps(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -194,8 +196,9 @@ void FUNCTION EOS_Omni_DPressByDEps(CCTK_INT IN eoshandle, \ USES FUNCTION EOS_Omni_DPressByDEps -void FUNCTION EOS_Omni_DPressByDRho(CCTK_INT IN eoshandle, \ +void FUNCTION EOS_Omni_DPressByDRho(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -208,8 +211,9 @@ void FUNCTION EOS_Omni_DPressByDRho(CCTK_INT IN eoshandle, \ USES FUNCTION EOS_Omni_DPressByDRho -void FUNCTION EOS_Omni_cs2(CCTK_INT IN eoshandle, \ +void FUNCTION EOS_Omni_cs2(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -221,8 +225,9 @@ void FUNCTION EOS_Omni_cs2(CCTK_INT IN eoshandle, \ USES FUNCTION EOS_Omni_cs2 -void FUNCTION EOS_Omni_EpsFromPress(CCTK_INT IN eoshandle, \ +void FUNCTION EOS_Omni_EpsFromPress(CCTK_INT IN eoskey, \ CCTK_INT IN havetemp, \ + CCTK_REAL IN rf_precision, \ CCTK_INT IN npoints, \ CCTK_REAL IN ARRAY rho, \ CCTK_REAL INOUT ARRAY eps, \ @@ -244,19 +244,24 @@ string GRHydro_eos_table "Name for the Equation of State" ####################### EOS Omni Parameters ############################## -int GRHydro_poly_eoskey "eoskey for poly EOS" -{ - 1:* :: "Must be larger than 0" -} 1 - - -int GRHydro_eoskey "eoskey determining which EOS to use" -{ - 1 :: "Polytropic EOS" - 2 :: "Gamma-Law EOS" - 3 :: "Hybrid EOS" - 4:* :: "something else" -} 2 +###int GRHydro_poly_eoskey "eoskey for poly EOS" +###{ +### 1:* :: "Must be larger than 0" +###} 1 +### +### +###int GRHydro_eoskey "eoskey determining which EOS to use" +###{ +### 1 :: "Polytropic EOS" +### 2 :: "Gamma-Law EOS" +### 3 :: "Hybrid EOS" +### 4:* :: "something else" +###} 2 + +real GRHydro_eos_rf_prec "Precision to which root finding should be carried out" +{ + (0.0:* :: "anything larger than 0 goes" +} 1.0e-8 ####################### Other Parameters ############################## diff --git a/param.ccl.omni b/param.ccl.omni index 9ebb3da..b2739c0 100644 --- a/param.ccl.omni +++ b/param.ccl.omni @@ -244,6 +244,12 @@ string GRHydro_eos_table "Name for the Equation of State" .* :: "Can be anything" } "Ideal_Fluid" +real GRHydro_eos_rf_prec "Precision to which root finding should be carried out" +{ + (0.0:* :: "anything larger than 0 goes" +} 1.0e-8 + + ####################### Other Parameters ############################## #Parameters controlling conservative <-> primitive change. diff --git a/src/GRHydro_Con2Prim.F90 b/src/GRHydro_Con2Prim.F90 index e55d2de..160493c 100644 --- a/src/GRHydro_Con2Prim.F90 +++ b/src/GRHydro_Con2Prim.F90 @@ -94,9 +94,9 @@ subroutine Conservative2Primitive(CCTK_ARGUMENTS) #if USE_EOS_OMNI ! this is a poly call - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& GRHydro_rho_min,xeps,xtemp,xye,pmin,keyerr,anyerr) - call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& GRHydro_rho_min,xeps,xtemp,xye,pmin,epsmin,keyerr,anyerr) #else pmin = EOS_Pressure(GRHydro_polytrope_handle, GRHydro_rho_min, 1.0d0) @@ -158,10 +158,10 @@ subroutine Conservative2Primitive(CCTK_ARGUMENTS) vel(i,j,k,:) = 0.d0 w_lorentz(i,j,k) = 1.d0 #if USE_EOS_OMNI - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& rho(i,j,k),eps(i,j,k),xtemp,xye,press(i,j,k),keyerr,anyerr) - call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& rho(i,j,k),eps(i,j,k),xtemp,xye,press(i,j,k),eps(i,j,k),keyerr,anyerr) #else press(i,j,k) = EOS_Pressure(GRHydro_polytrope_handle, rho(i,j,k), eps(i,j,k)) @@ -212,10 +212,10 @@ subroutine Conservative2Primitive(CCTK_ARGUMENTS) vel(i,j,k,:) = 0.d0 w_lorentz(i,j,k) = 1.d0 #if USE_EOS_OMNI - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& rho(i,j,k),eps(i,j,k),xtemp,xye,press(i,j,k),keyerr,anyerr) - call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& rho(i,j,k),eps(i,j,k),xtemp,xye,press(i,j,k),eps(i,j,k),keyerr,anyerr) #else press(i,j,k) = EOS_Pressure(GRHydro_polytrope_handle, rho(i,j,k), eps(i,j,k)) @@ -273,6 +273,7 @@ subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, & implicit none DECLARE_CCTK_PARAMETERS + CCTK_REAL dens, sx, sy, sz, tau, rho, velx, vely, velz, epsilon, & press, uxx, uxy, uxz, uyy, uyz, uzz, det, w_lorentz, x, & y, z, r, GRHydro_rho_min @@ -317,7 +318,7 @@ subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, & !!$ Set initial guess for pressure: #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,epsilon,xtemp,xye,xpress,keyerr,anyerr) pold = max(1.d-10,xpress) #else @@ -352,7 +353,7 @@ subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, & !!$ Calculate the function #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,epsilon,xtemp,xye,xpress,keyerr,anyerr) f = pold - xpress @@ -404,10 +405,10 @@ subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, & end if #if USE_EOS_OMNI - call EOS_Omni_DPressByDRho(handle,keytemp,n,& + call EOS_Omni_DPressByDRho(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,epsilon,xtemp,xye,dpressbydrho,keyerr,anyerr) - call EOS_Omni_DPressByDEps(handle,keytemp,n,& + call EOS_Omni_DPressByDEps(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,epsilon,xtemp,xye,dpressbydeps,keyerr,anyerr) #else dpressbydrho = EOS_DPressByDRho(handle,rho,epsilon) @@ -433,7 +434,7 @@ subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, & udens)/udens #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,epsilon,xtemp,xye,xpress,keyerr,anyerr) f = pnew - xpress @@ -448,10 +449,10 @@ subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, & do i=1,GRHydro_polish #if USE_EOS_OMNI - call EOS_Omni_DPressByDRho(handle,keytemp,n,& + call EOS_Omni_DPressByDRho(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,epsilon,xtemp,xye,dpressbydrho,keyerr,anyerr) - call EOS_Omni_DPressByDEps(handle,keytemp,n,& + call EOS_Omni_DPressByDEps(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,epsilon,xtemp,xye,dpressbydeps,keyerr,anyerr) #else dpressbydrho = EOS_DPressByDRho(handle,rho,epsilon) @@ -475,7 +476,7 @@ subroutine Con2Prim_pt(handle, dens, sx, sy, sz, tau, rho, velx, vely, & udens)/udens #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n, & + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n, & rho,epsilon,xtemp,xye,xpress,keyerr,anyerr) f = pold - xpress @@ -588,10 +589,10 @@ subroutine Conservative2PrimitiveBounds(CCTK_ARGUMENTS) #if USE_EOS_OMNI ! this is a poly call - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& GRHydro_rho_min,1.0d0,xtemp,xye,pmin,keyerr,anyerr) - call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& GRHydro_rho_min,epsmin,xtemp,xye,pmin,epsmin,keyerr,anyerr) #else pmin=EOS_Pressure(GRHydro_polytrope_handle, GRHydro_rho_min, 1.0d0) @@ -954,10 +955,10 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & rhoold = max(GRHydro_rho_min,rho) #if USE_EOS_OMNI -! call EOS_Omni_press(handle,keytemp,n,& +! call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& ! rhoold,xeps,xtemp,xye,xpress,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhoold,xeps,xtemp,xye,press,xeps,keyerr,anyerr) enthalpy = 1.0d0 + xeps + press / rhoold @@ -969,7 +970,7 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & w_lorentz = sqrt(1.d0 + s2 / ( (udens*enthalpy)**2 )) #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhoold,epsilon,xtemp,xye,press,keyerr,anyerr) #else press = EOS_Pressure(handle, rhoold, epsilon) @@ -1007,10 +1008,10 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & udens = rhonew dens = sqrtdet * rhonew #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,1.0d0,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,xeps,xtemp,xye,press,epsilon,keyerr,anyerr) #else press = EOS_Pressure(handle, rhonew, 1.d0) @@ -1032,7 +1033,7 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & !!$ 2D_Polytrope it gives the right answers. #if USE_EOS_OMNI - call EOS_Omni_DPressByDrho(handle,keytemp,n,& + call EOS_Omni_DPressByDrho(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,epsilon,xtemp,xye,denthalpy,keyerr,anyerr) denthalpy = denthalpy / rhonew #else @@ -1059,10 +1060,10 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & !!$ Recalculate primitive variables and function #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,epsilon,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,xeps,xtemp,xye,press,epsilon,keyerr,anyerr) enthalpy = 1.0d0 + epsilon + press / rhonew @@ -1090,10 +1091,10 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & dens = sqrtdet * rhonew #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,1.0d0,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,xeps,xtemp,xye,press,epsilon,keyerr,anyerr) #else press = EOS_Pressure(handle, rhonew, 1.d0) @@ -1114,10 +1115,10 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & 50 rho = rhonew #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,epsilon,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,xeps,xtemp,xye,press,epsilon,keyerr,anyerr) enthalpy = 1.0d0 + epsilon + press / rhonew @@ -1128,10 +1129,10 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & #endif #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,epsilon,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,xeps,xtemp,xye,press,epsilon,keyerr,anyerr) #else press = EOS_Pressure(handle, rhonew, epsilon) @@ -1156,9 +1157,9 @@ subroutine Con2Prim_ptPolytype(handle, dens, sx, sy, sz, tau, rho, & rho = GRHydro_rho_min dens = sqrtdet * rho #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,1.d0,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhonew,xeps,xtemp,xye,press,epsilon,keyerr,anyerr) #else press = EOS_Pressure(handle, rhonew, 1.d0) diff --git a/src/GRHydro_Eigenproblem.F90 b/src/GRHydro_Eigenproblem.F90 index 9dfad5d..e18afd8 100644 --- a/src/GRHydro_Eigenproblem.F90 +++ b/src/GRHydro_Eigenproblem.F90 @@ -86,15 +86,15 @@ subroutine eigenvalues(handle,rho,velx,vely,velz,eps,w_lorentz,& #if USE_EOS_OMNI -! call EOS_Omni_cs2(handle,keytemp,n,& +! call EOS_Omni_cs2(handle,keytemp,GRHydro_eos_rf_prec,n,& ! rho,eps,xtemp,xye,cs2,keyerr,anyerr) - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_DPressByDEps(handle,keytemp,n,& + call EOS_Omni_DPressByDEps(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,dpdeps,keyerr,anyerr) - call EOS_Omni_DPressByDRho(handle,keytemp,n,& + call EOS_Omni_DPressByDRho(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,dpdrho,keyerr,anyerr) cs2 = (dpdrho + press * dpdeps / (rho**2))/ & @@ -210,18 +210,18 @@ subroutine eigenproblem(handle,rho,velx,vely,velz,eps,& !!$ Set required fluid quantities #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_DPressByDEps(handle,keytemp,n,& + call EOS_Omni_DPressByDEps(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,dpdeps,keyerr,anyerr) - call EOS_Omni_DPressByDRho(handle,keytemp,n,& + call EOS_Omni_DPressByDRho(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,dpdrho,keyerr,anyerr) cs2 = (dpdrho + press * dpdeps / (rho**2))/ & (1.0d0 + eps + press/rho) -! call EOS_Omni_cs2(handle,keytemp,n,& +! call EOS_Omni_cs2(handle,keytemp,GRHydro_eos_rf_prec,n,& ! rho,eps,xtemp,xye,cs2,keyerr,anyerr) #else press = EOS_Pressure(handle,rho,eps) @@ -594,10 +594,10 @@ subroutine eigenproblem_leftright(handle,rho,velx,vely,velz,eps,& !!$ Set required fluid quantities #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,press,keyerr,anyerr) - call EOS_Omni_cs2(handle,keytemp,n,& + call EOS_Omni_cs2(handle,keytemp,GRHydro_eos_rf_prec,n,& rho,eps,xtemp,xye,cs2,keyerr,anyerr) #else press = EOS_Pressure(handle,rho,eps) diff --git a/src/GRHydro_Eigenproblem_Marquina.F90 b/src/GRHydro_Eigenproblem_Marquina.F90 index f583fb6..90ec4eb 100644 --- a/src/GRHydro_Eigenproblem_Marquina.F90 +++ b/src/GRHydro_Eigenproblem_Marquina.F90 @@ -120,13 +120,13 @@ subroutine eigenproblem_marquina(handle,rhor,velxr,velyr,& !!$ Set required fluid quantities invrhol = one / rhol #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhol,epsl,xtemp,xye,pressl,keyerr,anyerr) -! call EOS_Omni_cs2(handle,keytemp,n,& +! call EOS_Omni_cs2(handle,keytemp,GRHydro_eos_rf_prec,n,& ! rhol,epsl,xtemp,xye,cs2l,keyerr,anyerr) - call EOS_Omni_DPressByDEps(handle,keytemp,n,& + call EOS_Omni_DPressByDEps(handle,keytemp,GRHydro_eos_rf_prec,n,& rhol,epsl,xtemp,xye,dpdepsl,keyerr,anyerr) - call EOS_Omni_DPressByDRho(handle,keytemp,n,& + call EOS_Omni_DPressByDRho(handle,keytemp,GRHydro_eos_rf_prec,n,& rhol,epsl,xtemp,xye,dpdrhol,keyerr,anyerr) cs2l = (dpdrhol + pressl * dpdepsl * invrhol**2)/ & (1.0d0 + epsl + pressl*invrhol) @@ -174,13 +174,13 @@ subroutine eigenproblem_marquina(handle,rhor,velxr,velyr,& !!$ Set required fluid quantities invrhor = one / rhor #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& rhor,epsr,xtemp,xye,pressr,keyerr,anyerr) -! call EOS_Omni_cs2(handle,keytemp,n,& +! call EOS_Omni_cs2(handle,keytemp,GRHydro_eos_rf_prec,n,& ! rhor,epsr,xtemp,xye,cs2r,keyerr,anyerr) - call EOS_Omni_DPressByDEps(handle,keytemp,n,& + call EOS_Omni_DPressByDEps(handle,keytemp,GRHydro_eos_rf_prec,n,& rhor,epsr,xtemp,xye,dpdepsr,keyerr,anyerr) - call EOS_Omni_DPressByDRho(handle,keytemp,n,& + call EOS_Omni_DPressByDRho(handle,keytemp,GRHydro_eos_rf_prec,n,& rhor,epsr,xtemp,xye,dpdrhor,keyerr,anyerr) cs2r = (dpdrhor + pressr * dpdepsr * invrhor**2)/ & (1.0d0 + epsr + pressr*invrhor) diff --git a/src/GRHydro_EoSChangeGamma.F90 b/src/GRHydro_EoSChangeGamma.F90 index 622a8b3..c075aae 100644 --- a/src/GRHydro_EoSChangeGamma.F90 +++ b/src/GRHydro_EoSChangeGamma.F90 @@ -70,10 +70,10 @@ subroutine GRHydro_EoSChangeGamma(CCTK_ARGUMENTS) real*8 :: xtemp = 0.0d0 real*8 :: xye = 0.0d0 ! end EOS Omni vars - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,keyerr,anyerr) - call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,xeps,keyerr,anyerr) local_Gamma = 1.0d0 + xpress/xeps @@ -167,10 +167,10 @@ subroutine GRHydro_EoSChangeK(CCTK_ARGUMENTS) real*8 :: xtemp = 0.0d0 real*8 :: xye = 0.0d0 ! end EOS Omni vars - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,keyerr,anyerr) - call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,xeps,keyerr,anyerr) local_Gamma = 1.0d0 + xpress/xeps @@ -271,10 +271,10 @@ subroutine GRHydro_EoSChangeGammaK_Shibata(CCTK_ARGUMENTS) real*8 :: xtemp = 0.0d0 real*8 :: xye = 0.0d0 ! end EOS Omni vars - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,keyerr,anyerr) - call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,n,& + call EOS_Omni_EpsFromPress(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,xeps,keyerr,anyerr) local_Gamma = 1.0d0 + xpress/xeps diff --git a/src/GRHydro_Prim2Con.F90 b/src/GRHydro_Prim2Con.F90 index 39f6761..7951846 100644 --- a/src/GRHydro_Prim2Con.F90 +++ b/src/GRHydro_Prim2Con.F90 @@ -151,7 +151,7 @@ subroutine prim2con(handle, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, & *dvely*dvelz)) #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& drho,deps,xtemp,xye,dpress,keyerr,anyerr) #else dpress = EOS_Pressure(handle, drho, deps) @@ -380,10 +380,10 @@ subroutine prim2conpolytype(handle, gxx, gxy, gxz, gyy, gyz, & endif #if USE_EOS_OMNI - call EOS_Omni_press(handle,keytemp,n,& + call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,& drho,xeps,xtemp,xye,dpress,keyerr,anyerr) - call EOS_Omni_EpsFromPress(handle,keytemp,n,& + call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& drho,xeps,xtemp,xye,dpress,deps,keyerr,anyerr) #else if (handle .ge. 0) then diff --git a/test/GRHydro_test_tov_ppm_ML_eos_omni.par b/test/GRHydro_test_tov_ppm_ML_eos_omni.par index 37a8fa1..9e94a4e 100644 --- a/test/GRHydro_test_tov_ppm_ML_eos_omni.par +++ b/test/GRHydro_test_tov_ppm_ML_eos_omni.par @@ -88,8 +88,8 @@ eos_omni::poly_gamma = 2.0 eos_omni::poly_gamma_ini = 2.0 eos_omni::poly_k = 100.0d0 -grhydro::grhydro_poly_eoskey = 1 -grhydro::grhydro_eoskey = 1 +#grhydro::grhydro_poly_eoskey = 1 +#grhydro::grhydro_eoskey = 1 IOBasic::outInfo_every = 1 IOBasic::outInfo_vars = "HydroBase::rho" |