<html>#2487: *_evolution_method = "LeanBSSNMoL" in Lean does nothing
<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>open</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>Comment (by Gabriele Bozzola):</p>
<p>I implemented this and other improvements to Lean <a data-is-external-link="true" href="https://bitbucket.org/Sbozzolo/lean_public/" rel="nofollow">here</a> (and <a data-is-external-link="true" href="https://bitbucket.org/Sbozzolo/proca/src/master/https://bitbucket.org/Sbozzolo/proca/src/master/https://bitbucket.org/Sbozzolo/proca/src/master/https://bitbucket.org/Sbozzolo/proca/src/master/" rel="nofollow">here</a> for Proca). These are the changes:</p>
<div class="codehilite"><pre><span></span><span class="err">41be06c * origin/master LeanBSSNMoL:: split the three evolution methods</span>
<span class="err">61698a8 * LeanBSSNMoL:: Optionally compute RHS after initial data</span>
<span class="err">e9c355b * LeanBSSNMoL: Rename CCTK_BOOL to BOOLEAN</span>
<span class="err">084825a * LeanBSSNMoL, NPScalars: Add ParamCheck</span>
<span class="err">9713bb1 * LeanBSSNMoL: Calculate constraints every N iterations</span>
<span class="err">bb3f2d1 * NPScalars: Compute NP scalars every N iterations</span>
<span class="err">70f508b * LeanBSSNMoL: Compute matter terms only if needed</span>
<span class="err">c59c4b7 * LeanBSSNMoL: Add OpenMP parallelization to adm_vs_bssn</span>
<span class="err">be0f263 * NPScalars: Add OpenMP parallelism</span>
</pre></div>

<p>It wasn’t wise to completely decouple the three evolutions, so the rhss are still computed in the same for loop. My expectation is that this leads to a performance penalty compared to the current version (due to the additional branching in hot loops), but I’d bet that the effect is overall negligible.</p>
<p>I’ve run some medium size simulations with this version, and everything seems fine. Of course, this doesn’t mean that I haven’t introduced new problems.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2487/_evolution_method-leanbssnmol-in-lean-does'>https://bitbucket.org/einsteintoolkit/tickets/issues/2487/_evolution_method-leanbssnmol-in-lean-does</a></p>
</html>