<html>#2912: Inconsistent computation of the volume form in Coordinates (llama) between Thornburg04/13 and default behavior
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Jordan Nicoules</td></tr>
<tr><td style='text-align:right'> Status:</td><td>submitted</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>For reference, thread on the users mailing list: <a data-is-external-link="true" href="https://lists.einsteintoolkit.org/pipermail/users/2026-January/009852.html" rel="nofollow">https://lists.einsteintoolkit.org/pipermail/users/2026-January/009852.html</a></p>
<p>The issue originates in trying to compute volume integrals in an analysis thorn, by using the volume form computed by Coordinates in a Llama grid.</p>
<p></p>
<p>In simulations using Llama, different patch systems don’t compute the volume_form grid function in the same way (when requested by parameter store_volume_form. More precisely, the default behavior is (inverse-jacobian.F90):</p>
<div class="codehilite"><pre><span></span><code><span>volume_form(i,j,k) = detJ</span>
</code></pre></div>
<p></p>
<p>Meanwhile, patch system Thornburg04 has a dedicated routine because it needs to compute weights to account for overlapping patches. But even in the non-overlapping spherical part of the grid, it computes the volume form as (thornburg04.cc):</p>
<div class="codehilite"><pre><span></span><code><span class="o">//</span><span class="w"> </span><span class="k">set</span><span class="w"> </span><span class="n">volume</span><span class="w"> </span><span class="n">form</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">deterimant</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="n">Jacobian</span><span class="w"></span>
<span class="w"> </span><span class="n">const</span><span class="w"> </span><span class="n">CCTK_REAL</span><span class="w"> </span><span class="n">det</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">fabs</span><span class="p">((</span><span class="w"> </span><span class="n">J11</span><span class="o">[</span><span class="n">ijk</span><span class="o">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">J22</span><span class="o">[</span><span class="n">ijk</span><span
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2912/inconsistent-computation-of-the-volume'>https://bitbucket.org/einsteintoolkit/tickets/issues/2912/inconsistent-computation-of-the-volume</a></p>
</html>