From 39d5f5e568fecb8cf28f7a13418c472b14a85966 Mon Sep 17 00:00:00 2001 From: cott Date: Fri, 27 Aug 2010 20:30:51 +0000 Subject: * remove dependence on StaticConformal * change calculation of the determinant of the 3-metric from a subroutine call to a macro. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@152 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45 --- src/Utils.F90 | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) (limited to 'src/Utils.F90') diff --git a/src/Utils.F90 b/src/Utils.F90 index 440c945..0ef9af2 100644 --- a/src/Utils.F90 +++ b/src/Utils.F90 @@ -11,6 +11,7 @@ #include "cctk.h" #include "cctk_Parameters.h" #include "cctk_Arguments.h" +#include "GRHydro_Macros.h" /*@@ @routine GRHydro_RefinementLevel @@ -42,6 +43,7 @@ end subroutine GRHydro_RefinementLevel @author @desc Calculates the determinant of the spatial metric. + PLEASE USE THE MACRO SPATIAL_DETERMINANT from now on!!! @enddesc @calls @calledby @@ -59,7 +61,7 @@ subroutine SpatialDeterminant(gxx,gxy,gxz,gyy,gyz,gzz,det) det = -gxz**2*gyy + 2*gxy*gxz*gyz - gxx*gyz**2 - gxy**2*gzz + gxx*gyy*gzz - + !!$ Why is this weird order necessary? Search me. It just seemed !!$ to make a really odd NaN go away. @@ -142,30 +144,14 @@ subroutine SetMetricTemps(CCTK_ARGUMENTS) do j = 1, ny do i = 1, nx - if (conformal_state .eq. 0) then - call SpatialDeterminant(& - gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),& - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k),& - GRHydro_det(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)) - else - psi4pt = psi(i,j,k)**4 - call SpatialDeterminant(& - psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),& - psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k),& - GRHydro_det(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),& - psi4pt*gxx(i,j,k),psi4pt*gxy(i,j,k),psi4pt*gxz(i,j,k),& - psi4pt*gyy(i,j,k),psi4pt*gyz(i,j,k),psi4pt*gzz(i,j,k)) - end if + 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 -- cgit v1.2.3