Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Tidal truncation validation

San Diego State University

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

rJr_J vs L1 Lagrange point (m/Mg=107m/M_{\rm g}=10^{-7})

rel <102< 10^{-2}

1.1×1031.1\times10^{-3}

restricted 3-body L1

Hill correction scaling

log-log slope 1/3\approx 1/3

0.34

(m/Mg)1/3(m/M_{\rm g})^{1/3}

Tidal force balance Gm/rJ2=3Ω2rJGm/r_J^2 = 3\Omega^2 r_J

rel <1010< 10^{-10}

exact

point-mass host

Effective-potential L1 saddle

within 5%5\% of rJr_J

119.0 vs 119.5 pc

rotating-frame Φeff\Phi_{\rm eff} max

Isothermal / Keplerian ratio

(3/2)1/3(3/2)^{1/3} to 10-6

1.1447

tidal tensor 2Ω22\Omega^2 vs 3Ω23\Omega^2

Truncated mass vs analytic Plummer M(<r)M(<r)

max dev <0.02< 0.02

0.006

M(<r)=Nr3/(r2+a2)3/2M(<r)=Nr^3/(r^2+a^2)^{3/2}

rJ/Mc\partial r_J/\partial M_{\rm c} (AD vs analytic)

rel <106< 10^{-6}

4×10164\times10^{-16}

R3(3Mg)1/3Mc2/3\tfrac{R}{3}(3M_{\rm g})^{-1/3}M_{\rm c}^{-2/3}

Mbound/rt\partial M_{\rm bound}/\partial r_t (surrogate)

median rel <0.2< 0.2 vs shell

0.02

analytic Plummer shell dM/drdM/dr

Truncation keeps static shape NN

no dynamic indexing

True

JIT/vmap/grad-safe

Figures

Generated by scripts/validate_tidal.py (PASS/FAIL per panel; PNG + PDF vector).

The Jacobi radius is the L1 Lagrange point. (a) r_J = R(m/3M_{\rm g})^{1/3}
(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 \propto(m/M_{\rm g})^{1/3} (measured slope 0.34), reaching only
1.1\times10^{-3} at a Galactic globular’s m/M_{\rm g}\sim10^{-7}.

Figure 1:The Jacobi radius is the L1 Lagrange point. (a) rJ=R(m/3Mg)1/3r_J = R(m/3M_{\rm g})^{1/3} (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 (m/Mg)1/3\propto(m/M_{\rm g})^{1/3} (measured slope 0.34), reaching only 1.1×1031.1\times10^{-3} at a Galactic globular’s m/Mg107m/M_{\rm g}\sim10^{-7}.

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

Figure 2:The tidal force balance. (a) The cluster’s self-gravity Gm/r2Gm/r^2 (inward) equals the tidal+centrifugal field 3Ω2r3\Omega^2 r (outward) exactly at rJr_J. (b) In the rotating frame the effective potential along the cluster–galaxy line peaks at the L1 point (rJ\approx r_J) — the escape barrier a star must climb to be stripped.

Keplerian vs isothermal host. The flat-rotation-curve (isothermal) tidal radius
is (3/2)^{1/3}=1.145\times the point-mass (Keplerian) one at matched orbital
frequency — the tidal tensor carries 2\Omega^2 for a flat rotation curve versus
3\Omega^2 for a point mass. At a Galactic-globular orbit (8 kpc): 30.4 vs
26.6 pc.

Figure 3:Keplerian vs isothermal host. The flat-rotation-curve (isothermal) tidal radius is (3/2)1/3=1.145×(3/2)^{1/3}=1.145\times the point-mass (Keplerian) one at matched orbital frequency — the tidal tensor carries 2Ω22\Omega^2 for a flat rotation curve versus 3Ω23\Omega^2 for a point mass. At a Galactic-globular orbit (8 kpc): 30.4 vs 26.6 pc.

Truncating a Plummer cluster. (a) The truncated bound-mass fraction (points) lies
on the analytic Plummer enclosed mass M(<r)/M = r^3/(r^2+a^2)^{3/2} (line) to
0.6\%. (b) Applying the cut at r_t=r_J for a typical Galactic globular (fill
factor r_h/r_J\approx0.19): bound stars inside the Jacobi circle, tidally stripped
stars outside.

Figure 4:Truncating a Plummer cluster. (a) The truncated bound-mass fraction (points) lies on the analytic Plummer enclosed mass M(<r)/M=r3/(r2+a2)3/2M(<r)/M = r^3/(r^2+a^2)^{3/2} (line) to 0.6%0.6\%. (b) Applying the cut at rt=rJr_t=r_J for a typical Galactic globular (fill factor rh/rJ0.19r_h/r_J\approx0.19): bound stars inside the Jacobi circle, tidally stripped stars outside.

Differentiability. (a) \partial r_J/\partial M_{\rm cluster} from autodiff
matches the closed-form derivative to machine precision. (b) The hard truncation
is still differentiable in r_t: the straight-through surrogate gradient of the bound
mass tracks the analytic Plummer shell mass dM/dr_t (median rel 0.02) — so r_t
(and any upstream parameter feeding it, e.g. via jacobi_radius) can be inferred by
gradient descent.

Figure 5:Differentiability. (a) rJ/Mcluster\partial r_J/\partial M_{\rm cluster} from autodiff matches the closed-form derivative to machine precision. (b) The hard truncation is still differentiable in rtr_t: the straight-through surrogate gradient of the bound mass tracks the analytic Plummer shell mass dM/drtdM/dr_t (median rel 0.02) — so rtr_t (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.py

Honest scope

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.

References
  1. King, I. R. (1962). The structure of star clusters. I. An empirical density law. The Astronomical Journal, 67, 471. 10.1086/108756
  2. 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