<html>#2288: Lean's boundary condition setting for BSSN constraints only fills in a single ghostzone
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Zach Etienne</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>EinsteinToolkit thorn</td></tr>
</table>

<p>Comment (by Roland Haas):</p>
<p><span class="ap-mention" data-atlassian-id="557058:65c5f18c-c3ad-4126-bb2b-be0e766b31ef">@Miguel Zilhão</span> it does not change any value. It is just its returned values will differ on different MPI ranks since a given boundary (of a grid patch) may be of a different type on different MPI ranks, eg in a situation with 2 ranks and a grid split like this:  </p>
<div class="codehilite"><pre><span></span>| P1 | P2 |
x-&gt;
</pre></div>


<p>then for process 1 the left x-boundary is an outer boundary, but for process 2 it is an interprocessor boundary. Thus <code>GetBoundarySizesAndTypes</code> will correct report that fact on each patch.</p>
<p>The point is that when selecting boundary conditions you do <em>not</em> want a per-patch information, but a per-level information (this is the reason for it being n LEVEL mode and not LOCAL mode).</p>
<p>The <code>GetBoundarySpecification</code> on the other hand is not concerned with per-patch information and just returns the values that were set in CoordBase’s parameters (repos/cactusbase/CoordBase/src/Domain.c):</p>
<div class="codehilite language-c"><pre><span></span><span class="n">CCTK_INT</span> <span class="nf">CoordBase_GetBoundarySpecification</span><span class="p">(</span><span class="n">CCTK_INT</span> <span class="k">const</span> <span class="n">size</span><span class="p">,</span>
                                            <span class="n">CCTK_INT</span> <span class="o">*</span><span class="k">const</span> <span class="n">nboundaryzones</span><span class="p">,</span>
                                            <span class="n">CCTK_INT</span> <span class="o">*</span><span class="k">const</span> <span class="n">is_internal</span><span class="p">,</span>
                                            <span class="n">CCTK_INT</span> <span class="o">*</span><span class="k">const</span> <span class="n">is_staggered</span><span class="p">,</span>
                                            <span class="n">CCTK_INT</span> <span class="o">*</span><span class="k">const<
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2288/leans-boundary-condition-setting-for-bssn'>https://bitbucket.org/einsteintoolkit/tickets/issues/2288/leans-boundary-condition-setting-for-bssn</a></p>
</html>