[Users] Geodesic: a test-particle geodesic thorn (AMR-verified) - for today's weekly users call
Yuhua Li
liyhts at yeah.net
Wed Sep 16 19:55:33 CDT 2026
Dear all,
At today's weekly users call I would like to briefly present Geodesic, a
new thorn that integrates test-particle geodesics in Kerr--Schild
Cartesian coordinates, and ask for feedback before submitting it to the
Einstein Toolkit.
Features
- Two metric modes: an exact analytic Kerr--Schild metric
(grid-independent, symbolically verified to be a vacuum solution at
machine precision), and a grid mode that samples the ADMBase fields
with three interchangeable samplers selected by one parameter:
local27 (default, 27-point local Lagrange fit), aei (fourth-order
pointwise, via AEILocalInterp), and carpet (second-order pointwise
quadratic Lagrange).
- Adaptive RKF45 integration with per-step renormalization of the
four-velocity; d_t g recovered from the three most recent ADMBase
time levels (stationary metrics are auto-detected).
- AMR-ready: each sampler reads the refinement level that contains the
particle, so geodesics can be integrated inside a Carpet AMR
evolution (with 4:1 subcycling) without any change to the integrator.
- OpenMP-parallel particle loop: scales to 10^4 particles (9.2x
speedup, 10.4% efficiency on 88 threads); embedded in a full GRHydro
evolution, tracking 10^4 particles costs only ~3.1% of the wall time.
Verification
- E, L_z and the norm conserved to ~1e-9 over T = 1000 M on three
distinct bound orbits (circular, tilted, eccentric).
- Grid convergence of the default sampler with a measured local order
of 3.7 (formal order three) against an independent reference.
- Five-way comparison of the exact metric and the three samplers on a
precessing orbit of 200 particles close to the plunge boundary.
- New: on a 3-level Carpet AMR mesh (50^3 base, dx=1; refinement boxes
of half-width 16/8, factor 2), all three samplers reproduce the
unigrid reference orbit of conv100 over ~1.05 orbital periods
(t = 0..150.1): radial deviations 0.4% (local27), 0.5% (aei), 2.3%
(carpet, consistent with its second formal order), with no lost
particles and no NaNs.
Code and configurations
- Repository (GPLv2+): https://github.com/wylyhzh/Geodesic
- Includes a 7-test testsuite, ThornGuide documentation, and the
parameter files used for the results above (including the three
AMR-vs-unigrid comparison setups).
- A paper describing the implementation and the verification suite is
in preparation.
Known limitation
- The multi-process (MPI) particle layout is implemented
(DISTRIB=CONSTANT, rank-0 integration with state synchronization) but
has not yet been exercised with the current rework; single-process
OpenMP runs are the tested configuration. The aei sampler in addition
needs single-process runs or AEILocalInterp's N_boundary_points_omit
when its fourth-order stencil would cross a processor boundary.
Any feedback is very welcome - in particular on whether the thorn
should be proposed as EinsteinAnalysis/Geodesic.
Best regards,
Yuhua Li
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einsteintoolkit.org/pipermail/users/attachments/20260917/3eb8acd6/attachment.htm>
More information about the Users
mailing list