[Developers] MoL_PostStep

Jian Tao jtao at cct.lsu.edu
Mon Aug 22 00:50:15 CDT 2011


Hi Erik,

I think keeping MoL_PostStep while we remove MoL_PreStep will
also cause some confusions later since it is like missing the
left parenthesis. I would suggest that we keep the schedule group.

In the long run, we can organize the order like the following,
but we then need to loop around MoL_Evolution instead of MoL_Step
for the intermediate steps if we want to keep current names for
the groups.

MoL_SOMENAME IN CCTK_EVOL
{
   MoL_PreEvolution
   MoL_Evolution WHILE MoL::MoL_Intermediate_Step
   {
     MoL_PreStep
     MoL_Step
     MoL_PostStep
   }
   MoL_PostEvolution
}

Or, we can simply schedule,

MoL_PreEvolution IN CCTK_EVOL BEFORE MoL_Evolution
MoL_Evolution IN CCTK_EVOL
{
   MoL_Step WHILE MoL::MoL_Intermediate_Step
   {
     MoL_PreStep BEFORE EVERYTHING
     MoL_PostStep AFTER EVERYTHING
   }
}
MoL_PostEvolution IN CCTK_EVOL AFTER MoL_Evolution

Currently, MoL_PostStep is scheduled in MoL_Step to ensure that
everything scheduled in MoL_PostStep runs after every intermediate
step even though it should explicitly go after MoL_Step. However,
it does what it is supposed to do. We can schedule MoL_PreStep in
the same way.

Regards,
Jian

On 08/21/2011 08:31 PM, Erik Schnetter wrote:
> Jian
>
> I only realised recently that these two groups are scheduled
> differently -- one is before the whole timestep, the other after each
> substep. We're currently discussing adding a new group after the whole
> timestep (for hydro atmosphere handling).
>
> We can't change the way in which the PreStep group is scheduled unless
> we've examined most of the existing codes to determine what such a
> change would break. If you are only interested in a cleanup, then it
> may be best to introduce a new group with a better name
> (MoL_PreEvolution), deprecate the old group, and in half a year or one
> year remove the old group (MoL_PreStep) in such a way that codes still
> using them would fail to build, with a warning telling people what
> needs to be changed.
>
> (The name MoL_PreEvolution makes me think that MoL_PostEvolution would
> be a better name for the discussed hydro atmosphere handling than
> MoL_PostFullStep.)
>
> -erik
>
> On Sun, Aug 21, 2011 at 5:34 PM, Jian Tao<jtao at cct.lsu.edu>  wrote:
>> I am just curious if MoL_PreStep should be scheduled
>> "IN MoL_Step BEFORE MoL_CalcRHS" to make the name descriptive.
>>
>> Currently we have:
>>
>> PreStep:
>> schedule GROUP MoL_PreStep IN MoL_Evolution AFTER MoL_StartStep BEFORE
>> MoL_Step
>> {
>> } "Physics thorns can schedule preloop setup routines in here"
>>
>> PostStep:
>> schedule GROUP MoL_PostStep IN MoL_Step AFTER MoL_Add
>> {
>> } "The group for physics thorns to schedule boundary calls etc."
>>
>> MoL_Step:
>> schedule GROUP MoL_Step WHILE MoL::MoL_Intermediate_Step IN
>> MoL_Evolution AFTER MoL_PreStep
>> {
>> } "The loop over the intermediate steps for the ODE integrator"
>>
>> --
>> Regards,
>> Jian
>> _______________________________________________
>> Developers mailing list
>> Developers at cactuscode.org
>> http://www.cactuscode.org/mailman/listinfo/developers
>>
>
>
>



More information about the Developers mailing list