<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>Though looking at the code that is used for the <code>MultiPatch_GetBoundarySpecification</code> case, this seems incorrect as well. If called in LEVEL mode it will set all boundary widths to 0. And when called in SINGLEMAP mode (so that <code>map</code> is defined) you would end up selecting boundary conditions more than once which makes <code>Boundary</code> abort.</p>
<p>Something similar to what is done when going from <code>GetBoundaryWidths</code> to <code>GetBoundaryWidth</code> seems required, ie.: </p>
<div class="codehilite language-c++"><pre><span></span>  <span class="k">if</span> <span class="p">(</span><span class="n">CCTK_IsFunctionAliased</span> <span class="p">(</span><span class="s">&quot;MultiPatch_GetBoundarySpecification&quot;</span><span class="p">))</span> <span class="p">{</span>
    <span class="kt">int</span> <span class="k">const</span> <span class="n">maps</span> <span class="o">=</span> <span class="n">MultiPatch_GetMaps</span> <span class="p">(</span><span class="n">cctkGH</span><span class="p">);</span>
    <span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">6</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span>
      <span class="n">nboundaryzones</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
    <span class="c1">// collect all boundary information from all maps, and get </span>
    <span class="c1">// outer boundary information only</span>
    <span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">m</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">m</span> <span class="o">&lt;</span> <span class="n">maps</span><span 
<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>