From 8933110ac8903c60c2551d29d92702bb07a66686 Mon Sep 17 00:00:00 2001 From: diener Date: Wed, 29 Sep 2004 21:08:41 +0000 Subject: 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 --- schedule.ccl | 7 +++++-- src/EHFinder_SetSym.F90 | 33 +++++++++++++++++++++++++++++++++ 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 -- cgit v1.2.3