aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_Con2PrimHot.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/GRHydro_Con2PrimHot.F90')
-rw-r--r--src/GRHydro_Con2PrimHot.F9046
1 files changed, 23 insertions, 23 deletions
diff --git a/src/GRHydro_Con2PrimHot.F90 b/src/GRHydro_Con2PrimHot.F90
index 5725e18..7598e07 100644
--- a/src/GRHydro_Con2PrimHot.F90
+++ b/src/GRHydro_Con2PrimHot.F90
@@ -21,7 +21,7 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
DECLARE_CCTK_FUNCTIONS
integer :: i, j, k, itracer, nx, ny, nz, myproc
- CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, det, pmin, epsmin, dummy1, dummy2
+ CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, sdet, pmin, epsmin, dummy1, dummy2
CCTK_REAL :: vlowx, vlowy, vlowz
logical :: epsnegative
character*512 :: warnline
@@ -82,7 +82,7 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
epsmin = xeps(1)
!$OMP PARALLEL DO PRIVATE(i,j,k,itracer,&
- !$OMP uxx, uxy, uxz, uyy, uyz, uzz, det, epsnegative, anyerr, keyerr, keytemp,&
+ !$OMP uxx, uxy, uxz, uyy, uyz, uzz, sdet, epsnegative, anyerr, keyerr, keytemp,&
!$OMP warnline, dummy1, dummy2,reset_to_atmo)
do k = 1, nz
do j = 1, ny
@@ -94,9 +94,9 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
epsnegative = .false.
- det = SPATIAL_DETERMINANT(g11(i,j,k),g12(i,j,k),g13(i,j,k), \
- g22(i,j,k),g23(i,j,k),g33(i,j,k))
- call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,&
+ sdet = sdetg(i,j,k)
+
+ call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,sdet*sdet,&
g11(i,j,k),g12(i,j,k),g13(i,j,k),g22(i,j,k),&
g23(i,j,k),g33(i,j,k))
@@ -121,12 +121,12 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
endif
reset_to_atmo = 0
- IF_BELOW_ATMO(dens(i,j,k), sqrt(det)*GRHydro_rho_min, GRHydro_atmo_tolerance, r(i,j,k)) then
+ IF_BELOW_ATMO(dens(i,j,k), sdet*GRHydro_rho_min, GRHydro_atmo_tolerance, r(i,j,k)) then
reset_to_atmo = 1
endif
if (reset_to_atmo .gt. 0 .or. (GRHydro_enable_internal_excision /= 0 .and. hydro_excision_mask(i,j,k) .gt. 0)) then
- SET_ATMO_MIN(dens(i,j,k), sqrt(det)*GRHydro_rho_min, r(i,j,k))
+ SET_ATMO_MIN(dens(i,j,k), sdet*GRHydro_rho_min, r(i,j,k))
SET_ATMO_MIN(rho(i,j,k), GRHydro_rho_min, r(i,j,k))
scon(i,j,k,:) = 0.d0
vup(i,j,k,:) = 0.d0
@@ -142,7 +142,7 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
press(i,j,k),keyerr,anyerr)
keytemp = 0
! w_lorentz=1, so the expression for tau reduces to:
- tau(i,j,k) = sqrt(det) * (rho(i,j,k)+rho(i,j,k)*eps(i,j,k)) - dens(i,j,k)
+ tau(i,j,k) = sdet * (rho(i,j,k)+rho(i,j,k)*eps(i,j,k)) - dens(i,j,k)
cycle
@@ -153,7 +153,7 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
scon(i,j,k,2),scon(i,j,k,3),tau(i,j,k),Y_e_con(i,j,k),rho(i,j,k),vup(i,j,k,1),&
vup(i,j,k,2),vup(i,j,k,3),eps(i,j,k),temperature(i,j,k),y_e(i,j,k),&
press(i,j,k),w_lorentz(i,j,k), &
- uxx,uxy,uxz,uyy,uyz,uzz,det,x(i,j,k),y(i,j,k), &
+ uxx,uxy,uxz,uyy,uyz,uzz,sdet,x(i,j,k),y(i,j,k), &
z(i,j,k),r(i,j,k),epsnegative,GRHydro_rho_min,pmin, epsmin, &
GRHydro_reflevel, GRHydro_C2P_failed(i,j,k), GRHydro_perc_ptol)
@@ -198,7 +198,7 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
scon(i,j,k,2),scon(i,j,k,3),tau(i,j,k),Y_e_con(i,j,k),rho(i,j,k),&
vup(i,j,k,1),vup(i,j,k,2), vup(i,j,k,3),eps(i,j,k),&
temperature(i,j,k),y_e(i,j,k),press(i,j,k),w_lorentz(i,j,k), &
- uxx,uxy,uxz,uyy,uyz,uzz,det,x(i,j,k),y(i,j,k), &
+ uxx,uxy,uxz,uyy,uyz,uzz,sdet,x(i,j,k),y(i,j,k), &
z(i,j,k),r(i,j,k),epsnegative,GRHydro_rho_min,pmin, epsmin, &
GRHydro_reflevel, GRHydro_C2P_failed(i,j,k), local_perc_ptol)
if( abs(GRHydro_C2P_failed(i,j,k)-2.0d0) .lt. 1.0d-10) then
@@ -267,13 +267,13 @@ subroutine Conservative2PrimitiveHot(CCTK_ARGUMENTS)
vlowz = gxz(i,j,k)*vel(i,j,k,1) &
+ gyz(i,j,k)*vel(i,j,k,2) &
+ gzz(i,j,k)*vel(i,j,k,3)
- scon(i,j,k,1) = sqrt(det) * (rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+ scon(i,j,k,1) = sdet * (rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+ press(i,j,k))*w_lorentz(i,j,k)**2 * vlowx
- scon(i,j,k,2) = sqrt(det) * (rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+ scon(i,j,k,2) = sdet * (rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+press(i,j,k))*w_lorentz(i,j,k)**2 * vlowy
- scon(i,j,k,3) = sqrt(det) * (rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+ scon(i,j,k,3) = sdet * (rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+ press(i,j,k))*w_lorentz(i,j,k)**2 * vlowz
- tau(i,j,k) = sqrt(det) * ((rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+ tau(i,j,k) = sdet * ((rho(i,j,k)*(1.0d0+eps(i,j,k)) &
+ press(i,j,k))*w_lorentz(i,j,k)**2 - press(i,j,k)) &
- dens(i,j,k)
endif
@@ -291,7 +291,7 @@ end subroutine Conservative2PrimitiveHot
subroutine Con2Prim_pt_hot3(cctk_iteration, myproc, ii,jj,kk,handle, dens, &
sx, sy, sz, tau, ye_con, rho, velx, vely, &
velz, epsilon, temp, ye, press, w_lorentz, uxx, uxy, uxz, uyy, &
- uyz, uzz, det, x, y, z, r, epsnegative, GRHydro_rho_min, pmin, epsmin, &
+ uyz, uzz, sdet, x, y, z, r, epsnegative, GRHydro_rho_min, pmin, epsmin, &
GRHydro_reflevel, GRHydro_C2P_failed, local_perc_ptol)
implicit none
@@ -299,7 +299,7 @@ subroutine Con2Prim_pt_hot3(cctk_iteration, myproc, ii,jj,kk,handle, dens, &
DECLARE_CCTK_PARAMETERS
CCTK_REAL dens, sx, sy, sz, tau, ye_con, rho, velx, vely, velz, epsilon, &
- press, uxx, uxy, uxz, uyy, uyz, uzz, det, w_lorentz, x, &
+ press, uxx, uxy, uxz, uyy, uyz, uzz, invsdet, sdet, w_lorentz, x, &
y, z, r, GRHydro_rho_min
CCTK_REAL temp, ye
CCTK_REAL s2, f, df, vlowx, vlowy, vlowz
@@ -345,12 +345,12 @@ subroutine Con2Prim_pt_hot3(cctk_iteration, myproc, ii,jj,kk,handle, dens, &
endif
!!$ Undensitize the variables
-
- udens = dens /sqrt(det)
- usx = sx /sqrt(det)
- usy = sy /sqrt(det)
- usz = sz /sqrt(det)
- utau = tau /sqrt(det)
+ invsdet = 1.0d0/sdet
+ udens = dens * invsdet
+ usx = sx * invsdet
+ usy = sy * invsdet
+ usz = sz * invsdet
+ utau = tau * invsdet
s2 = usx*usx*uxx + usy*usy*uyy + usz*usz*uzz + 2.*usx*usy*uxy + &
2.*usx*usz*uxz + 2.*usy*usz*uyz
@@ -627,7 +627,7 @@ subroutine Con2Prim_pt_hot3(cctk_iteration, myproc, ii,jj,kk,handle, dens, &
IF_BELOW_ATMO(rho, GRHydro_rho_min, GRHydro_atmo_tolerance, r) then
SET_ATMO_MIN(rho, GRHydro_rho_min, r) !GRHydro_rho_min
udens = rho
- dens = sqrt(det) * rho
+ dens = sdet * rho
temp = GRHydro_hot_atmo_temp
ye = GRHydro_hot_atmo_Y_e
ye_con = dens * ye