From e35d6e7aa0f9bdfa99bebe01df327eca59ef9817 Mon Sep 17 00:00:00 2001 From: rhaas Date: Mon, 11 Feb 2013 16:35:39 +0000 Subject: remove poly_gamma_ini EOS_Omni used this to compute (initially) conversion factors from code (assumed to e G=c=M_sun=1) to cgs units. It then goes back and forth between these units even for polytropic and gamma law eos. This is very confusing since poly_gamma_ini since poly_gamma_ini must mast poly_gamma and gl_gamma for a "usual" run with a Gamma law eos. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEOS/EOS_Omni/trunk@73 8e189c6b-2ab8-4400-aa02-70a9cfce18b9 --- src/EOS_Omni_Module.F90 | 6 +-- src/EOS_Omni_MultiVarCalls.F90 | 64 +++++++++++++-------------- src/EOS_Omni_SingleVarCalls.F90 | 96 ++++++++++++++++++++--------------------- src/EOS_Omni_Startup.F90 | 10 +---- 4 files changed, 83 insertions(+), 93 deletions(-) (limited to 'src') diff --git a/src/EOS_Omni_Module.F90 b/src/EOS_Omni_Module.F90 index 2fbef68..e6ecc14 100644 --- a/src/EOS_Omni_Module.F90 +++ b/src/EOS_Omni_Module.F90 @@ -26,10 +26,6 @@ module EOS_Omni_Module ! These values are set by EOS_Omni_Startup - real*8 :: poly_k_cgs = 0.0d0 - real*8 :: gl_k_cgs = 0.0d0 - - real*8 :: hybrid_k1_cgs = 0.0d0 - real*8 :: hybrid_k2_cgs = 0.0d0 + real*8 :: hybrid_k2 = 0.0d0 end module EOS_Omni_Module diff --git a/src/EOS_Omni_MultiVarCalls.F90 b/src/EOS_Omni_MultiVarCalls.F90 index a989fd3..417ae99 100644 --- a/src/EOS_Omni_MultiVarCalls.F90 +++ b/src/EOS_Omni_MultiVarCalls.F90 @@ -104,7 +104,7 @@ subroutine EOS_Omni_EOS_dpderho_dpdrhoe(eoskey,keytemp,rf_precision,npoints,& integer :: i character(256) :: warnstring real*8 :: hybrid_local_gamma - real*8 :: hybrid_local_k_cgs + real*8 :: hybrid_local_k real*8 :: hybrid_dp_poly,hybrid_dp_th1,hybrid_dp_th2 ! temporary vars for nuc_eos real*8 :: xrho,xye,xtemp,xenr,xent @@ -120,23 +120,23 @@ subroutine EOS_Omni_EOS_dpderho_dpdrhoe(eoskey,keytemp,rf_precision,npoints,& ! polytropic EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * poly_k_cgs * & - (rho(i)*inv_rho_gf)**(poly_gamma) / & + eps(i) = poly_k * & + rho(i)**(poly_gamma) / & (poly_gamma - 1.0d0) / rho(i) enddo endif do i=1,npoints - dpdrhoe(i) = press_gf * poly_k_cgs * & - poly_gamma * inv_rho_gf * & - (rho(i)*inv_rho_gf) ** (poly_gamma - 1.d0) + dpdrhoe(i) = poly_k * & + poly_gamma * & + rho(i) ** (poly_gamma - 1.d0) dpderho(i) = 0.0d0 enddo case (2) ! gamma-law EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * gl_k_cgs * & - (rho(i)*inv_rho_gf)**(gl_gamma) / & + eps(i) = gl_k * & + rho(i)**(gl_gamma) / & (gl_gamma - 1.0d0) / rho(i) enddo endif @@ -151,23 +151,23 @@ subroutine EOS_Omni_EOS_dpderho_dpdrhoe(eoskey,keytemp,rf_precision,npoints,& do i=1,npoints if(rho(i).gt.hybrid_rho_nuc) then hybrid_local_gamma = hybrid_gamma2 - hybrid_local_k_cgs = hybrid_k2_cgs + hybrid_local_k = hybrid_k2 else hybrid_local_gamma = hybrid_gamma1 - hybrid_local_k_cgs = hybrid_k1_cgs + hybrid_local_k = hybrid_k1 endif - hybrid_dp_poly = hybrid_local_gamma * press_gf * & - hybrid_local_k_cgs * rho(i)**(hybrid_local_gamma - 1.0d0) * & - inv_rho_gf**hybrid_local_gamma + hybrid_dp_poly = hybrid_local_gamma * & + hybrid_local_k * rho(i)**(hybrid_local_gamma - 1.0d0) + - hybrid_dp_th1 = - hybrid_local_gamma * press_gf * hybrid_local_k_cgs * & + hybrid_dp_th1 = - hybrid_local_gamma * hybrid_local_k * & (hybrid_gamma_th - 1.d0) / (hybrid_local_gamma - 1.d0) * & - rho(i)**(hybrid_local_gamma - 1.d0) * inv_rho_gf**hybrid_local_gamma + rho(i)**(hybrid_local_gamma - 1.d0) hybrid_dp_th2 = (hybrid_gamma_th - 1.d0) * eps(i) & - (hybrid_gamma_th - 1.d0) * (hybrid_local_gamma - hybrid_gamma1) / & (hybrid_gamma1 - 1.d0) / (hybrid_gamma2 - 1.d0) * & - press_gf * hybrid_k1_cgs * inv_rho_gf**hybrid_gamma1 * & + hybrid_k1 * & hybrid_rho_nuc**(hybrid_gamma1 - 1.d0) dpdrhoe(i) = hybrid_dp_poly + hybrid_dp_th1 + hybrid_dp_th2 @@ -224,7 +224,7 @@ subroutine EOS_Omni_EOS_dpderho_dpdrhoe(eoskey,keytemp,rf_precision,npoints,& integer :: i character(256) :: warnstring real*8 :: hybrid_local_gamma - real*8 :: hybrid_local_k_cgs + real*8 :: hybrid_local_k real*8 :: hybrid_dp_poly,hybrid_dp_th1,hybrid_dp_th2 ! temporary vars for nuc_eos real*8 :: xrho,xye,xtemp,xenr,xent @@ -240,23 +240,23 @@ subroutine EOS_Omni_EOS_dpderho_dpdrhoe(eoskey,keytemp,rf_precision,npoints,& ! polytropic EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * poly_k_cgs * & - (rho(i)*inv_rho_gf)**(poly_gamma) / & + eps(i) = poly_k * & + rho(i)**(poly_gamma) / & (poly_gamma - 1.0d0) / rho(i) enddo endif do i=1,npoints depsdpress(i) = 1.0d0/(poly_gamma - 1.0d0)/rho(i) - depsdrho(i) = depsdpress(i) * press_gf * poly_k_cgs * & - poly_gamma * inv_rho_gf * & - (rho(i)*inv_rho_gf) ** (poly_gamma - 1.d0) + depsdrho(i) = depsdpress(i) * poly_k * & + poly_gamma * & + rho(i) ** (poly_gamma - 1.d0) enddo case (2) ! gamma-law EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * gl_k_cgs * & - (rho(i)*inv_rho_gf)**(gl_gamma) / & + eps(i) = gl_k * & + rho(i)**(gl_gamma) / & (gl_gamma - 1.0d0) / rho(i) enddo endif @@ -270,23 +270,23 @@ subroutine EOS_Omni_EOS_dpderho_dpdrhoe(eoskey,keytemp,rf_precision,npoints,& do i=1,npoints if(rho(i).gt.hybrid_rho_nuc) then hybrid_local_gamma = hybrid_gamma2 - hybrid_local_k_cgs = hybrid_k2_cgs + hybrid_local_k = hybrid_k2 else hybrid_local_gamma = hybrid_gamma1 - hybrid_local_k_cgs = hybrid_k1_cgs + hybrid_local_k = hybrid_k1 endif - hybrid_dp_poly = hybrid_local_gamma * press_gf * & - hybrid_local_k_cgs * rho(i)**(hybrid_local_gamma - 1.0d0) * & - inv_rho_gf**hybrid_local_gamma + hybrid_dp_poly = hybrid_local_gamma * & + hybrid_local_k * rho(i)**(hybrid_local_gamma - 1.0d0) + - hybrid_dp_th1 = - hybrid_local_gamma * press_gf * hybrid_local_k_cgs * & + hybrid_dp_th1 = - hybrid_local_gamma * hybrid_local_k * & (hybrid_gamma_th - 1.d0) / (hybrid_local_gamma - 1.d0) * & - rho(i)**(hybrid_local_gamma - 1.d0) * inv_rho_gf**hybrid_local_gamma + rho(i)**(hybrid_local_gamma - 1.d0) hybrid_dp_th2 = (hybrid_gamma_th - 1.d0) * eps(i) & - (hybrid_gamma_th - 1.d0) * (hybrid_local_gamma - hybrid_gamma1) / & (hybrid_gamma1 - 1.d0) / (hybrid_gamma2 - 1.d0) * & - press_gf * hybrid_k1_cgs * inv_rho_gf**hybrid_gamma1 * & + hybrid_k1 * & hybrid_rho_nuc**(hybrid_gamma1 - 1.d0) xdpdrhoe = hybrid_dp_poly + hybrid_dp_th1 + hybrid_dp_th2 diff --git a/src/EOS_Omni_SingleVarCalls.F90 b/src/EOS_Omni_SingleVarCalls.F90 index 8e3b92c..bbff17c 100644 --- a/src/EOS_Omni_SingleVarCalls.F90 +++ b/src/EOS_Omni_SingleVarCalls.F90 @@ -27,7 +27,7 @@ subroutine EOS_Omni_EOS_Press(eoskey,keytemp,rf_precision,npoints,& ! local vars integer :: i character(256) :: warnstring - real*8 :: hybrid_local_gamma, hybrid_local_k_cgs, & + real*8 :: hybrid_local_gamma, hybrid_local_k, & hybrid_p_poly, hybrid_p_th real*8,parameter :: zero = 0.0d0 ! temporary vars for nuc_eos @@ -43,21 +43,21 @@ subroutine EOS_Omni_EOS_Press(eoskey,keytemp,rf_precision,npoints,& ! polytropic EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * poly_k_cgs * & - (rho(i)*inv_rho_gf)**(poly_gamma) / & + eps(i) = poly_k * & + rho(i)**(poly_gamma) / & (poly_gamma - 1.0d0) / rho(i) enddo endif do i=1,npoints - press(i) = press_gf * poly_k_cgs * & - (rho(i)*inv_rho_gf)**poly_gamma + press(i) = poly_k * & + rho(i)**poly_gamma enddo case (2) ! gamma-law EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * gl_k_cgs * & - (rho(i)*inv_rho_gf)**(gl_gamma) / & + eps(i) = gl_k * & + rho(i)**(gl_gamma) / & (gl_gamma - 1.0d0) / rho(i) enddo endif @@ -70,19 +70,19 @@ subroutine EOS_Omni_EOS_Press(eoskey,keytemp,rf_precision,npoints,& do i=1,npoints if(rho(i).gt.hybrid_rho_nuc) then hybrid_local_gamma = hybrid_gamma2 - hybrid_local_k_cgs = hybrid_k2_cgs + hybrid_local_k = hybrid_k2 else hybrid_local_gamma = hybrid_gamma1 - hybrid_local_k_cgs = hybrid_k1_cgs + hybrid_local_k = hybrid_k1 endif - hybrid_p_poly = press_gf * hybrid_local_k_cgs * & - (rho(i) * inv_rho_gf)**hybrid_local_gamma - hybrid_p_th = - press_gf * hybrid_local_k_cgs * (hybrid_gamma_th - 1.d0) / & - (hybrid_local_gamma - 1.0d0) * (rho(i) * inv_rho_gf)**hybrid_local_gamma + & + hybrid_p_poly = hybrid_local_k * & + rho(i)**hybrid_local_gamma + hybrid_p_th = - hybrid_local_k * (hybrid_gamma_th - 1.d0) / & + (hybrid_local_gamma - 1.0d0) * rho(i)**hybrid_local_gamma + & (hybrid_gamma_th - 1.0d0) * rho(i) * eps(i) - & (hybrid_gamma_th - 1.d0) * (hybrid_local_gamma - hybrid_gamma1) / & (hybrid_gamma1 - 1.d0) / (hybrid_gamma2 - 1.d0) * & - press_gf * hybrid_k1_cgs * inv_rho_gf**hybrid_gamma1 * & + hybrid_k1 * & hybrid_rho_nuc**(hybrid_gamma1 - 1.d0) * rho(i) hybrid_p_th = max(zero, hybrid_p_th) press(i) = hybrid_p_poly + hybrid_p_th @@ -140,7 +140,7 @@ subroutine EOS_Omni_EOS_DPressByDRho(eoskey,keytemp,rf_precision,npoints,& ! local vars integer :: i character(256) :: warnstring - real*8 :: hybrid_local_gamma, hybrid_local_k_cgs, & + real*8 :: hybrid_local_gamma, hybrid_local_k, & hybrid_dp_poly, hybrid_dp_th1, hybrid_dp_th2 real*8,parameter :: zero = 0.0d0 ! temporary vars for nuc_eos @@ -156,22 +156,22 @@ subroutine EOS_Omni_EOS_DPressByDRho(eoskey,keytemp,rf_precision,npoints,& ! polytropic EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * poly_k_cgs * & - (rho(i)*inv_rho_gf)**(poly_gamma) / & + eps(i) = poly_k * & + rho(i)**(poly_gamma) / & (poly_gamma - 1.0d0) / rho(i) enddo endif do i=1,npoints - dpdrhoe(i) = press_gf * poly_k_cgs * & - poly_gamma * inv_rho_gf * & - (rho(i)*inv_rho_gf) ** (poly_gamma - 1.d0) + dpdrhoe(i) = poly_k * & + poly_gamma * & + rho(i) ** (poly_gamma - 1.d0) enddo case (2) ! gamma-law EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * gl_k_cgs * & - (rho(i)*inv_rho_gf)**(gl_gamma) / & + eps(i) = gl_k * & + rho(i)**(gl_gamma) / & (gl_gamma - 1.0d0) / rho(i) enddo endif @@ -184,23 +184,23 @@ subroutine EOS_Omni_EOS_DPressByDRho(eoskey,keytemp,rf_precision,npoints,& do i=1,npoints if(rho(i).gt.hybrid_rho_nuc) then hybrid_local_gamma = hybrid_gamma2 - hybrid_local_k_cgs = hybrid_k2_cgs + hybrid_local_k = hybrid_k2 else hybrid_local_gamma = hybrid_gamma1 - hybrid_local_k_cgs = hybrid_k1_cgs + hybrid_local_k = hybrid_k1 endif - hybrid_dp_poly = hybrid_local_gamma * press_gf * & - hybrid_local_k_cgs * rho(i)**(hybrid_local_gamma - 1.0d0) * & - inv_rho_gf**hybrid_local_gamma + hybrid_dp_poly = hybrid_local_gamma * & + hybrid_local_k * rho(i)**(hybrid_local_gamma - 1.0d0) + - hybrid_dp_th1 = - hybrid_local_gamma * press_gf * hybrid_local_k_cgs * & + hybrid_dp_th1 = - hybrid_local_gamma * hybrid_local_k * & (hybrid_gamma_th - 1.d0) / (hybrid_local_gamma - 1.d0) * & - rho(i)**(hybrid_local_gamma - 1.d0) * inv_rho_gf**hybrid_local_gamma + rho(i)**(hybrid_local_gamma - 1.d0) hybrid_dp_th2 = (hybrid_gamma_th - 1.d0) * eps(i) & - (hybrid_gamma_th - 1.d0) * (hybrid_local_gamma - hybrid_gamma1) / & (hybrid_gamma1 - 1.d0) / (hybrid_gamma2 - 1.d0) * & - press_gf * hybrid_k1_cgs * inv_rho_gf**hybrid_gamma1 * & + hybrid_k1 * & hybrid_rho_nuc**(hybrid_gamma1 - 1.d0) dpdrhoe(i) = hybrid_dp_poly + max(0.0d0,hybrid_dp_th1 + hybrid_dp_th2) @@ -269,8 +269,8 @@ subroutine EOS_Omni_EOS_DPressByDEps(eoskey,keytemp,rf_precision,npoints,& ! polytropic EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * poly_k_cgs * & - (rho(i)*inv_rho_gf)**(poly_gamma) / & + eps(i) = poly_k * & + rho(i)**(poly_gamma) / & (poly_gamma - 1.0d0) / rho(i) enddo endif @@ -281,8 +281,8 @@ subroutine EOS_Omni_EOS_DPressByDEps(eoskey,keytemp,rf_precision,npoints,& ! gamma-law EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * gl_k_cgs * & - (rho(i)*inv_rho_gf)**(gl_gamma) / & + eps(i) = gl_k * & + rho(i)**(gl_gamma) / & (gl_gamma - 1.0d0) / rho(i) enddo endif @@ -348,7 +348,7 @@ subroutine EOS_Omni_EOS_cs2(eoskey,keytemp,rf_precision,npoints,& integer :: i character(256) :: warnstring real*8 :: xpress,xdpdrhoe,xdpderho - real*8 :: hybrid_local_gamma, hybrid_local_k_cgs, & + real*8 :: hybrid_local_gamma, hybrid_local_k, & hybrid_p_poly, hybrid_p_th real*8,parameter :: zero = 0.0d0 ! temporary vars for nuc_eos @@ -364,14 +364,14 @@ subroutine EOS_Omni_EOS_cs2(eoskey,keytemp,rf_precision,npoints,& ! polytropic EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * poly_k_cgs * & - (rho(i)*inv_rho_gf)**(poly_gamma) / & + eps(i) = poly_k * & + rho(i)**(poly_gamma) / & (poly_gamma - 1.0d0) / rho(i) enddo endif do i=1,npoints - xpress = press_gf*poly_k_cgs * & - (rho(i)*inv_rho_gf)**(poly_gamma) + xpress = poly_k * & + rho(i)**(poly_gamma) cs2(i) = poly_gamma * xpress / rho(i) / & (1 + eps(i) + xpress/rho(i)) enddo @@ -379,8 +379,8 @@ subroutine EOS_Omni_EOS_cs2(eoskey,keytemp,rf_precision,npoints,& ! gamma-law EOS if(keytemp.eq.1) then do i=1,npoints - eps(i) = press_gf * gl_k_cgs * & - (rho(i)*inv_rho_gf)**(gl_gamma) / & + eps(i) = gl_k * & + rho(i)**(gl_gamma) / & (gl_gamma - 1.0d0) / rho(i) enddo endif @@ -396,20 +396,20 @@ subroutine EOS_Omni_EOS_cs2(eoskey,keytemp,rf_precision,npoints,& do i=1,npoints if(rho(i).gt.hybrid_rho_nuc) then hybrid_local_gamma = hybrid_gamma2 - hybrid_local_k_cgs = hybrid_k2_cgs + hybrid_local_k = hybrid_k2 else hybrid_local_gamma = hybrid_gamma1 - hybrid_local_k_cgs = hybrid_k1_cgs + hybrid_local_k = hybrid_k1 endif ! first calculate the pressure - hybrid_p_poly = press_gf * hybrid_local_k_cgs * & - (rho(i) * inv_rho_gf)**hybrid_local_gamma - hybrid_p_th = - press_gf * hybrid_local_k_cgs * (hybrid_gamma_th - 1.d0) / & - (hybrid_local_gamma - 1.0d0) * (rho(i) * inv_rho_gf)**hybrid_local_gamma + & + hybrid_p_poly = hybrid_local_k * & + rho(i)**hybrid_local_gamma + hybrid_p_th = - hybrid_local_k * (hybrid_gamma_th - 1.d0) / & + (hybrid_local_gamma - 1.0d0) * rho(i)**hybrid_local_gamma + & (hybrid_gamma_th - 1.0d0) * rho(i) * eps(i) - & (hybrid_gamma_th - 1.d0) * (hybrid_local_gamma - hybrid_gamma1) / & (hybrid_gamma1 - 1.d0) / (hybrid_gamma2 - 1.d0) * & - press_gf * hybrid_k1_cgs * inv_rho_gf**hybrid_gamma1 * & + hybrid_k1 * & hybrid_rho_nuc**(hybrid_gamma1 - 1.d0) * rho(i) hybrid_p_th = max(zero, hybrid_p_th) xpress = hybrid_p_poly + hybrid_p_th diff --git a/src/EOS_Omni_Startup.F90 b/src/EOS_Omni_Startup.F90 index e1fc6a3..2995393 100644 --- a/src/EOS_Omni_Startup.F90 +++ b/src/EOS_Omni_Startup.F90 @@ -11,13 +11,7 @@ subroutine EOS_Omni_Startup(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS DECLARE_CCTK_ARGUMENTS - poly_k_cgs = poly_k * rho_gf**poly_gamma_ini / press_gf - - gl_k_cgs = gl_k * rho_gf**poly_gamma_ini / press_gf - - hybrid_k1_cgs = hybrid_k1 * rho_gf**poly_gamma_ini / press_gf - - hybrid_k2_cgs = hybrid_k1_cgs * & - (hybrid_rho_nuc * inv_rho_gf)**(hybrid_gamma1-hybrid_gamma2) + hybrid_k2 = hybrid_k1 * & + hybrid_rho_nuc**(hybrid_gamma1-hybrid_gamma2) end subroutine EOS_Omni_Startup -- cgit v1.2.3