aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2004-09-29 21:08:41 +0000
committerdiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2004-09-29 21:08:41 +0000
commit8933110ac8903c60c2551d29d92702bb07a66686 (patch)
tree4bbcc55baed34b4d639c146eacf90b7d3e5053b0
parent01d84740ff60c0b5908350f7c8f960b7962dbeb2 (diff)
Fixed a bug that made the re-initialization only work in full mode.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/EHFinder/trunk@186 2a26948c-0e4f-0410-aee8-f1d3e353619c
-rw-r--r--schedule.ccl7
-rw-r--r--src/EHFinder_SetSym.F9033
2 files changed, 38 insertions, 2 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 1550011..5626817 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -10,6 +10,7 @@ else
STORAGE: f[2]
STORAGE: sf
STORAGE: ftmp
+ STORAGE: sftmp
STORAGE: eh_mask
STORAGE: surface_arrays
STORAGE: eh_area2, eh_centroid2_x, eh_centroid2_y, eh_centroid2_z
@@ -340,6 +341,7 @@ schedule EHFinder_MoLRegister in MoL_Register
schedule EHFinder_SetSym at CCTK_BASEGRID
{
LANG: Fortran
+ STORAGE: sftmp
} "Register the symmetries for the level set function"
@@ -407,6 +409,7 @@ if (CCTK_Equals(mode,"normal"))
{
LANG: Fortran
SYNC: f
+ SYNC: sftmp
} "Select f for boundary conditions"
schedule GROUP ApplyBCs as EHFinderF_ApplyBCs in EHFinder_PostStep after EHFinder_ApplySymF
@@ -418,7 +421,6 @@ if (CCTK_Equals(mode,"normal"))
schedule GROUP EHFinder_ReInitialize at CCTK_POSTSTEP
{
- STORAGE: sftmp
STORAGE: fbak
STORAGE: eh_mask_bak
# STORAGE: pugh_re_init_control, carpet_re_init_control
@@ -464,10 +466,11 @@ if (CCTK_Equals(mode,"normal"))
# Then synchronize the level set and apply symmetry boundary conditions.
- schedule EHFinder_ApplySymF in Euler_ReInitializeEvolve after EHFinder_ReInitializeEuler
+ schedule EHFinder_ApplySymFSFTMP in Euler_ReInitializeEvolve after EHFinder_ReInitializeEuler
{
LANG: Fortran
SYNC: f
+ SYNC: sftmp
} "Select f for boundary conditions"
schedule GROUP ApplyBCs as EHFinderF_ApplyBCs in Euler_ReInitializeEvolve after EHFinder_ApplySymF
diff --git a/src/EHFinder_SetSym.F90 b/src/EHFinder_SetSym.F90
index 45fe9f5..79dda89 100644
--- a/src/EHFinder_SetSym.F90
+++ b/src/EHFinder_SetSym.F90
@@ -26,6 +26,12 @@ subroutine EHFinder_SetSym(CCTK_ARGUMENTS)
call CCTK_WARN(1,'Failed to register symmetry for the level set function')
end if
+! Set up symmetries for the temporary source function.
+ call SetCartSymGN ( ierr, cctkGH, sym, 'ehfinder::sftmp' )
+ if ( ierr .gt. 0 ) then
+ call CCTK_WARN(1,'Failed to register symmetry for the temp source function')
+ end if
+
! Set up symmetries for the mask function.
call SetCartSymGN( ierr, cctkGH, sym, 'ehfinder::eh_mask' )
if ( ierr .gt. 0 ) then
@@ -93,6 +99,33 @@ subroutine EHFinder_ApplySymF(CCTK_ARGUMENTS)
end subroutine EHFinder_ApplySymF
+subroutine EHFinder_ApplySymFSFTMP(CCTK_ARGUMENTS)
+
+ use EHFinder_mod
+
+ implicit none
+
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ DECLARE_CCTK_FUNCTIONS
+
+ character(len=80) :: warn_message
+
+ ierr = Boundary_SelectGroupForBC ( cctkGH, CCTK_ALL_FACES, 1, -1, &
+ 'ehfinder::f', 'None' )
+ if ( ierr /= 0 ) then
+ call CCTK_WARN ( 0, 'Could not select f for boundary condition' )
+ end if
+
+ ierr = Boundary_SelectGroupForBC ( cctkGH, CCTK_ALL_FACES, 1, -1, &
+ 'ehfinder::sftmp', 'None' )
+ if ( ierr /= 0 ) then
+ call CCTK_WARN ( 0, 'Could not select sftmp for boundary condition' )
+ end if
+
+ return
+end subroutine EHFinder_ApplySymFSFTMP
+
subroutine EHFinder_ApplySymMask(CCTK_ARGUMENTS)
use EHFinder_mod