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.

King profile

San Diego State University

The King profile

The King model King, 1966 is the canonical tidally truncated spatial density profile for old globular clusters. Unlike Plummer, it has no closed-form ρ(r)\rho(r) — the profile is defined implicitly via an ODE in the dimensionless gravitational potential. In exchange, King provides what Plummer cannot: a finite outer radius matching the observed tidal cutoff, a single dimensionless concentration parameter W0W_0 that captures the full cluster geometry, and the family of King (1966) model density profiles fit to most Galactic globular clusters in the second half of the 20th century.

This chapter derives the King profile from its defining lowered-isothermal DF, sets up the ODE that progenax integrates with diffrax, lists the W0(rc,rt,c,rh)W_0 \to (r_c, r_t, c, r_h) mapping, and notes the Gieles & Zocchi (2015) lowered-model-family generalisation — progenax’s planned own differentiable extension when multi-mass anisotropy matters (not currently implemented).

The lowered-isothermal distribution function

The King profile starts from a distribution function, not a density profile. Define a dimensionless potential

W(r)    Φ(rt)Φ(r)σ02W(r) \;\equiv\; \frac{\Phi(r_t) - \Phi(r)}{\sigma_0^2}

where σ0\sigma_0 is the central one-dimensional velocity dispersion and rtr_t is the tidal (truncation) radius — the location where the gravitational potential of the cluster matches the host galaxy’s tidal potential. By construction W(rt)=0W(r_t) = 0 and WW increases monotonically inward, with W0W(0)W_0 \equiv W(0) the central value.

The lowered-isothermal DF is

f(E)  =  {ρ1(2πσ02)3/2[e(Φ(rt)E)/σ021],E<Φ(rt)0,EΦ(rt)f(E) \;=\; \begin{cases} \rho_1\,(2\pi\sigma_0^2)^{-3/2}\,\bigl[\,e^{(\Phi(r_t)-E)/\sigma_0^2} - 1\,\bigr], & E < \Phi(r_t) \\ 0, & E \ge \Phi(r_t) \end{cases}

↗ model card

The “-1” in the bracket is the lowering: it removes the high-energy tail of the Maxwell-Boltzmann distribution that would otherwise extend to EE \to \infty, producing a finite cluster with a sharp tidal cutoff. King (1966) derived this form to model the observation that globular clusters appear truncated rather than extending as infinite-mass isothermal spheres.

Integrating f(E)f(E) over velocity space gives the density profile:

ρ(W)  =  ρ1[eWerf(W)4W/π(1+23W)]\rho(W) \;=\; \rho_1 \cdot \bigl[\,e^W\,\mathrm{erf}(\sqrt{W}) - \sqrt{4W/\pi}\,(1 + \tfrac{2}{3}W)\,\bigr]

↗ model card

where erf\mathrm{erf} is the error function. ρ(W=0)=0\rho(W = 0) = 0 (cluster edge) and ρ(W=W0)=ρ0\rho(W = W_0) = \rho_0 at the centre. Note that ρ\rho is not yet a function of radius — that requires solving the Poisson equation for W(r)W(r).

The defining ODE

Combining (3) with the spherical Poisson equation,

1r2ddr(r2dΦdr)  =  4πGρ(Φ)\frac{1}{r^2}\frac{\mathrm{d}}{\mathrm{d}r}\biggl(r^2 \frac{\mathrm{d}\Phi}{\mathrm{d}r}\biggr) \;=\; 4\pi G\,\rho(\Phi)

and non-dimensionalising via ξ=r/rc\xi = r / r_c where rcr_c is the King core radius

rc2  =  9σ024πGρ0,r_c^2 \;=\; \frac{9\,\sigma_0^2}{4\pi G\,\rho_0},

↗ model card

yields the dimensionless King ODE:

1ξ2ddξ(ξ2dWdξ)  =  9ρ(W)ρ0\frac{1}{\xi^2}\frac{\mathrm{d}}{\mathrm{d}\xi}\biggl(\xi^2 \frac{\mathrm{d}W}{\mathrm{d}\xi}\biggr) \;=\; -\frac{9\,\rho(W)}{\rho_0}

with boundary conditions W(0)=W0W(0) = W_0 and W(0)=0W'(0) = 0. The ODE integrates outward from ξ=0\xi = 0 until WW reaches zero — that defines the tidal radius rt=ξtrcr_t = \xi_t \cdot r_c. The W0W_0 parameter fully determines the cluster’s dimensionless structure.

The concentration parameter cc

The shape of a King cluster is captured by the dimensionless concentration parameter

c    log10 ⁣(rtrc)  =  log10(ξt).c \;\equiv\; \log_{10}\!\left(\frac{r_t}{r_c}\right) \;=\; \log_{10}(\xi_t).

↗ model card

For Galactic globular clusters, observational fits give cc in the range 0.7\sim 0.72.5, with W05W_0 \sim 59 for most clusters (the high-concentration / near-core-collapse tail reaching higher):

W0(ξt,c,rh/rc)W_0 \to (\xi_t, c, r_h/r_c) mapping for the King profile. The ξt\xi_t and cc columns reproduce King (1966) Table II; rh/rcr_h/r_c is computed from the integrated mass profile.

W0W_0

ξt=rt/rc\xi_t = r_t/r_c

c=log10ξtc = \log_{10} \xi_t

rh/rcr_h / r_c

Cluster type

3

4.70

0.67

1.26

Diffuse, low-density

5

10.70

1.03

2.00

Typical low-concentration GC

7

33.7

1.53

3.92

Average Milky Way GC

9

131

2.12

15.4

High-concentration GC

The rhr_h column shows that — unlike Plummer’s a/rh0.766a/r_h \approx 0.766 constant — the King profile’s scale-to-half-mass mapping depends on W0W_0. progenax stores this mapping as a precomputed lookup table and exposes it through progenax.profiles.solve_king_profile(W0), which returns the 3-tuple (xi_grid, psi_clamped, psi_raw): the dimensionless radius grid, the potential clamped to ψ0\psi \ge 0 (used for the density and CDF), and the unclamped potential (negative just past rtr_t; used only for the differentiable tidal-radius crossing). The profile implementation consumes the first two.

Inverse-CDF sampling

Once W(ξ)W(\xi) is integrated, the cumulative mass

M(<ξ)  =  4πrc3ρ00ξξ2ρ(W(ξ))ρ0dξM(<\xi) \;=\; 4\pi r_c^3 \rho_0 \int_0^\xi \xi'^2\,\frac{\rho(W(\xi'))}{\rho_0}\,\mathrm{d}\xi'

is computed by trapezoidal integration on the same grid the ODE solver produced. progenax then inverts this CDF to sample radii:

u = jax.random.uniform(key, (N,))                        # u ~ U(0,1)
xi_samples = jnp.interp(u, cumulative_mass_normalized, xi_grid)
r_samples = xi_samples * r_c                              # r in physical units

The whole chain is differentiable in rcr_c (and therefore in rhr_h via the rh(W0,rc)r_h(W_0, r_c) mapping). It is also differentiable in W0W_0: diffrax propagates ψ/W0\partial\psi/\partial W_0 through the ODE solve, so the density profile and any shape-based observable carry correct W0W_0 gradients (validated against finite differences in King profile validation). The one exception is the scalar tidal radius rtr_t: its W0W_0-derivative is zeroed by the argmax zero-crossing in _find_tidal_radius, so W0W_0 inference should target the profile shape (differentiable) rather than the scalar rtr_t readout. This makes joint gradient-based / HMC inference of (W0,rc)(W_0, r_c) — and, with the velocity DF, MtotM_{\rm tot} — feasible.

The lowered-model family

Gieles & Zocchi (2015) showed that King is one member of a one-parameter family of lowered-isothermal models: a continuous truncation parameter gg interpolates between Woolley (g=0g = 0), King (g=1g = 1), and Wilson (g=2g = 2) models, and the framework extends to multi-mass and anisotropic clusters. progenax will implement this family natively as its own differentiable, JAX-native generalization — so that gg (and the multi-mass / anisotropy parameters) can be inferred — rather than depending on the external (non-differentiable) limepy package. See the roadmap.

For most production work — single-mass populations or coarse mass binning — the released King profile suffices. The unified family becomes the right tool when the science target is the radial velocity-anisotropy profile or the multi-mass equipartition state.

Tidal physics

The King profile’s “tidal radius” rtr_t is a defining property of the model — the place where W=0W = 0 and the cluster terminates. In real space, the physical tidal radius (Jacobi radius) of a cluster on a circular orbit at galactocentric radius RR is

rJ    (Mcl3Mgal(<R)) ⁣1/3Rr_J \;\approx\; \biggl(\frac{M_{\mathrm{cl}}}{3 M_{\mathrm{gal}}(<R)}\biggr)^{\!1/3} R

progenax.tidal.jacobi_radius computes rJr_J given a Galactic mass model; equating rt=rJr_t = r_J then fixes the King concentration self-consistently. Tidal physics is documented in detail at Tidal physics.

Implementation in progenax

from progenax.profiles import KingProfile, solve_king_profile
from progenax.kinematics import KingVelocityDF
from jaxstro.units import STELLAR

# Solve the King ODE once for W_0 = 7 (returns a 3-tuple; psi_raw unused here)
xi_grid, psi_grid, _ = solve_king_profile(W0=7.0)   # diffrax Tsit5
profile = KingProfile.from_W0_rc(W0=7.0, r_c=1.0)
df = KingVelocityDF(W0=7.0, r_c=1.0)                 # r_t derived from W0

masses = jnp.ones(1000)
positions = profile.sample_positions(masses, key_pos)
velocities = df.sample_velocities(positions, masses, key_vel, G=STELLAR.G)

The solve_king_profile call is the ODE helper for the King profile; it returns the 3-tuple (xi_grid, psi_clamped, psi_raw) — here we keep the clamped potential and discard psi_raw. KingVelocityDF takes only (W0, r_c) and re-solves the ODE internally (deriving rtr_t from W0W_0), so no r_t argument is passed.

Domain of validity and limitations

  1. Single-mass only. The lowered-isothermal DF assumes one mass species. Multi-mass clusters in equilibrium have radially-varying velocity dispersions per mass group; the planned lowered-model family will handle this natively, while progenax’s standard King does not.

  2. Spherical and isotropic. No rotation, no anisotropy. For anisotropic generalisations see Anisotropy and rotation and the anisotropic Michie model; rotating King-like profiles are part of the planned lowered-model family.

  3. No primordial substructure. King is a smooth equilibrium profile. Turbulent/fractal substructure — relevant to cool-clumpy initial conditions Allison et al., 2009 — is provided separately by the experimental gravoturb subsystem (Fractal substructure), not by the released King profile, and deliberately breaks the equilibrium assumption.

  4. Tidal radius is fixed at IC time. A cluster’s tidal radius evolves with its galactocentric orbit; progenax’s King IC fixes rtr_t at t=0t = 0 and the user must apply post-evolution truncation manually if the orbit drives the cluster across a tidal-radius threshold.

Implementation, validation & references

References
  1. King, I. R. (1966). The structure of star clusters. III. Some simple dynamical models. The Astronomical Journal, 71, 64–75. 10.1086/109857
  2. Gieles, M., & Zocchi, A. (2015). A family of lowered isothermal models. Monthly Notices of the Royal Astronomical Society, 454, 576–592. 10.1093/mnras/stv1848
  3. Allison, R. J., Goodwin, S. P., Parker, R. J., Portegies Zwart, S. F., de Grijs, R., & Kouwenhoven, M. B. N. (2009). Using the minimum spanning tree to trace mass segregation. Monthly Notices of the Royal Astronomical Society, 395, 1449–1454. 10.1111/j.1365-2966.2009.14508.x
  4. Aarseth, S. J., Henon, M., & Wielen, R. (1974). A comparison of numerical methods for the study of star cluster dynamics. Astronomy and Astrophysics, 37, 183–187.