# [ET Trac] [Einstein Toolkit] #2030: Multi-block boundaries leave uninitialized boundary points

Wed Apr 19 11:53:51 CDT 2017

```#2030: Multi-block boundaries leave uninitialized boundary points
------------------------------------+---------------------------------------
Reporter:  eschnett               |       Owner:
Type:  defect                 |      Status:  confirmed
Priority:  major                  |   Milestone:
Component:  EinsteinToolkit thorn  |     Version:  development version
Resolution:                         |    Keywords:
------------------------------------+---------------------------------------

Comment (by eschnett):

Synchronization does not play a role here. (Let's be exact about
terminology to avoid confusion.) Yes, there is part of the grid -- an edge
-- that is both an inter-patch boundary and a symmetry boundary.

Let's also assume that we look at the lower left corner of a 2D grid for
simplicity. Let's assume that the x<0 boundary is a multi-block
interpolation boundary, and that the y<0 boundary is a symmetry boundary.
Initially, the interior of the grid (x>0, y>0) is defined.

The multi-block interpolation requires an interpolation stencil. It can
never fill the y<0 part of the grid, since the stencil doesn't fit. It can
only fill the (x<0, y>0) boundary, and for this, it requires all (x>0)
points to be defined so that the stencil can be evaluated. That means it
will look at (y<0) points, so it needs to be applied after the symmetry
boundary.

The symmetry boundary can define all (y<0) points, and requires the
respective (y>0) points to be defined for the same x coordinate. So
initially, since all boundaries are undefined, we can only set the (x>0,
y<0) part of the boundary via the symmetry condition. Since we don't have
any values for (x<0, y>0), we cannot define the lower left corner (x<0,
y<0) with a symmetry condition (yet).

However, after applying the symmetry condition and defining the (x>0, y<0)
boundary, now all points with (x>0) are defined. We can now apply the
multi-block interpolation, which fills part of the (y<0) boundary. Since
the stencil has a finite size, this defines the (x<0, y>0) points, leaving
the lower left corner still undefined.

And now we can, in the final step, apply the symmetry condition again,
this time to define the missing (x<0, y<0) corner.

--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/2030#comment:11>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
```