aboutsummaryrefslogtreecommitdiff
path: root/src/Utils.F90
diff options
context:
space:
mode:
authorcott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2010-08-27 20:30:51 +0000
committercott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2010-08-27 20:30:51 +0000
commit39d5f5e568fecb8cf28f7a13418c472b14a85966 (patch)
tree702d5448cecb79d96d7fbc0ef758a493de569d98 /src/Utils.F90
parentb9d5cef4e0c1a57d0b83961350d68b556f72e2c1 (diff)
* 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
Diffstat (limited to 'src/Utils.F90')
-rw-r--r--src/Utils.F9036
1 files changed, 11 insertions, 25 deletions
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