From f385000725ac66d35b1d224e3296ad641c35e7c0 Mon Sep 17 00:00:00 2001 From: rhaas Date: Sun, 17 Jun 2012 15:55:48 +0000 Subject: schedule hydrobase_InitExcisionmask global-early loop-local Christian Ott found that right now the scheduling of EinsteinUtil/SetMask_SphericalSurface::SetMask_SphericalSurface and HydroBase::HydroBase_InitExcisionMask conflict in the Post_Recover_Variables and INITIAL since SetMask_SphericalSurface which needs to run after HydroBase_InitExcisionMask is scheduled GLOBAL which happens to be global-late in these bins. SetMask_SphericalSurface must be local since it must run after SphericalSurfaceHasBeenSet which is after SphericalSurface_Set which is GLOBAL. The attached patch runs HydroBase_InitExcisionMask global-early loop-local instead. Pleas note that the patch will change the behaviour in PostRegrid slightly since HydroBase_InitExcisionMask (and not just SetMask_SphericalSurface which already does so) will run on all refinement levels, always, independent of the iteration counter and Carpet's do_every logic. The current code prevents properly recovering from checkpoints. Found and fixed by Christian Ott. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinBase/HydroBase/trunk@55 57fe0bb3-ccba-405f-9b23-de0201f165b7 --- schedule.ccl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/schedule.ccl b/schedule.ccl index 2e8207e..62a84fd 100755 --- a/schedule.ccl +++ b/schedule.ccl @@ -184,6 +184,11 @@ if (hydro_excision) schedule HydroBase_InitExcisionMask in HydroBase_ExcisionMaskSetup { LANG: C + # GLOBAL is global-early in INITIAL and Post_Recover_Variables + # GLOBAL is global-late in PostRegrid and PostRegridInitial + # since we would always like to run before any possibly local routine + # modifying the mask, we run global-early + OPTIONS: global-early loop-local } "Initialize hydro excision mask to 'no excision everywhere'" schedule GROUP HydroBase_ExcisionHasBeenSet at CCTK_PostStep -- cgit v1.2.3