progenax.tidal computes the Jacobi (tidal) radius and applies a sharp,
differentiable tidal truncation. Test files: tests/validation/test_tidal_physics.py
(9 tests, validation tier) and tests/unit/test_tidal.py (15 unit tests);
figures: scripts/validate_tidal.py. The validation tier checks the physics against
independent oracles — the inner Lagrange point of the full restricted three-body
problem, the tidal force balance, and the analytic Plummer profile — not against the
formula’s own algebra.
What is verified¶
Rows map to test_tidal_physics.py; Measured values are regenerated by
scripts/validate_tidal.py.
Property | Tolerance (as tested) | Measured | Anchor |
|---|---|---|---|
vs L1 Lagrange point () | rel | restricted 3-body L1 | |
Hill correction scaling | log-log slope | 0.34 | |
Tidal force balance | rel | exact | point-mass host |
Effective-potential L1 saddle | within of | 119.0 vs 119.5 pc | rotating-frame max |
Isothermal / Keplerian ratio | to 10-6 | 1.1447 | tidal tensor vs |
Truncated mass vs analytic Plummer | max dev | 0.006 | |
(AD vs analytic) | rel | ||
(surrogate) | median rel vs shell | 0.02 | analytic Plummer shell |
Truncation keeps static shape | no dynamic indexing | True | JIT/vmap/grad-safe |
Figures¶
Generated by scripts/validate_tidal.py (PASS/FAIL per panel; PNG + PDF vector).

Figure 1:The Jacobi radius is the L1 Lagrange point. (a) (line) overlays the inner Lagrange point of the full restricted three-body problem (circles) across seven decades in mass ratio. (b) The relative error is the leading Hill correction (measured slope 0.34), reaching only at a Galactic globular’s .

Figure 2:The tidal force balance. (a) The cluster’s self-gravity (inward) equals the tidal+centrifugal field (outward) exactly at . (b) In the rotating frame the effective potential along the cluster–galaxy line peaks at the L1 point () — the escape barrier a star must climb to be stripped.

Figure 3:Keplerian vs isothermal host. The flat-rotation-curve (isothermal) tidal radius is the point-mass (Keplerian) one at matched orbital frequency — the tidal tensor carries for a flat rotation curve versus for a point mass. At a Galactic-globular orbit (8 kpc): 30.4 vs 26.6 pc.

Figure 4:Truncating a Plummer cluster. (a) The truncated bound-mass fraction (points) lies on the analytic Plummer enclosed mass (line) to . (b) Applying the cut at for a typical Galactic globular (fill factor ): bound stars inside the Jacobi circle, tidally stripped stars outside.

Figure 5:Differentiability. (a) from autodiff
matches the closed-form derivative to machine precision. (b) The hard truncation
is still differentiable in : the straight-through surrogate gradient of the bound
mass tracks the analytic Plummer shell mass (median rel 0.02) — so
(and any upstream parameter feeding it, e.g. via jacobi_radius) can be inferred by
gradient descent.
How to run¶
# physics tests (9 validation + 15 unit, ~2 s on CPU)
pytest tests/validation/test_tidal_physics.py tests/unit/test_tidal.py -q
# regenerate the five figures with PASS/FAIL tables
python scripts/validate_tidal.pyHonest scope¶
jacobi_radiusis the point-mass / Hill form; the residual vs the exact L1 point (Figure 1) is the known leading correction, not an error.apply_tidal_truncationis a sharp cut (mass beyond ); the gradient in is a straight-through logistic surrogate (it smooths only the backward pass, never the exact forward truncation). For a physically smooth King-model truncation, use the King profile directly.Long-term tidal evolution (mass loss, tidal tails) is an N-body problem for gravax; this page validates the IC-level Jacobi radius and the truncation operator only.
References¶
King (1962) (tidal radius); Binney & Tremaine (2008), §8.3.1;
Spitzer (1987), Dynamical Evolution of Globular Clusters; Baumgardt & Makino (2003)
(fill factor). The utilities are in progenax/tidal.py.
- King, I. R. (1962). The structure of star clusters. I. An empirical density law. The Astronomical Journal, 67, 471. 10.1086/108756
- Baumgardt, H., & Makino, J. (2003). Dynamical evolution of star clusters in tidal fields. Monthly Notices of the Royal Astronomical Society, 340, 227–246. 10.1046/j.1365-8711.2003.06286.x