aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2004-06-22 13:37:59 +0000
committerdiener <diener@2a26948c-0e4f-0410-aee8-f1d3e353619c>2004-06-22 13:37:59 +0000
commitfac105f1dbf91f885c6a159da201fe95b2a4447c (patch)
treec3d1832b2dbe96b7936bacfcd6f2a4530e281354
parenta5a2d7e90a521cf7f7f78aaf3b0ac90268990ea6 (diff)
Reorganized the scheduling of the re-intialization routines. Created new
schedule groups and organized the routines in a different way, so that I can call the schedule groups in the correct way with Carpet. Note that it only works with carpet, if the declaration of Restrict is moved from carpet.hh to functions.hh. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/EHFinder/trunk@181 2a26948c-0e4f-0410-aee8-f1d3e353619c
-rw-r--r--schedule.ccl99
1 files changed, 82 insertions, 17 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 77c3d91..9707f63 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -129,7 +129,7 @@ schedule EHFinder_LevelSetLoopInit in EHFinder_Level_Sets
LANG: Fortran
TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Initialise the loop counter over the level set functions"
+} "Initialize the loop counter over the level set functions"
schedule GROUP EHFinder_Surfaces in EHFinder_Level_Sets while ehfinder::more_levelsets
{
@@ -146,7 +146,7 @@ schedule EHFinder_CountSurfacesInit in EHFinder_Surfaces
LANG: Fortran
TRIGGERS: eh_area, eh_centroid_x, eh_centroid_y, eh_centroid_z
TRIGGERS: eh_circ_eq, eh_circ_pol
-} "Initialise while loop control"
+} "Initialize while loop control"
schedule GROUP EHFinder_CountMarkSurfaces in EHFinder_Surfaces after EHFinder_CountSurfacesInit WHILE ehfinder::more_surfaces
{
@@ -403,58 +403,123 @@ if (CCTK_Equals(mode,"normal"))
STORAGE: sftmp
STORAGE: fbak
STORAGE: eh_mask_bak
+# STORAGE: pugh_re_init_control, carpet_re_init_control
STORAGE: re_init_control
+ STORAGE: niter_reinit
} "Re-initialize the level set function"
- # Schedule the control routine, that initialises re_init_control if it
+ # Schedule the control routine, that initializes *_re_init_control if it
# is time for re-initialization.
- schedule EHFinder_ReInitializeControl in EHFinder_ReInitialize
+ schedule GROUP EHFinder_PreReInitialize
+ {
+ } "Routines for re-initialization control"
+
+ schedule EHFinder_ReInitializeControl in EHFinder_PreReInitialize
{
LANG: Fortran
+ OPTIONS: global
} "Initializes the re-initialization control"
+ schedule EHFinder_ReInitializeInitialize in EHFinder_PreReInitialize after EHFinder_ReInitializeControl
+ {
+ LANG: Fortran
+ } "Initializes variables for ReInitialization"
if (CCTK_Equals(re_init_int_method,"euler"))
{
-
- # Set up the schedule group for euler re-initialization using
- # re_init_control to control the exit from the while loop.
-
- schedule GROUP Euler_ReInitialize in EHFinder_ReInitialize AFTER EHFinder_ReInitializeControl WHILE ehfinder::re_init_control
+
+ schedule GROUP Euler_ReInitializeEvolve
{
- } "Schedule group for Euler re-initialization"
+ } "Schedule group for Euler re-initialization evolution"
# Schedule the routine that does one Euler step
- schedule EHFinder_ReInitializeEuler in Euler_ReInitialize
+ schedule EHFinder_ReInitializeEuler in Euler_ReInitializeEvolve
{
LANG: Fortran
STORAGE: dfx
STORAGE: dfy
STORAGE: dfz
STORAGE: dfsq
- SYNC: f
} "Euler scheme"
# Then synchronize the level set and apply symmetry boundary conditions.
-
- schedule EHFinder_ApplySymF in Euler_ReInitialize after EHFinder_ReInitializeEuler
+
+ schedule EHFinder_ApplySymF in Euler_ReInitializeEvolve after EHFinder_ReInitializeEuler
{
LANG: Fortran
SYNC: f
} "Select f for boundary conditions"
- schedule GROUP ApplyBCs as EHFinderF_ApplyBCs in Euler_ReInitialize after EHFinder_ApplySymF
+ schedule GROUP ApplyBCs as EHFinderF_ApplyBCs in Euler_ReInitializeEvolve after EHFinder_ApplySymF
{
} "Apply boundary conditions (symmetries)"
- schedule EHFinder_ReInitialize_Check in EHFinder_ReInitialize AFTER Euler_ReInitialize
+ schedule GROUP Euler_PostStep
+ {
+ } "Schedule group for Euler re-initialization post step"
+
+ schedule EHFinder_ReInitializePostStep in Euler_PostStep
{
LANG: Fortran
- } "Check to see if re-initialization has to be undone"
+ OPTIONS: global
+ } "Check if the re-initialization is done"
+
+ if (CCTK_IsThornActive("PUGH" ))
+ {
+ schedule GROUP EHFinder_PreReInitialize as EHFinder_PreReInitializePugh in EHFinder_ReInitialize
+ {
+ } "Pugh version of the pre-re-initialization routines"
+
+ # Set up the schedule group for euler re-initialization using
+ # *_re_init_control to control the exit from the while loop.
+
+# schedule GROUP Euler_ReInitialize in EHFinder_ReInitialize AFTER EHFinder_PreReInitializePUGH WHILE ehfinder::pugh_re_init_control
+ schedule GROUP Euler_ReInitialize in EHFinder_ReInitialize AFTER EHFinder_PreReInitializePUGH WHILE ehfinder::re_init_control
+ {
+ } "Schedule group for Euler re-initialization"
+
+ schedule GROUP Euler_ReInitializeEvolve as Euler_ReInitializeEvolvePUGH in Euler_ReInitialize
+ {
+ } "Schedule group for Euler re-initialization evolution with PUGH"
+
+ schedule GROUP Euler_PostStep as Euler_PostStepPUGH in Euler_ReInitialize after Euler_ReInitializeEvolve
+ {
+ } "Schedule group for Euler re-initialization post step"
+ }
+
+ if (CCTK_IsThornActive("Carpet"))
+ {
+ schedule EHFinder_PreReInitialize_Carpet in EHFinder_ReInitialize
+ {
+ LANG: C
+ OPTIONS: level
+ } "Carper version of the pre-reinitialization routines"
+
+# schedule EHFinder_ReInitialize_Wrapper in EHFinder_ReInitialize after EHFinder_PreReInitialize_Carpet WHILE ehfinder::carpet_re_init_control
+ schedule EHFinder_ReInitialize_Wrapper in EHFinder_ReInitialize after EHFinder_PreReInitialize_Carpet WHILE ehfinder::re_init_control
+ {
+ LANG: C
+# OPTIONS: global
+ OPTIONS: level
+ } "Wrapper routine for Euler re-initialization for Carpet"
+ }
+
+# schedule EHFinder_ReInitialize_Check in EHFinder_ReInitialize AFTER Euler_ReInitialize
+# {
+# LANG: Fortran
+# } "Check to see if re-initialization has to be undone"
}
+# schedule GROUP Euler_RotateTimeLevels
+# {
+# } "Schedule group for rotating timelevels"
+#
+# schedule EHFinder_RotateTimeLevels in Euler_RotateTimeLevels
+# {
+# LANG: Fortran
+# } "Rotate timelevels in Euler re-initialization"
if (CCTK_Equals(re_init_int_method,"rk2"))
{