diff options
author | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2004-09-27 14:07:02 +0000 |
---|---|---|
committer | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2004-09-27 14:07:02 +0000 |
commit | 8b331c418fdcde10689734f5872a47511c59dc37 (patch) | |
tree | 608e76a508519adf6471df427772fef81a730cea /schedule.ccl | |
parent | fcbd43cb00c756ca586479d9a043f4c38248c2b6 (diff) |
Introduce parameters to control whether this thorn does everything
in CCTK_ANALYSIS (which has historically been the case, and remains
the default after this commit) or CCTK_POSTSTEP (which sometimes
comes in handy).
There should be no user-visible change in behavior from this commit.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1383 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'schedule.ccl')
-rw-r--r-- | schedule.ccl | 131 |
1 files changed, 91 insertions, 40 deletions
diff --git a/schedule.ccl b/schedule.ccl index bf0675e..2365116 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -1,70 +1,121 @@ # Schedule definitions for thorn AHFinderDirect # $Header$ -schedule AHFinderDirect_setup at CCTK_BASEGRID after SpatialCoordinates +# +# setup +# +schedule AHFinderDirect_setup at CCTK_BASEGRID \ +after SpatialCoordinates { lang: C options: global } "setup data structures" -if (find_every != 0) +# +# find horizons +# +if (run_at_CCTK_ANALYSIS != 0) { schedule AHFinderDirect_find_horizons at CCTK_ANALYSIS { lang: C options: global } "maybe find apparent horizon(s) after this time step" + } +if (run_at_CCTK_POSTSTEP != 0) + { + schedule AHFinderDirect_find_horizons at CCTK_POSTSTEP + { + lang: C + options: global + } "maybe find apparent horizon(s) after this time step" + } + +# +# announce horizon positions to other thorns +# +if (run_at_CCTK_ANALYSIS != 0) + { + schedule AHFinderDirect_announce at CCTK_ANALYSIS \ + before DriftCorrect \ + after AHFinderDirect_find_horizons + { + lang: C + } "maybe announce horizon position(s) to other thorns" + } +if (run_at_CCTK_POSTSTEP != 0) + { + schedule AHFinderDirect_announce at CCTK_POSTSTEP \ + before DriftCorrect \ + after AHFinderDirect_find_horizons + { + lang: C + } "maybe announce horizon position(s) to other thorns" + } - if (which_horizon_to_announce_centroid != 0) - { - schedule AHFinderDirect_announce at CCTK_ANALYSIS \ - before DriftCorrect \ - after AHFinderDirect_find_horizons - { - lang: C - } "maybe announce horizon position(s) to other thorns" - } - schedule AHFinderDirect_store_SS_info at CCTK_ANALYSIS \ - after AHFinderDirect_find_horizons +# +# store horizon info in SphericalSurface variables +# +if (run_at_CCTK_ANALYSIS != 0) + { + schedule AHFinderDirect_store_SS_info at CCTK_ANALYSIS \ + 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 \ + after AHFinderDirect_find_horizons { lang: C options: global } "maybe store horizon info in SphericalSurface variables" + } - # - # *** KLUDGE *** - # - # We would really like to give this routine the - # options:global - # attribute, so it only runs on those time levels where - # we've found (or at least tried to find) horizons. But - # this doesn't work, because we need a GH -- and the other - # thorns' routines we call need valid grid variables in - # it -- in the announcing code, and options:global - # routines don't have a "normal" GH, but instead a special - # one without usual grid variables defined in the usual - # manner. - # - # So, what to do? The present kludge is to have this - # routine called on every grid, then have it explicitly - # test if it's at a horizon-finding time and on a base - # grid. - # - schedule AHFinderDirect_maybe_do_masks at CCTK_ANALYSIS \ - after AHFinderDirect_find_horizons +# +# set excision mask +# +# *** KLUDGE *** +# +# We would really like to give this routine the +# options:global +# attribute, so it only runs on those time levels where we've found +# (or at least tried to find) horizons. But this doesn't work, because +# we need a GH -- and the other thorns' routines we call need valid +# grid variables in it -- in the announcing code, and options:global +# routines don't have a "normal" GH, but instead a special one without +# usual grid variables defined in the usual manner. +# +# So, what to do? The present kludge is to have this routine called +# on every grid, then have it explicitly test if it's at a horizon-finding +# time and on a base grid. +# +if (run_at_CCTK_ANALYSIS != 0) + { + schedule AHFinderDirect_maybe_do_masks at CCTK_ANALYSIS \ + after AHFinderDirect_find_horizons { lang: C } "maybe set mask(s) based on apparent horizon position(s)" - - # if using mesh refinement, reset the mask after regridding - # if not using mesh refinement, POSTREGRID is ignored so this is a no-op - schedule AHFinderDirect_maybe_do_masks at POSTREGRID \ - after (MaskOne MaskZero) + } +if (run_at_CCTK_POSTSTEP != 0) + { + schedule AHFinderDirect_maybe_do_masks at CCTK_POSTSTEP \ + after AHFinderDirect_find_horizons { lang: C } "maybe set mask(s) based on apparent horizon position(s)" - } +# if using mesh refinement, reset the mask after regridding +# if not using mesh refinement, POSTREGRID is ignored so this is a no-op +schedule AHFinderDirect_maybe_do_masks at POSTREGRID \ +after (MaskOne MaskZero) + { + lang: C + } "regrid ==> maybe reset mask(s) based on apparent horizon position(s)" ######################################## |