aboutsummaryrefslogtreecommitdiff
path: root/src/EHFinder_Generator_Sources2.F90
diff options
context:
space:
mode:
authordiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2003-07-02 09:48:57 +0000
committerdiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2003-07-02 09:48:57 +0000
commit116ecf1f8ad5bbd3ad74f9367bf7907d8c43d0ce (patch)
tree5e481aec43baa71f94a59f9cb3bb88d7ed1e62e6 /src/EHFinder_Generator_Sources2.F90
parentffb807f5d7b17fe526de381d63098349199f2900 (diff)
Added a parameter to schoose inward going surfaces instead of outward
going surfaces. If tracking inward going surfaces it is not an event horizon finder anymore, but this feature might be useful for other things. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/EHFinder/trunk@121 2a26948c-0e4f-0410-aee8-f1d3e353619c
Diffstat (limited to 'src/EHFinder_Generator_Sources2.F90')
-rw-r--r--src/EHFinder_Generator_Sources2.F9017
1 files changed, 10 insertions, 7 deletions
diff --git a/src/EHFinder_Generator_Sources2.F90 b/src/EHFinder_Generator_Sources2.F90
index aab47e1..b50f9f1 100644
--- a/src/EHFinder_Generator_Sources2.F90
+++ b/src/EHFinder_Generator_Sources2.F90
@@ -29,9 +29,12 @@ subroutine EHFinder_Generator_Sources2(CCTK_ARGUMENTS)
CCTK_INT, dimension(3), parameter :: op_indices = (/ 0, 1, 2 /), &
op_codes = (/ 0, 0, 0 /)
CCTK_INT, dimension(3) :: out_types
- CCTK_REAL :: alp2, psi4, dfux, dfuy, dfuz, factor
+ CCTK_REAL :: alp2, psi4, dfux, dfuy, dfuz, factor, ssign
CCTK_REAL :: idetg, guxx, guxy, guxz, guyy, guyz, guzz
+ if ( CCTK_EQUALS ( surface_direction, 'outward' ) ) ssign = one
+ if ( CCTK_EQUALS ( surface_direction, 'inward' ) ) ssign = -one
+
out_types = CCTK_VARIABLE_REAL
! Convert the generator_interpolator string parameter to a Fortran string.
@@ -140,9 +143,9 @@ subroutine EHFinder_Generator_Sources2(CCTK_ARGUMENTS)
dfuz * dfz(i,j,k) ) )
! Finally obtain dx^i/dt.
- xgf(i,j,k) = - betax(i,j,k) + factor * dfux
- ygf(i,j,k) = - betay(i,j,k) + factor * dfuy
- zgf(i,j,k) = - betaz(i,j,k) + factor * dfuz
+ xgf(i,j,k) = - betax(i,j,k) + ssign * factor * dfux
+ ygf(i,j,k) = - betay(i,j,k) + ssign * factor * dfuy
+ zgf(i,j,k) = - betaz(i,j,k) + ssign * factor * dfuz
else
xgf(i,j,k) = zero
ygf(i,j,k) = zero
@@ -185,9 +188,9 @@ subroutine EHFinder_Generator_Sources2(CCTK_ARGUMENTS)
factor = alp2 / sqrt ( alp2 * ( dfux * dfxg(i) + &
dfuy * dfyg(i) + &
dfuz * dfzg(i) ) )
- dxg(i) = - betaxg(i) + factor * dfux
- dyg(i) = - betayg(i) + factor * dfuy
- dzg(i) = - betazg(i) + factor * dfuz
+ dxg(i) = - betaxg(i) + ssign * factor * dfux
+ dyg(i) = - betayg(i) + ssign * factor * dfuy
+ dzg(i) = - betazg(i) + ssign * factor * dfuz
end do
end if