[ET Trac] [Einstein Toolkit] #971: global-early, loop-local routines in PostRegrid cause access to elements outside of a vector capacity

Einstein Toolkit trac-noreply at einsteintoolkit.org
Wed Jul 4 20:20:36 CDT 2012


#971: global-early, loop-local routines in PostRegrid cause access to elements
outside of a vector capacity
---------------------+------------------------------------------------------
  Reporter:  rhaas   |       Owner:  eschnett
      Type:  defect  |      Status:  new     
  Priority:  major   |   Milestone:          
 Component:  Carpet  |     Version:          
Resolution:          |    Keywords:          
---------------------+------------------------------------------------------

Comment (by rhaas):

 Ok. That is about what I had feared (namely that one cannot to all
 recompose steps first and only then do a postregrid). For
 PostRegridInitial (the one in Meta mode, not the one during initial data)
 this works since there is no data that needs to be preserved since
 regridding happens before CCTK_INITIAL, yes?

 For the present problem the routines that need to be changed are:

 * SphericalSurface::SphericalSurface_Set from global to global-early (runs
 in PostStep and Initial)
 * SetMask_SphericalSurface::SetMask_SphericalSurface from global, loop-
 local to just local
 * HydrBase::HydroBase_InitExcisionMask from global-early,loop-local to
 just local

 The reasoning is that SphericalSurface::SphericalSurface_Set has to run
 before local routines that schedule themselves after
 SphericalSurface_HasBeenSet and that global is during CCTK_POSTSTEP (and
 global-early during EVOL and INITIAL). Anything else that sets spherical
 surface should then also be converted from global to global-early if it
 runs in CCTK_POSTSTEP. Anything that runs in HydroBase_InitExcisionMask
 must be local or global-late if it accesses the grid patches. This will
 change the order in which routines are called.

 I'll try to come up with a way to alert the user at runtime if they try to
 schedule a global-early, loop-local routine in PostRegrid. Global-early in
 itself is still ok in PostRegrid, as long as the routine only accesses say
 grid arrays and grid scalars, yes?

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/971#comment:3>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list