[ET Trac] #2625: CarpetMask should not be scheduled before SphericalSurface_Set

Gabriele Bozzola trac-noreply at einsteintoolkit.org
Mon Aug 1 13:28:28 CDT 2022


#2625: CarpetMask should not be scheduled before SphericalSurface_Set

 Reporter: Gabriele Bozzola
   Status: new
Milestone: 
  Version: 
     Type: bug
 Priority: major
Component: EinsteinToolkit thorn

Changes (by Gabriele Bozzola):
`CarpetMask` wants `sf_info` from `SphericalSurface`, which is initially not available. Looking at the scheduler, I can see why this is happening \(relevant section\):

```
GROUP MaskBase_SetupMask: Set up the weight function
          GROUP MaskBase_SetupMaskAll: Set up the weight function
            CarpetReduce::MaskBase_AllocateMask: [global] Allocate the weight function
            CarpetReduce::MaskBase_InitMask: [global] [loop-local] Initialise the weight function
            GROUP SetupIMaskInternal: Set up the integer weight function (schedule other routines in here)
              CarpetReduce::CoordBase_SetupMask: [global] [loop-local] Set up the outer boundaries of the weight function
              CarpetReduce::CarpetMaskSetup: [global] [loop-singlemap] Set up the weight function for the restriction regions
            GROUP SetupIMask: Set up the integer weight function (schedule other routines in here)
              CarpetMask::CarpetExcludedSetup: [global] [loop-local] Set up the weight function for the excluded regions
              CarpetMask::CarpetSurfaceSetup: [global] [loop-local] Set up the weight function for the excluded spherical surfaces
            CarpetReduce::MaskBase_SetMask: [global] [loop-local] Set the weight function
            GROUP SetupMask: Set up the real weight function (schedule other routines in here)
            CarpetReduce::MaskBase_TestMask: [global] Test the weight function
        SphericalSurface::SphericalSurface_Set: [global] Set surface radii to be used for initial setup in other thorns
        GROUP SphericalSurface_HasBeenSet: Set the spherical surfaces before this group, and use it afterwards
          SphericalSurface::SphericalSurface_CheckState: [global] Test the state of the spherical surfaces
```

`CarpetMask` is scheduled before `SphericalSurface_Set`, which is what sets `sf_info`. This is in the `BASEGRID` bin. As a result, masks are possibly not correctly set at iteration 0, and the run fails when presync is set to `mixed-error`.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2625/carpetmask-should-not-be-scheduled-before
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/trac/attachments/20220801/acc00674/attachment.html 


More information about the Trac mailing list