aboutsummaryrefslogtreecommitdiff
path: root/src/Utils.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/Utils.F90')
-rw-r--r--src/Utils.F9088
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