diff options
Diffstat (limited to 'src/Utils.F90')
-rw-r--r-- | src/Utils.F90 | 88 |
1 files changed, 27 insertions, 61 deletions
diff --git a/src/Utils.F90 b/src/Utils.F90 index d8b29e4..9f670e2 100644 --- a/src/Utils.F90 +++ b/src/Utils.F90 @@ -71,21 +71,34 @@ subroutine GRHydro_RefinementLevel(CCTK_ARGUMENTS) end subroutine GRHydro_RefinementLevel +subroutine GRHydro_SqrtSpatialDeterminant(CCTK_ARGUMENTS) + + implicit none + DECLARE_CCTK_ARGUMENTS + integer i,j,k + integer nx, ny, nz + + nx = cctk_lsh(1) + ny = cctk_lsh(2) + nz = cctk_lsh(3) + + !$OMP PARALLEL DO + do k=1,nz + do j=1,ny + do i=1,nx + sdetg(i,j,k) = -(gxz(i,j,k)**2)*gyy(i,j,k) + & + 2.0d0*gxy(i,j,k)*gxz(i,j,k)*gyz(i,j,k) - & + gxx(i,j,k)*(gyz(i,j,k)**2) - & + (gxy(i,j,k)**2)*gzz(i,j,k) + & + (gxx(i,j,k)*gyy(i,j,k))*gzz(i,j,k) + sdetg(i,j,k) = sqrt(sdetg(i,j,k)) + enddo + enddo + enddo + !$OMP END PARALLEL DO + +end subroutine GRHydro_SqrtSpatialDeterminant - /*@@ - @routine SpatialDeterminant - @date Sat Jan 26 02:30:23 2002 - @author - @desc - Calculates the determinant of the spatial metric. - PLEASE USE THE MACRO SPATIAL_DETERMINANT from now on!!! - @enddesc - @calls - @calledby - @history - - @endhistory -@@*/ subroutine SpatialDeterminant(gxx,gxy,gxz,gyy,gyz,gzz,det) @@ -145,51 +158,4 @@ subroutine UpperMetric(uxx, uxy, uxz, uyy, uyz, uzz, & end subroutine UpperMetric - /*@@ - @routine SetMetricTemps - @date Wed Mar 23 10:01:08 2005 - @author Ian Hawke - @desc - If using the new EOS store the metric determinant and inverse metric - to avoid repeated computation - @enddesc - @calls - @calledby - @history - - @endhistory - -@@*/ - -subroutine SetMetricTemps(CCTK_ARGUMENTS) - - implicit none - - DECLARE_CCTK_ARGUMENTS - DECLARE_CCTK_PARAMETERS - - CCTK_INT :: i, j, k, nx, ny, nz - - nx = cctk_lsh(1) - ny = cctk_lsh(2) - nz = cctk_lsh(3) - - do k = 1, nz - do j = 1, ny - do i = 1, nx - - GRHydro_det(i,j,k) = SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),\ - gxz(i,j,k), gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) - call UpperMetric(& - GRHydro_uxx(i,j,k),GRHydro_uxy(i,j,k),GRHydro_uxz(i,j,k),& - GRHydro_uyy(i,j,k),GRHydro_uyz(i,j,k),GRHydro_uzz(i,j,k),& - GRHydro_det(i,j,k),& - gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),& - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) - - end do - end do - end do - -end subroutine SetMetricTemps |