<div data-ntes="ntes_mail_body_root" style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div id="spnEditorContent"><div style="margin: 0;">Dear all, dear Steve,</div><div style="margin: 0;"><br></div><div style="margin: 0;">(Continuing the discussion on the list, as suggested.)</div><div style="margin: 0;"><br></div><div style="margin: 0;">Thank you, Steve, for the review of the thorn and the paper draft. The</div><div style="margin: 0;">evaluation gave me a clear roadmap, and I have now completed the rework</div><div style="margin: 0;">in two stages; everything is pushed to</div><div style="margin: 0;">https://github.com/wylyhzh/Geodesic.</div><div style="margin: 0;"><br></div><div style="margin: 0;">First stage (mechanical fixes):</div><div style="margin: 0;"><br></div><div style="margin: 0;">- geodesics_integrate runs with OPTIONS: global and declares READS on</div><div style="margin: 0;">  the ADMBase metric; Geodesic_ParamCheck is actually scheduled;</div><div style="margin: 0;">- the particle arrays are DISTRIB=CONSTANT and checkpointable; the</div><div style="margin: 0;">  unused CoordGauge inherit and the hard KerrSchild dependency are gone</div><div style="margin: 0;">  (the thorn has its own M, a parameters for the exact mode);</div><div style="margin: 0;">- code fixes: the metric inversion no longer returns a garbage inverse</div><div style="margin: 0;">  on singular pivots; the interpolation domain guard matches the</div><div style="margin: 0;">  6th-order stencil; Cactus logging was moved out of the OpenMP loop;</div><div style="margin: 0;">  omp.h is guarded by _OPENMP;</div><div style="margin: 0;">- par/example.par now uses only public thorns and runs on a stock ET</div><div style="margin: 0;">  checkout; the README states the current limitations explicitly</div><div style="margin: 0;">  (unigrid, single refinement level, particle arrays replicated on</div><div style="margin: 0;">  every rank).</div><div style="margin: 0;"><br></div><div style="margin: 0;">Second stage (tests, documentation, robustness):</div><div style="margin: 0;"><br></div><div style="margin: 0;">- Testsuite: test/ now contains three tests, all passing under the</div><div style="margin: 0;">  Cactus testsuite harness: circ_orbit (full particle state compared</div><div style="margin: 0;">  against reference data), circ_orbit_conserved (a postproc checks that</div><div style="margin: 0;">  E and L_z stay constant), and circ_orbit_mpi (the same run on 2 MPI</div><div style="margin: 0;">  ranks, bit-identical to the single-rank result);</div><div style="margin: 0;">- Documentation: doc/documentation.tex (ThornGuide format) is included;</div><div style="margin: 0;">- particle loss handling is now a run-time policy</div><div style="margin: 0;">  (particle_loss_policy = drop / flag / respawn), with drop as the</div><div style="margin: 0;">  default;</div><div style="margin: 0;">- the per-particle cache is allocated once and reused across steps,</div><div style="margin: 0;">  which removes the per-step allocation churn the review pointed out.</div><div style="margin: 0;"><br></div><div style="margin: 0;">The remaining architectural items (correct behaviour with more than one</div><div style="margin: 0;">MPI rank, interpolation through CarpetInterp/AEILocalInterp, and the</div><div style="margin: 0;">time derivative of the metric from the ADMBase timelevels) are a larger</div><div style="margin: 0;">rewrite whose priority I would like to discuss with the maintainers.</div><div style="margin: 0;"><br></div><div style="margin: 0;">On the question of community interest and a published paper: the paper</div><div style="margin: 0;">describing the method and the verification is included in the</div><div style="margin: 0;">repository (doc/geodesic_paper.pdf). I plan to submit it to arXiv</div><div style="margin: 0;">(gr-qc, cross-listed with astro-ph.HE) once it has benefited from the</div><div style="margin: 0;">community's feedback, and subsequently to a journal, e.g. Classical and</div><div style="margin: 0;">Quantum Gravity. I hope this addresses the "current interest"</div><div style="margin: 0;">criterion in due course.</div><div style="margin: 0;"><br></div><div style="margin: 0;">With this, I believe the thorn now meets the contribution page's</div><div style="margin: 0;">requirements on documentation, examples and self-tests, within its</div><div style="margin: 0;">stated scope. I would appreciate guidance on the next step, and on</div><div style="margin: 0;">whether the thorn could be considered for an "incoming" listing.</div><div style="margin: 0;"><br></div><div style="margin: 0;">Best regards,</div><div style="margin: 0;"><br></div><div style="margin: 0;">Yuhua Li</div><div style="margin: 0;"><br></div><div style="margin: 0;"><br></div></div><p>At 2026-09-09 22:18:59, "Steven R. Brandt" <sbrandt@cct.lsu.edu> wrote:</p><blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
  
    
  
  
    <p>Sure, we can go ahead with email. However, you should probably be
      sending to <a class="moz-txt-link-abbreviated" href="mailto:users@einsteintoolkit.org">users@einsteintoolkit.org</a> to address the group. See:</p>
    <p style="box-sizing: border-box; margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">The
      current working procedure for contributions is:</p>
    <ol style="box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; color: rgb(51, 51, 51); font-family: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
      <li style="box-sizing: border-box;">Author(s) contacts the
        Einstein Toolkit consortium (e.g. through the users or
        maintainers mail lists) about software that they intend to
        contribute</li>
      <li style="box-sizing: border-box;">Discussions take place between
        the maintainers and author(s) to discuss issues above.</li>
    </ol>
    <p><br>
    </p>
    <p>One question you need to address at some ponit: </p>
    <ul style="box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; color: rgb(51, 51, 51); font-family: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
      <li style="box-sizing: border-box;">To focus development and
        support, optimize resources, and provide best practises, the
        Einstein Toolkit components should be of current interest to the
        community.</li>
    </ul>
    <div class="moz-cite-prefix">This is phrased ambiguously, but
      usually means there's a paper published in a reputable journal
      somewhere.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">--Steve</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 9/9/2026 8:37 AM, Yuhua Li wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:68214823.19ce.1a08662f73a.Coremail.liyhts@yeah.net">
      
      <div data-ntes="ntes_mail_body_root" style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">
        <div id="spnEditorContent">
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">Dear Steve,</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">Thank you for taking the time to look
            at the thorn and the paper, and for</div>
          <div style="margin: 0;">forwarding the evaluation. I have gone
            through it carefully.</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">I agree with the two problems you
            singled out — the missing READS/WRITES</div>
          <div style="margin: 0;">clauses and the MPI layout — and most
            of the other findings are also</div>
          <div style="margin: 0;">correct. The evaluation gave me a
            clear roadmap, and I have now completed</div>
          <div style="margin: 0;">the first, mechanical stage of the
            rework:</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">- schedule.ccl: geodesics_integrate
            now runs with OPTIONS: global and</div>
          <div style="margin: 0;">  declares READS on the ADMBase
            metric; Geodesic_ParamCheck is actually</div>
          <div style="margin: 0;">  scheduled at CCTK_PARAMCHECK;</div>
          <div style="margin: 0;">- interface.ccl: the particle arrays
            are now DISTRIB=CONSTANT and</div>
          <div style="margin: 0;">  checkpointable; the unused
            CoordGauge inherit is gone;</div>
          <div style="margin: 0;">- param.ccl: the hard KerrSchild
            dependency was removed — the thorn has</div>
          <div style="margin: 0;">  its own M and a parameters for the
            exact mode;</div>
          <div style="margin: 0;">- storage now follows particle_n_total
            instead of particle_n;</div>
          <div style="margin: 0;">- code fixes: the 4x4 metric inversion
            no longer returns a garbage inverse</div>
          <div style="margin: 0;">  on singular pivots; the
            interpolation domain guard now matches the</div>
          <div style="margin: 0;">  6th-order stencil; Cactus logging
            was moved out of the OpenMP loop;</div>
          <div style="margin: 0;">  omp.h is guarded by _OPENMP; the
            parameter prose and the copyright</div>
          <div style="margin: 0;">  headers are fixed;</div>
          <div style="margin: 0;">- par/example.par now uses only public
            thorns and runs on a stock ET</div>
          <div style="margin: 0;">  checkout; the README states the
            current limitations explicitly</div>
          <div style="margin: 0;">  (single refinement level, unigrid,
            particle arrays replicated on every</div>
          <div style="margin: 0;">  rank).</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">All of this is pushed to the
            repository, and the thorn rebuilds and runs</div>
          <div style="margin: 0;">cleanly.</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">The remaining, architectural items —
            correct behaviour under MPI with</div>
          <div style="margin: 0;">more than one rank, interpolation
            through CarpetInterp/AEILocalInterp, and</div>
          <div style="margin: 0;">the time derivative of the metric from
            the ADMBase timelevels — are a</div>
          <div style="margin: 0;">larger rewrite. I would like to
            discuss their priority with the</div>
          <div style="margin: 0;">maintainers before starting, and I
            will state the current domain clearly</div>
          <div style="margin: 0;">in the paper as well: unigrid, a
            single MPI process, stationary or slowly</div>
          <div style="margin: 0;">evolving metrics.</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">For the ET contribution requirements I
            still plan to add the</div>
          <div style="margin: 0;">doc/documentation.tex ThornGuide
            documentation and a test/ case</div>
          <div style="margin: 0;">(conservation of E and Lz on a
            circular Kerr orbit) — a pointer to a good</div>
          <div style="margin: 0;">example test to follow would be
            appreciated.</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">About the weekly meetings: I would
            honestly prefer not to join, because</div>
          <div style="margin: 0;">my spoken English — especially
            listening — is not good enough for a live</div>
          <div style="margin: 0;">discussion, and I cannot change that
            in the short term. I hope we can</div>
          <div style="margin: 0;">communicate in writing instead, here
            on the mailing list or by email; if</div>
          <div style="margin: 0;">a short written summary for one of the
            meetings would help, I am happy to</div>
          <div style="margin: 0;">provide one.</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">Thank you again for the constructive
            feedback.</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">Best regards,</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;">Yuhua Li</div>
          <div style="margin: 0;"><br>
          </div>
          <div style="margin: 0;"><br>
          </div>
        </div>
        <p>At 2026-09-09 07:07:21, "Steven R. Brandt"
          <a class="moz-txt-link-rfc2396E" href="mailto:sbrandt@cct.lsu.edu"><sbrandt@cct.lsu.edu></a> wrote:</p>
        <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
          <p>Yuhua,</p>
          <p>I had Grok take a look at your thorn and paper. You will
            find the feedback attached (eval.md). At least some of the
            things it identifies are valid problems, namely the lack of
            READS/WRITES clauses in the schedule and MPI support.</p>
          <p>You may want to consider joining one of the weekly ET
            meetings to make your case (I realize that the time will
            probably be challenging for you).</p>
          <p>--Steve</p>
          <div class="moz-cite-prefix">On 9/8/2026 11:00 AM, Yuhua Li
            wrote:<br>
          </div>
          <blockquote type="cite" cite="mid:6db5ed79.273.1a081bfe81b.Coremail.liyhts@yeah.net">
            <div data-ntes="ntes_mail_body_root" style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">
              <div id="spnEditorContent">
                <div style="margin: 0;">Dear Steven,</div>
                <div style="margin: 0;"><br>
                </div>
                <div style="margin: 0;">Thank you for the quick and
                  encouraging reply, and for the pointer to the</div>
                <div style="margin: 0;">contribution process.</div>
                <div style="margin: 0;"><br>
                </div>
                <div style="margin: 0;">To answer your question
                  directly: my goal is to have Geodesic included in</div>
                <div style="margin: 0;">the Einstein Toolkit, and I am
                  willing to follow the process described at</div>
                <div style="margin: 0;"><a class="moz-txt-link-freetext" href="https://einsteintoolkit.org/contribute.html" moz-do-not-send="true">https://einsteintoolkit.org/contribute.html</a>
                  step by step. In the meantime,</div>
                <div style="margin: 0;">I would be glad if the thorn
                  could be added to the "Thorns we know of" </div>
                <div style="margin: 0;">list.</div>
                <div style="margin: 0;"><br>
                </div>
                <div style="margin: 0;">Where the thorn stands with
                  respect to the requirements: </div>
                <div style="margin: 0;"><br>
                </div>
                <div style="margin: 0;"> - Documentation: the repository
                  has a README with purpose, build and usage</div>
                <div style="margin: 0;">   instructions and a parameter
                  table; the algorithms and the verification</div>
                <div style="margin: 0;">   are described in the paper
                  draft (doc/geodesic_paper.pdf). </div>
                <div style="margin: 0;"> - Examples: par/example.par is
                  a complete, runnable example, and the par/ </div>
                <div style="margin: 0;">   directory contains the
                  parameter files that reproduce every result</div>
                <div style="margin: 0;">   reported in the paper. I am
                  happy to add an automated test in the ET</div>
                <div style="margin: 0;">   test-suite format — a pointer
                  to a good example test to follow would be</div>
                <div style="margin: 0;">   appreciated.</div>
                <div style="margin: 0;"> - Licence: GPLv2+, included as
                  COPYING.</div>
                <div style="margin: 0;"> - Hosting: the code is on
                  GitHub (<a class="moz-txt-link-freetext" href="https://github.com/wylyhzh/Geodesic" moz-do-not-send="true">https://github.com/wylyhzh/Geodesic</a>).</div>
                <div style="margin: 0;">   I am open to hosting it at
                  einsteintoolkit.org if that is preferred.</div>
                <div style="margin: 0;"><br>
                </div>
                <div style="margin: 0;">Please let me know what the next
                  step should be — for example, whether the</div>
                <div style="margin: 0;">thorn can be placed into an
                  "incoming" repository, and what the review</div>
                <div style="margin: 0;">will look at first. I will
                  respond to any requested changes in a timely</div>
                <div style="margin: 0;">manner.</div>
                <div style="margin: 0;"><br>
                </div>
                <div style="margin: 0;">Best regards,</div>
                <div style="margin: 0;"><br>
                </div>
                <div style="margin: 0;">Yuhua Li </div>
                <div style="margin: 0;"><br>
                </div>
              </div>
              <p>At 2026-09-08 22:41:39, "Steven R. Brandt via Users" <a class="moz-txt-link-rfc2396E" href="mailto:users@einsteintoolkit.org" moz-do-not-send="true"><users@einsteintoolkit.org></a>
                wrote:</p>
              <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
                <p>Dear Yuhua,<br>
                  <br>
                  Thank you for writing and for putting the code and the<br>
                  paper draft in a public repository under GPLv2+.
                  Independent<br>
                  contributions of this kind are welcome, and a<br>
                  test-particle geodesic tracker is something we don't
                  have: the ET currently ships<br>
                  fluid tracers (particle_tracerET) and puncture
                  tracking<br>
                  (PunctureTracker), but not a timelike geodesic
                  integrator on the 3+1<br>
                  metric.<br>
                  <br>
                  Were you hoping to have it included in the ET, or were
                  you just looking<br>
                  to share the code with the community?  If so, we can
                  help you with the process.<br>
                  Please take a look at <a class="moz-txt-link-freetext" href="https://einsteintoolkit.org/contribute.html" moz-do-not-send="true">https://einsteintoolkit.org/contribute.html</a><br>
                  if you haven't already.<br>
                  <br>
                  If you would like to do something less formal, we can
                  share<br>
                  your link on our list of "thorns we know of":<br>
                  <a class="moz-txt-link-freetext" href="https://docs.einsteintoolkit.org/et-docs/Thorns_we_know_of" moz-do-not-send="true">https://docs.einsteintoolkit.org/et-docs/Thorns_we_know_of</a><br>
                  <br>
                  Best regards,<br>
                  <br>
                  Steven R. Brandt<br>
                  <br>
                </p>
                <div class="moz-cite-prefix">On 9/8/2026 12:28 AM, Yuhua
                  Li via Users wrote:<br>
                </div>
                <blockquote type="cite" cite="mid:74f2c974.b12.1a07f7ce0ce.Coremail.liyhts@yeah.net">
                  <div data-ntes="ntes_mail_body_root" style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">
                    <div style="margin:0;">Dear Einstein Toolkit
                      community,</div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">I am a retired researcher
                      (background in mathematics and computer science)</div>
                    <div style="margin:0;">working independently from
                      China. Over the past ten years I have been</div>
                    <div style="margin:0;">building a test-particle
                      geodesic tracker for the Einstein Toolkit, and I</div>
                    <div style="margin:0;">would like to share it with
                      the community.</div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">The Geodesic thorn integrates
                      geodesics for large numbers of test particles</div>
                    <div style="margin:0;">in Kerr–Schild Cartesian
                      coordinates. It supports (i) the exact Kerr–Schild</div>
                    <div style="margin:0;">metric, independent of the
                      grid (verified symbolically to be the vacuum</div>
                    <div style="margin:0;">solution to machine
                      precision), and (ii) 27-point local Lagrange</div>
                    <div style="margin:0;">interpolation of the grid
                      metric, so it also works for arbitrary spacetimes</div>
                    <div style="margin:0;">carried on the grid (e.g.,
                      GRHydro evolutions). The per-particle integration</div>
                    <div style="margin:0;">is fully independent and
                      parallelized with OpenMP (validated with 10^4</div>
                    <div style="margin:0;">particles).</div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">The code (GPLv2+), the
                      configuration files used in the validation runs,
                      and a</div>
                    <div style="margin:0;">paper draft describing the
                      method and verification are all available in this</div>
                    <div style="margin:0;">public repository: <a class="moz-txt-link-freetext" href="https://github.com/wylyhzh/Geodesic" moz-do-not-send="true">https://github.com/wylyhzh/Geodesic</a></div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">I plan to submit the paper to
                      arXiv (gr-qc, cross-list astro-ph.HE) once it</div>
                    <div style="margin:0;">has benefited from the
                      community's feedback.</div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">I would appreciate: (1)
                      feedback on whether the thorn meets ET</div>
                    <div style="margin:0;">standards, and what would be
                      needed to have it listed with the ET thorns;</div>
                    <div style="margin:0;">(2) any comments on the
                      paper. I am most comfortable discussing in</div>
                    <div style="margin:0;">writing, so I would prefer to
                      continue the conversation here on the</div>
                    <div style="margin:0;">mailing list or by email,
                      whichever is more convenient.</div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">I am happy to provide any
                      further information.</div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">Best regards,</div>
                    <div style="margin:0;"><br>
                    </div>
                    <div style="margin:0;">Yuhua Li</div>
                  </div>
                  <br>
                  <fieldset class="moz-mime-attachment-header"></fieldset>
                  <pre wrap="" class="moz-quote-pre">_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:Users@einsteintoolkit.org" moz-do-not-send="true">Users@einsteintoolkit.org</a>
<a class="moz-txt-link-freetext" href="http://lists.einsteintoolkit.org/mailman/listinfo/users" moz-do-not-send="true">http://lists.einsteintoolkit.org/mailman/listinfo/users</a>
</pre>
                </blockquote>
              </blockquote>
            </div>
          </blockquote>
        </blockquote>
      </div>
    </blockquote>
  

</blockquote></div>