Hello Erik, all,
After a bit of clean-up, this is the final patch I intend to commit. In addition to what was discussed earlier, this also introduces a new MoL schedule group MoL_PostStepModify:
Phyics thorns can apply enforce constraints in PostStepModify. The difference between PostStep and PostStepModify is that PostStep is scheduled at many other occasions, whereas the PostStepModify is only scheduled during evolution.
So PostStepModify should contain eg. evolution boundary conditions and dissipation (eg.) while PostStep would contain symmetry boundary conditions, con2prim etc? Would that also mean that routines scheduled in PostStep are supposed to be idempotent (ie. applying them twice does not change the values on the grid)? Note that the later excludes the current implementation of Con2Prim (I think) since they will do at least grhydro_count_min Newton iterations (and therefore always change values).
Otherwise I like the idea of separating enforcement of constraints from evolution-type calculations.
I have a comment for this part of the patch:
--8<-- Index: arrangements/EinsteinEvolve/GRHydro/schedule.ccl =================================================================== --- arrangements/EinsteinEvolve/GRHydro/schedule.ccl (revision 251) +++ arrangements/EinsteinEvolve/GRHydro/schedule.ccl (working copy) @@ -983,9 +983,9 @@ } "Reset the atmosphere" }
-schedule group HydroBase_Boundaries IN MoL_Evolution AFTER MoL_Step -{ -} "HydroBase Boundary conditions group" +#schedule group HydroBase_Boundaries IN MoL_Evolution AFTER MoL_Step +#{ +#} "HydroBase Boundary conditions group" --8<--
the reason why this extra Boundary group was scheduled was that ResetAtmoshphere runs in MoL_Evolution AFTER MoL_Step. ResetAtmoshpere uses values in space_mask to reset some points, however space_mask was only set for the interior points (since it depends in part on the RHS) so in order to have consistent data one has to SYNC and apply boundary conditions (though con2prim is not required I think). Is this still true?
Yours, Roland