aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_Prim2Con.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/GRHydro_Prim2Con.F90')
-rw-r--r--src/GRHydro_Prim2Con.F90133
1 files changed, 61 insertions, 72 deletions
diff --git a/src/GRHydro_Prim2Con.F90 b/src/GRHydro_Prim2Con.F90
index 680ecfc..20a6c9d 100644
--- a/src/GRHydro_Prim2Con.F90
+++ b/src/GRHydro_Prim2Con.F90
@@ -51,8 +51,8 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
integer :: i, j, k
integer :: keytemp
- CCTK_REAL :: g11l,g12l,g13l,g22l,g23l,g33l,avg_detl,&
- g11r,g12r,g13r,g22r,g23r,g33r,avg_detr
+ CCTK_REAL :: g11l,g12l,g13l,g22l,g23l,g33l,avg_sdetl,&
+ g11r,g12r,g13r,g22r,g23r,g33r,avg_sdetr
CCTK_REAL :: xtemp(1)
! save memory when MP is not used
@@ -79,7 +79,7 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
end if
if(evolve_temper.ne.1) then
- !$OMP PARALLEL DO PRIVATE(i, j, k, avg_detl, avg_detr,&
+ !$OMP PARALLEL DO PRIVATE(i, j, k, avg_sdetl, avg_sdetr,&
!$OMP g11l,g12l,g13l,g22l,g23l,g33l, &
!$OMP g11r,g12r,g13r,g22r,g23r,g33r)
do k = GRHydro_stencil,cctk_lsh(3)-GRHydro_stencil+1
@@ -99,12 +99,12 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
g23r = 0.5d0 * (g23(i,j,k) + g23(i+xoffset,j+yoffset,k+zoffset))
g33r = 0.5d0 * (g33(i,j,k) + g33(i+xoffset,j+yoffset,k+zoffset))
- avg_detl = SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l)
- avg_detr = SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r)
+ avg_sdetl = sqrt(SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l))
+ avg_sdetr = sqrt(SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r))
call prim2con(GRHydro_eos_handle, g11l,g12l,g13l,g22l,&
g23l,g33l, &
- avg_detl,densminus(i,j,k),sxminus(i,j,k),&
+ avg_sdetl,densminus(i,j,k),sxminus(i,j,k),&
syminus(i,j,k),szminus(i,j,k),tauminus(i,j,k),&
rhominus(i,j,k), &
velxminus(i,j,k),velyminus(i,j,k),velzminus(i,j,k),&
@@ -112,7 +112,7 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
call prim2con(GRHydro_eos_handle, g11r,g12r,g13r,&
g22r,g23r,g33r, &
- avg_detr, densplus(i,j,k),sxplus(i,j,k),&
+ avg_sdetr, densplus(i,j,k),sxplus(i,j,k),&
syplus(i,j,k),szplus(i,j ,k),tauplus(i,j,k),&
rhoplus(i,j,k),velxplus(i,j,k),velyplus(i,j,k),&
velzplus(i,j,k),epsplus(i,j,k),pressplus(i,j,k),&
@@ -125,7 +125,7 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
else
if(reconstruct_temper.ne.0) then
keytemp = 1
- !$OMP PARALLEL DO PRIVATE(i, j, k, avg_detl, avg_detr, xtemp,&
+ !$OMP PARALLEL DO PRIVATE(i, j, k, avg_sdetl, avg_sdetr, xtemp,&
!$OMP g11l,g12l,g13l,g22l,g23l,g33l, &
!$OMP g11r,g12r,g13r,g22r,g23r,g33r)
do k = GRHydro_stencil,cctk_lsh(3)-GRHydro_stencil+1
@@ -145,15 +145,15 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
g23r = 0.5d0 * (g23(i,j,k) + g23(i+xoffset,j+yoffset,k+zoffset))
g33r = 0.5d0 * (g33(i,j,k) + g33(i+xoffset,j+yoffset,k+zoffset))
- avg_detl = SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l)
- avg_detr = SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r)
+ avg_sdetl = sqrt(SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l))
+ avg_sdetr = sqrt(SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r))
call prim2con_hot(GRHydro_eos_handle, keytemp, GRHydro_reflevel,&
cctk_iteration,i,j,k,x(i,j,k),y(i,j,k),z(i,j,k),&
r(i,j,k),&
g11l,g12l,g13l,g22l,&
g23l,g33l, &
- avg_detl,densminus(i,j,k),sxminus(i,j,k),&
+ avg_sdetl,densminus(i,j,k),sxminus(i,j,k),&
syminus(i,j,k),szminus(i,j,k),tauminus(i,j,k),&
rhominus(i,j,k), &
velxminus(i,j,k),velyminus(i,j,k),velzminus(i,j,k),&
@@ -165,7 +165,7 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
r(i,j,k),&
g11r,g12r,g13r,&
g22r,g23r,g33r,&
- avg_detr, densplus(i,j,k),sxplus(i,j,k),&
+ avg_sdetr, densplus(i,j,k),sxplus(i,j,k),&
syplus(i,j,k),szplus(i,j ,k),tauplus(i,j,k),&
rhoplus(i,j,k),velxplus(i,j,k),velyplus(i,j,k),&
velzplus(i,j,k),epsplus(i,j,k),pressplus(i,j,k),&
@@ -178,7 +178,7 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
!$OMP END PARALLEL DO
else
keytemp = 0
- !$OMP PARALLEL DO PRIVATE(i, j, k, avg_detl, avg_detr, xtemp,&
+ !$OMP PARALLEL DO PRIVATE(i, j, k, avg_sdetl, avg_sdetr, xtemp,&
!$OMP g11l,g12l,g13l,g22l,g23l,g33l, &
!$OMP g11r,g12r,g13r,g22r,g23r,g33r)
do k = GRHydro_stencil,cctk_lsh(3)-GRHydro_stencil+1
@@ -198,8 +198,8 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
g23r = 0.5d0 * (g23(i,j,k) + g23(i+xoffset,j+yoffset,k+zoffset))
g33r = 0.5d0 * (g33(i,j,k) + g33(i+xoffset,j+yoffset,k+zoffset))
- avg_detl = SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l)
- avg_detr = SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r)
+ avg_sdetl = sqrt(SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l))
+ avg_sdetr = sqrt(SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r))
xtemp(1) = 0.5d0*(temperature(i,j,k) + &
temperature(i-xoffset,j-yoffset,k-zoffset))
@@ -208,7 +208,7 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
r(i,j,k),&
g11l,g12l,g13l,g22l,&
g23l,g33l, &
- avg_detl,densminus(i,j,k),sxminus(i,j,k),&
+ avg_sdetl,densminus(i,j,k),sxminus(i,j,k),&
syminus(i,j,k),szminus(i,j,k),tauminus(i,j,k),&
rhominus(i,j,k), &
velxminus(i,j,k),velyminus(i,j,k),velzminus(i,j,k),&
@@ -222,7 +222,7 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
r(i,j,k),&
g11r,g12r,g13r,&
g22r,g23r,g33r,&
- avg_detr, densplus(i,j,k),sxplus(i,j,k),&
+ avg_sdetr, densplus(i,j,k),sxplus(i,j,k),&
syplus(i,j,k),szplus(i,j ,k),tauplus(i,j,k),&
rhoplus(i,j,k),velxplus(i,j,k),velyplus(i,j,k),&
velzplus(i,j,k),epsplus(i,j,k),pressplus(i,j,k),&
@@ -254,14 +254,14 @@ end subroutine primitive2conservative
@@*/
-subroutine prim2con(handle, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, &
+subroutine prim2con(handle, gxx, gxy, gxz, gyy, gyz, gzz, sdetg, ddens, &
dsx, dsy, dsz, dtau , drho, dvelx, dvely, dvelz, deps, dpress, w)
implicit none
DECLARE_CCTK_PARAMETERS
- CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, det
+ CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, sdetg
CCTK_REAL :: ddens, dsx, dsy, dsz, dtau, drho, dvelx, dvely, dvelz,&
deps, dpress, w, vlowx, vlowy, vlowz
CCTK_INT :: handle
@@ -284,17 +284,17 @@ subroutine prim2con(handle, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, &
vlowy = gxy*dvelx + gyy*dvely + gyz*dvelz
vlowz = gxz*dvelx + gyz*dvely + gzz*dvelz
- ddens = sqrt(det) * drho * w
- dsx = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowx
- dsy = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowy
- dsz = sqrt(det) * (drho*(1+deps)+dpress)*w*w * vlowz
- dtau = sqrt(det) * ((drho*(1+deps)+dpress)*w*w - dpress) - ddens
+ ddens = sdetg * drho * w
+ dsx = sdetg * (drho*(1+deps)+dpress)*w*w * vlowx
+ dsy = sdetg * (drho*(1+deps)+dpress)*w*w * vlowy
+ dsz = sdetg * (drho*(1+deps)+dpress)*w*w * vlowz
+ dtau = sdetg * ((drho*(1+deps)+dpress)*w*w - dpress) - ddens
end subroutine prim2con
subroutine prim2con_hot(handle, keytemp, GRHydro_reflevel, cctk_iteration, ii, jj, kk, &
- x, y, z, r, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, &
+ x, y, z, r, gxx, gxy, gxz, gyy, gyz, gzz, sdetg, ddens, &
dsx, dsy, dsz, dtau , drho, dvelx, dvely, dvelz, deps, dpress, w, &
temp,ye)
@@ -303,12 +303,12 @@ subroutine prim2con_hot(handle, keytemp, GRHydro_reflevel, cctk_iteration, ii, j
DECLARE_CCTK_PARAMETERS
DECLARE_CCTK_FUNCTIONS
- CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, det
+ CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, sdetg
CCTK_REAL :: ddens, dsx, dsy, dsz, dtau, drho(1), dvelx, dvely, dvelz,&
deps(1), dpress(1), w, vlowx, vlowy, vlowz
CCTK_REAL :: temp(1),ye(1), x, y, z, r
CCTK_INT :: handle, GRHydro_reflevel, cctk_iteration, ii, jj, kk
- CCTK_REAL :: sdet, h
+ CCTK_REAL :: h
character(len=512) warnline
! begin EOS Omni vars
@@ -439,13 +439,12 @@ subroutine prim2con_hot(handle, keytemp, GRHydro_reflevel, cctk_iteration, ii, j
vlowy = gxy*dvelx + gyy*dvely + gyz*dvelz
vlowz = gxz*dvelx + gyz*dvely + gzz*dvelz
- sdet = sqrt(det)
h = drho(1)*(1.0d0+deps(1))+dpress(1)
- ddens = sdet * drho(1) * w
- dsx = sdet * h*w*w * vlowx
- dsy = sdet * h*w*w * vlowy
- dsz = sdet * h*w*w * vlowz
- dtau = sdet * (h*w*w - dpress(1)) - ddens
+ ddens = sdetg * drho(1) * w
+ dsx = sdetg * h*w*w * vlowx
+ dsy = sdetg * h*w*w * vlowy
+ dsz = sdetg * h*w*w * vlowz
+ dtau = sdetg * (h*w*w - dpress(1)) - ddens
end subroutine prim2con_hot
@@ -483,8 +482,8 @@ subroutine Primitive2ConservativeCells(CCTK_ARGUMENTS)
CCTK_INT :: i, j, k
CCTK_INT :: keytemp
- CCTK_REAL :: det
+ character(len=512) :: warnline
! save memory when MP is not used
CCTK_INT :: GRHydro_UseGeneralCoordinates
CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11, g12, g13, g22, g23, g33
@@ -509,41 +508,36 @@ subroutine Primitive2ConservativeCells(CCTK_ARGUMENTS)
end if
if(evolve_temper.ne.1) then
- !$OMP PARALLEL DO PRIVATE(i, j, k, det)
+ !$OMP PARALLEL DO PRIVATE(i, j, k)
do k = 1,cctk_lsh(3)
do j = 1,cctk_lsh(2)
do i = 1,cctk_lsh(1)
- 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 prim2con(GRHydro_eos_handle,g11(i,j,k),&
g12(i,j,k),g13(i,j,k),&
g22(i,j,k),g23(i,j,k),g33(i,j,k),&
- det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ sdetg(i,j,k), dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
end do
end do
end do
!$OMP END PARALLEL DO
else
keytemp = 0
- !$OMP PARALLEL DO PRIVATE(i, j, k, det)
+ !$OMP PARALLEL DO PRIVATE(i, j, k)
do k = 1,cctk_lsh(3)
do j = 1,cctk_lsh(2)
do i = 1,cctk_lsh(1)
- 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 prim2con_hot(GRHydro_eos_handle,keytemp,&
GRHydro_reflevel,cctk_iteration,&
i,j,k,&
x(i,j,k),y(i,j,k),z(i,j,k),r(i,j,k),g11(i,j,k),&
g12(i,j,k),g13(i,j,k),&
g22(i,j,k),g23(i,j,k),g33(i,j,k),&
- det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ sdetg(i,j,k), dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
eps(i,j,k),press(i,j,k),w_lorentz(i,j,k), &
temperature(i,j,k),y_e(i,j,k))
@@ -599,8 +593,8 @@ subroutine Prim2ConservativePolytype(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS
integer :: i, j, k
- CCTK_REAL :: g11l,g12l,g13l,g22l,g23l,g33l,avg_detl,&
- g11r,g12r,g13r,g22r,g23r,g33r,avg_detr
+ CCTK_REAL :: g11l,g12l,g13l,g22l,g23l,g33l,avg_sdetl,&
+ g11r,g12r,g13r,g22r,g23r,g33r,avg_sdetr
! save memory when MP is not used
CCTK_INT :: GRHydro_UseGeneralCoordinates
@@ -625,8 +619,8 @@ subroutine Prim2ConservativePolytype(CCTK_ARGUMENTS)
vup => vel
end if
- !$OMP PARALLEL DO PRIVATE(i, j, k, g11l,g12l,g13l,g22l,g23l,g33l,avg_detl,&
- !$OMP g11r,g12r,g13r,g22r,g23r,g33r,avg_detr)
+ !$OMP PARALLEL DO PRIVATE(i, j, k, g11l,g12l,g13l,g22l,g23l,g33l,avg_sdetl,&
+ !$OMP g11r,g12r,g13r,g22r,g23r,g33r,avg_sdetr)
do k = GRHydro_stencil,cctk_lsh(3)-GRHydro_stencil+1
do j = GRHydro_stencil,cctk_lsh(2)-GRHydro_stencil+1
do i = GRHydro_stencil,cctk_lsh(1)-GRHydro_stencil+1
@@ -644,19 +638,19 @@ subroutine Prim2ConservativePolytype(CCTK_ARGUMENTS)
g23r = 0.5d0 * (g23(i,j,k) + g23(i+xoffset,j+yoffset,k+zoffset))
g33r = 0.5d0 * (g33(i,j,k) + g33(i+xoffset,j+yoffset,k+zoffset))
- avg_detl = SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l)
- avg_detr = SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r)
+ avg_sdetl = sqrt(SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l))
+ avg_sdetr = sqrt(SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r))
call prim2conpolytype(GRHydro_eos_handle, g11l,g12l,g13l,&
g22l,g23l,g33l, &
- avg_detl,densminus(i,j,k),sxminus(i,j,k),&
+ avg_sdetl,densminus(i,j,k),sxminus(i,j,k),&
syminus(i,j,k),szminus(i,j,k),tauminus(i,j,k),rhominus(i,j,k), &
velxminus(i,j,k),velyminus(i,j,k),velzminus(i,j,k),&
epsminus(i,j,k),pressminus(i,j,k),w_lorentzminus(i, j, k))
call prim2conpolytype(GRHydro_eos_handle, g11r,g12r,g13r,&
g22r,g23r,g33r, &
- avg_detr, densplus(i,j,k),sxplus(i,j,k),&
+ avg_sdetr, densplus(i,j,k),sxplus(i,j,k),&
syplus(i,j,k),szplus(i,j ,k),tauplus(i,j,k),&
rhoplus(i,j,k),velxplus(i,j,k),velyplus(i,j,k),&
velzplus(i,j,k),epsplus(i,j,k),pressplus(i,j,k),&
@@ -689,14 +683,14 @@ end subroutine Prim2ConservativePolytype
@@*/
subroutine prim2conpolytype(handle, gxx, gxy, gxz, gyy, gyz, &
- gzz, det, ddens, &
+ gzz, sdetg, ddens, &
dsx, dsy, dsz, dtau , drho, dvelx, dvely, dvelz, deps, dpress, w)
implicit none
DECLARE_CCTK_PARAMETERS
- CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, det
+ CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, sdetg
CCTK_REAL :: ddens, dsx, dsy, dsz, dtau, drho, dvelx, dvely, dvelz,&
deps, dpress, w_tmp, w, vlowx, vlowy, vlowz, sqrtdet
CCTK_INT :: handle
@@ -737,12 +731,11 @@ subroutine prim2conpolytype(handle, gxx, gxy, gxz, gyy, gyz, &
vlowy = gxy*dvelx + gyy*dvely + gyz*dvelz
vlowz = gxz*dvelx + gyz*dvely + gzz*dvelz
- sqrtdet = sqrt(det)
- ddens = sqrtdet * drho * w
- dsx = sqrtdet * (drho*(1+deps)+dpress)*w*w * vlowx
- dsy = sqrtdet * (drho*(1+deps)+dpress)*w*w * vlowy
- dsz = sqrtdet * (drho*(1+deps)+dpress)*w*w * vlowz
- dtau = sqrtdet * ((drho*(1+deps)+dpress)*w*w - dpress) - ddens
+ ddens = sdetg * drho * w
+ dsx = sdetg * (drho*(1+deps)+dpress)*w*w * vlowx
+ dsy = sdetg * (drho*(1+deps)+dpress)*w*w * vlowy
+ dsz = sdetg * (drho*(1+deps)+dpress)*w*w * vlowz
+ dtau = sdetg * ((drho*(1+deps)+dpress)*w*w - dpress) - ddens
end subroutine prim2conpolytype
@@ -778,7 +771,6 @@ subroutine Primitive2ConservativePolyCells(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS
CCTK_INT :: i, j, k
- CCTK_REAL :: det
! save memory when MP is not used
CCTK_INT :: GRHydro_UseGeneralCoordinates
@@ -803,17 +795,14 @@ subroutine Primitive2ConservativePolyCells(CCTK_ARGUMENTS)
vup => vel
end if
- !$OMP PARALLEL DO PRIVATE(i, j, k, det)
+ !$OMP PARALLEL DO PRIVATE(i, j, k)
do k = 1,cctk_lsh(3)
do j = 1,cctk_lsh(2)
do i = 1,cctk_lsh(1)
- 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 prim2conpolytype(GRHydro_eos_handle,g11(i,j,k),g12(i,j,k),&
g13(i,j,k),g22(i,j,k),g23(i,j,k),g33(i,j,k),&
- det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ sdetg(i,j,k), dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
@@ -864,8 +853,8 @@ subroutine Prim2ConservativeTracer(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS
integer :: i, j, k
- CCTK_REAL :: g11l,g12l,g13l,g22l,g23l,g33l,avg_detl,&
- g11r,g12r,g13r,g22r,g23r,g33r,avg_detr
+ CCTK_REAL :: g11l,g12l,g13l,g22l,g23l,g33l,avg_sdetl,&
+ g11r,g12r,g13r,g22r,g23r,g33r,avg_sdetr
! save memory when MP is not used
CCTK_INT :: GRHydro_UseGeneralCoordinates
@@ -904,10 +893,10 @@ subroutine Prim2ConservativeTracer(CCTK_ARGUMENTS)
g23r = 0.5d0 * (g23(i,j,k) + g23(i+xoffset,j+yoffset,k+zoffset))
g33r = 0.5d0 * (g33(i,j,k) + g33(i+xoffset,j+yoffset,k+zoffset))
- avg_detl = SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l)
- avg_detr = SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r)
+ avg_sdetl = sqrt(SPATIAL_DETERMINANT(g11l,g12l,g13l,g22l, g23l,g33l))
+ avg_sdetr = sqrt(SPATIAL_DETERMINANT(g11r,g12r,g13r,g22r, g23r,g33r))
cons_tracerplus(i,j,k,:) = tracerplus(i,j,k,:) * &
- sqrt(avg_detr) * rhoplus(i,j,k) / &
+ avg_sdetr * rhoplus(i,j,k) / &
sqrt(1.d0 - &
(g11r * velxplus(i,j,k)**2 + &
g22r * velyplus(i,j,k)**2 + &
@@ -916,7 +905,7 @@ subroutine Prim2ConservativeTracer(CCTK_ARGUMENTS)
g13r * velxplus(i,j,k) * velzplus(i,j,k) + &
g23r * velyplus(i,j,k) * velzplus(i,j,k) ) ) )
cons_tracerminus(i,j,k,:) = tracerminus(i,j,k,:) * &
- sqrt(avg_detl) * rhominus(i,j,k) / &
+ avg_sdetl * rhominus(i,j,k) / &
sqrt(1.d0 - &
(g11l * velxminus(i,j,k)**2 + &
g22l * velyminus(i,j,k)**2 + &