<html>#2579: CT_MultiLevel implicitly requires CT_Analytic
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Gabriele Bozzola</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>development version</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>I am trying to solve a Poisson equation with <code>CT_MultiLevel</code> but without including <code>CT_Analytic</code> (which is advertised as an helper thorn). I found that this cannot be done because <code>CT_MultiLevel</code> explicitly calls the restriction operations on grid functions defined in <code>CT_Analytic</code>. For example, in <code>CT_RelaxError.cc</code>:</p>
<div class="codehilite"><pre><span></span><span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_MultiLevel::psi&quot;); </span>
<span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_MultiLevel::coeffs&quot;); </span>
<span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_Analytic::CT_testK&quot;); </span>
<span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_Analytic::CT_testdxK&quot;); </span>
<span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_Analytic::CT_testdyK&quot;); </span>
<span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_Analytic::CT_testdzK&quot;); </span>
<span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_Analytic::CT_testc1&quot;); </span>
<span>      CT_Restrict(CCTK_PASS_CTOC, &quot;CT_Analytic::CT_testc2&quot;);</span>
</pre></div>


<p>If you don’t have <code>CT_Analytic</code> as an active thorn, the run will abort. (Are these restrictions needed?)</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2579/ct_multilevel-implicitly-requires'>https://bitbucket.org/einsteintoolkit/tickets/issues/2579/ct_multilevel-implicitly-requires</a></p>
</html>