aboutsummaryrefslogtreecommitdiff
path: root/schedule.ccl
diff options
context:
space:
mode:
authorsvnadmin <svnadmin@f88db872-0e4f-0410-b76b-b9085cfa78c5>2008-06-26 13:51:26 +0000
committersvnadmin <svnadmin@f88db872-0e4f-0410-b76b-b9085cfa78c5>2008-06-26 13:51:26 +0000
commit9716af1598ddfd2ab8ee7198b35cca1df312c4fd (patch)
tree5f903e795434362f0360ee2e3e65a27e6c6601c3 /schedule.ccl
parent8cb0df53b3d5d615624b9bffdcc11cf13905cfc0 (diff)
Make "Erik" branch the default trunk for AHFinderDirect.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1526 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'schedule.ccl')
-rw-r--r--schedule.ccl274
1 files changed, 177 insertions, 97 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 3617d3b..7e46213 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,6 +1,9 @@
# Schedule definitions for thorn AHFinderDirect
# $Header$
+storage: ah_radius ah_origin ah_centroid ah_flags
+storage: ahmask[3]
+
#
# setup
#
@@ -12,171 +15,248 @@ schedule AHFinderDirect_setup at CCTK_BASEGRID \
} "setup data structures"
#
+# checkpoint/recover support
+#
+schedule AHFinderDirect_recover at CCTK_POST_RECOVER_VARIABLES
+ {
+ lang: C
+ options: global
+ } "import horizon data from Cactus variables"
+
+#
# find horizons
#
if (run_at_CCTK_ANALYSIS != 0)
{
- schedule AHFinderDirect_update at CCTK_ANALYSIS \
- before AHFinderDirect_find_horizons
- {
- lang: C
- options: global
- } "update internal data structures from steerable parameters"
schedule AHFinderDirect_find_horizons at CCTK_ANALYSIS
{
lang: C
options: global
- } "maybe find apparent horizon(s) after this time step"
+ } "find apparent horizon(s) after this time step"
}
if (run_at_CCTK_POSTSTEP != 0)
{
- schedule AHFinderDirect_update at CCTK_POSTSTEP \
- before AHFinderDirect_find_horizons
- {
- lang: C
- options: global
- } "update internal data structures from steerable parameters"
schedule AHFinderDirect_find_horizons at CCTK_POSTSTEP
{
lang: C
options: global
- } "maybe find apparent horizon(s) after this time step"
+ } "find apparent horizon(s) after this time step"
}
if (run_at_CCTK_POSTINITIAL != 0)
{
- schedule AHFinderDirect_update at CCTK_POSTINITIAL \
- before AHFinderDirect_find_horizons
+ schedule AHFinderDirect_find_horizons at CCTK_POSTINITIAL
{
lang: C
options: global
- } "update internal data structures from steerable parameters"
- schedule AHFinderDirect_find_horizons at CCTK_POSTINITIAL
+ } "find apparent horizon(s) after this time step"
+ }
+if (run_at_CCTK_POST_RECOVER_VARIABLES != 0)
+ {
+ schedule AHFinderDirect_find_horizons at CCTK_POST_RECOVER_VARIABLES
{
lang: C
options: global
- } "maybe find apparent horizon(s) after this time step"
+ } "find apparent horizon(s) after this time step"
}
#
-# announce horizon positions to other thorns
+# find horizons, set excision mask, maybe announce centroid to other thorns
+#
+# FIXME: the name AHFinderDirect_maybe_do_masks is archaic,
+# AHFinderDirect_do_masks would be more apt
+#
+# We use two Cactus Groups here:
+# group_for_mask_stuff
+# group_where_mask_is_set
+# AHFinderDirect_maybe_do_masks
+# this way other thorns can schedule routines which need to run immediately
+# before/after we set the mask in group_for_mask_stuff before/after
+# group_where_mask_is_set, without having to know in what higher-level
+# Cactus schedule bins/groups this thorn runs.
#
if (run_at_CCTK_ANALYSIS != 0)
{
- schedule AHFinderDirect_announce at CCTK_ANALYSIS \
- before DriftCorrect \
+ schedule AHFinderDirect_import_mask at CCTK_ANALYSIS \
+ before AHFinderDirect_find_horizons
+ {
+ lang: C
+ options: global loop-local
+ } "import the excision mask"
+
+ schedule AHFinderDirect_store at CCTK_ANALYSIS \
+ after AHFinderDirect_find_horizons \
+ before SphericalSurface_HasBeenSet
+ {
+ lang: C
+ options: global
+ } "store apparent horizon(s) into spherical surface(s)"
+
+ schedule AHFinderDirect_save at CCTK_ANALYSIS \
+ after AHFinderDirect_find_horizons \
+ {
+ lang: C
+ options: global
+ } "save apparent horizon(s) into Cactus variables"
+
+ if (which_horizon_to_announce_centroid != 0)
+ {
+ schedule AHFinderDirect_announce at CCTK_ANALYSIS \
+ before DriftCorrect \
+ after AHFinderDirect_find_horizons
+ {
+ lang: C
+ options: global
+ } "announce horizon position(s) to other thorns"
+ }
+
+ schedule AHFinderDirect_maybe_do_masks at CCTK_ANALYSIS \
after AHFinderDirect_find_horizons
{
lang: C
- } "maybe announce horizon position(s) to other thorns"
+ options: global loop-local
+ } "set mask(s) based on apparent horizon position(s)"
}
if (run_at_CCTK_POSTSTEP != 0)
{
- schedule AHFinderDirect_announce at CCTK_POSTSTEP \
- before DriftCorrect \
- after AHFinderDirect_find_horizons
+ schedule AHFinderDirect_import_mask at CCTK_POSTSTEP \
+ before AHFinderDirect_find_horizons
{
lang: C
- } "maybe announce horizon position(s) to other thorns"
- }
-if (run_at_CCTK_POSTINITIAL != 0)
- {
- schedule AHFinderDirect_announce at CCTK_POSTINITIAL \
- before DriftCorrect \
- after AHFinderDirect_find_horizons
+ options: global loop-local
+ } "import the excision mask"
+
+ schedule AHFinderDirect_store at CCTK_POSTSTEP \
+ after AHFinderDirect_find_horizons \
+ before SphericalSurface_HasBeenSet
{
lang: C
- } "maybe announce horizon position(s) to other thorns"
- }
+ options: global
+ } "store apparent horizon(s) into spherical surface(s)"
-#
-# store horizon info in SphericalSurface variables
-#
-if (run_at_CCTK_ANALYSIS != 0)
- {
- schedule AHFinderDirect_store_SS_info at CCTK_ANALYSIS \
- after AHFinderDirect_find_horizons
+ schedule AHFinderDirect_save at CCTK_POSTSTEP \
+ after AHFinderDirect_find_horizons \
{
lang: C
options: global
- } "maybe store horizon info in SphericalSurface variables"
- }
-if (run_at_CCTK_POSTSTEP != 0)
- {
- schedule AHFinderDirect_store_SS_info at CCTK_POSTSTEP \
+ } "save apparent horizon(s) into Cactus variables"
+
+ if (which_horizon_to_announce_centroid != 0)
+ {
+ schedule AHFinderDirect_announce at CCTK_POSTSTEP \
+ before DriftCorrect \
+ after AHFinderDirect_find_horizons
+ {
+ lang: C
+ options: global
+ } "announce horizon position(s) to other thorns"
+ }
+
+ schedule AHFinderDirect_maybe_do_masks at CCTK_POSTSTEP \
after AHFinderDirect_find_horizons
{
lang: C
- options: global
- } "maybe store horizon info in SphericalSurface variables"
+ options: global loop-local
+ } "set mask(s) based on apparent horizon position(s)"
}
if (run_at_CCTK_POSTINITIAL != 0)
{
- schedule AHFinderDirect_store_SS_info at CCTK_POSTINITIAL \
- after AHFinderDirect_find_horizons
+ schedule AHFinderDirect_import_mask at CCTK_POSTINITIAL \
+ before AHFinderDirect_find_horizons
+ {
+ lang: C
+ options: global loop-local
+ } "import the excision mask"
+
+ schedule AHFinderDirect_store at CCTK_POSTINITIAL \
+ after AHFinderDirect_find_horizons \
+ before SphericalSurface_HasBeenSet
{
lang: C
options: global
- } "maybe store horizon info in SphericalSurface variables"
- }
+ } "store apparent horizon(s) into spherical surface(s)"
-#
-# set excision mask
-# FIXME: the name AHFinderDirect_maybe_do_masks is archaic,
-# AHFinderDirect_do_masks would be more apt
-#
-# We use two Cactus Groups here:
-# group_for_mask_stuff
-# group_where_mask_is_set
-# AHFinderDirect_maybe_do_masks
-# this way other thorns can schedule routines which need to run immediately
-# before/after we set the mask in group_for_mask_stuff before/after
-# group_where_mask_is_set, without having to know in what higher-level
-# Cactus schedule bins/groups this thorn runs.
-#
-if (run_at_CCTK_ANALYSIS != 0)
- {
- schedule group group_for_mask_stuff \
- at CCTK_ANALYSIS \
- after AHFinderDirect_find_horizons
+ schedule AHFinderDirect_save at CCTK_POSTINITIAL \
+ after AHFinderDirect_find_horizons \
+ {
+ lang: C
+ options: global
+ } "save apparent horizon(s) into Cactus variables"
+
+ if (which_horizon_to_announce_centroid != 0)
{
- } "schedule group for working with the excision mask(s)"
- }
-if (run_at_CCTK_POSTSTEP != 0)
- {
- schedule group group_for_mask_stuff \
- at CCTK_POSTSTEP \
+ schedule AHFinderDirect_announce at CCTK_POSTINITIAL \
+ before DriftCorrect \
+ after AHFinderDirect_find_horizons
+ {
+ lang: C
+ options: global
+ } "announce horizon position(s) to other thorns"
+ }
+
+ schedule AHFinderDirect_maybe_do_masks at CCTK_POSTINITIAL \
after AHFinderDirect_find_horizons
{
- } "schedule group for working with the excision mask(s)"
+ lang: C
+ options: global loop-local
+ } "set mask(s) based on apparent horizon position(s)"
}
-if (run_at_CCTK_POSTINITIAL != 0)
+if (run_at_CCTK_POST_RECOVER_VARIABLES != 0)
{
- schedule group group_for_mask_stuff \
- at CCTK_POSTINITIAL \
+ schedule AHFinderDirect_import_mask at CCTK_POST_RECOVER_VARIABLES \
+ before AHFinderDirect_find_horizons
+ {
+ lang: C
+ options: global loop-local
+ } "import the excision mask"
+
+ schedule AHFinderDirect_store at CCTK_POST_RECOVER_VARIABLES \
+ after AHFinderDirect_find_horizons \
+ before SphericalSurface_HasBeenSet
+ {
+ lang: C
+ options: global
+ } "store apparent horizon(s) into spherical surface(s)"
+
+ schedule AHFinderDirect_save at CCTK_POST_RECOVER_VARIABLES \
+ after AHFinderDirect_find_horizons \
+ {
+ lang: C
+ options: global
+ } "save apparent horizon(s) into Cactus variables"
+
+ if (which_horizon_to_announce_centroid != 0)
+ {
+ schedule AHFinderDirect_announce at CCTK_POST_RECOVER_VARIABLES \
+ before DriftCorrect \
+ after AHFinderDirect_find_horizons
+ {
+ lang: C
+ options: global
+ } "announce horizon position(s) to other thorns"
+ }
+
+ schedule AHFinderDirect_maybe_do_masks at CCTK_POST_RECOVER_VARIABLES \
after AHFinderDirect_find_horizons
{
- } "schedule group for working with the excision mask(s)"
+ lang: C
+ options: global loop-local
+ } "set mask(s) based on apparent horizon position(s)"
}
-# if using mesh refinement, reset the mask after regridding
-# if not using mesh refinement, CCTK_POSTREGRID is ignored so this is a no-op
-schedule group group_for_mask_stuff \
- at CCTK_POSTREGRID \
+
+# TODO: Don't call this, since no horizon has been found yet
+schedule AHFinderDirect_maybe_do_masks at CCTK_POSTREGRIDINITIAL \
after (MaskOne MaskZero)
{
- } "schedule group for working with the excision mask(s)"
-
-schedule group \
- group_where_mask_is_set \
- in group_for_mask_stuff
- {
- } "schedule group where we set the excision mask(s)"
+ lang: C
+ options: global loop-local
+ } "set mask(s) based on apparent horizon position(s)"
-schedule AHFinderDirect_maybe_do_masks \
- in group_where_mask_is_set
+schedule AHFinderDirect_maybe_do_masks at CCTK_POSTREGRID \
+ after (MaskOne MaskZero)
{
lang: C
options: global loop-local
- } "maybe set mask(s) based on apparent horizon position(s)"
+ } "set mask(s) based on apparent horizon position(s)"
########################################