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.

Spatial density profiles

San Diego State University

A spatial density profile ρ(r)\rho(r) is one of the three orthogonal ingredients in every progenax IC (What is an initial condition?). progenax ships four spatial profiles — the isotropic Plummer / King / EFF plus the self-consistent anisotropic Michie–King. They do not share a single size parameter: Plummer is parameterised by the half-mass radius rhr_h; King and Michie–King by the central potential W0W_0 and core radius rcr_c (Michie–King adds the anisotropy radius rar_a); and EFF by the scale radius aa, outer slope γ\gamma, and truncation radius rtr_t. Convert between the conventions using each profile’s own rhr_h relation (e.g. (3)) when you need cross-profile comparability.

Profile

ρ(r)\rho(r) form

Use when

Plummer profile

ρ(r)=3M4πa3[1+(r/a)2]5/2\rho(r) = \frac{3 M}{4\pi a^3}\,\bigl[1 + (r/a)^2\bigr]^{-5/2}

You want a smooth, untruncated profile and a closed-form everything (mass, potential, velocity dispersion, distribution function).

King profile

Lowered isothermal sphere; ODE-defined, parameterised by central potential W0W_0.

You want a tidally truncated cluster matching observed Galactic globular clusters; need a finite outer radius.

EFF profile

ρ(r)=ρ0[1+(r/a)2]γ/2\rho(r) = \rho_0\,\bigl[1 + (r/a)^2\bigr]^{-\gamma/2}

You want power-law outer falloff matching young massive cluster surface brightness; need a free outer-slope parameter.

Michie-King anisotropic model

Self-consistent King with a Gaussian-in-J2J^2 anisotropy term (Michie 1963); ODE-defined, distinct from isotropic King.

You want a tidally-truncated cluster with radial velocity anisotropy increasing outward (the Michie–King model). Density and DF are solved together.

The model-selection table, drawn: every released density family,
half-mass-normalized. Plummer’s untruncated r^{-5} tail; the King
W_0 = 3 \to 12 sequence (each \sim4–5 units of W_0 buys a decade of
core-to-tidal contrast c = \log_{10} r_t/r_c: 0.67 \to 1.53 \to 2.74);
EFF’s shallow power-law halo crossing Plummer at large radii; Michie
(dashed) as “King, but more extended” — radial anisotropy visible as pure
structure. Regenerate: python -m laboratory.icviz --only profile-family-portrait.

Figure 1:The model-selection table, drawn: every released density family, half-mass-normalized. Plummer’s untruncated r5r^{-5} tail; the King W0=312W_0 = 3 \to 12 sequence (each \sim4–5 units of W0W_0 buys a decade of core-to-tidal contrast c=log10rt/rcc = \log_{10} r_t/r_c: 0.671.532.740.67 \to 1.53 \to 2.74); EFF’s shallow power-law halo crossing Plummer at large radii; Michie (dashed) as “King, but more extended” — radial anisotropy visible as pure structure. Regenerate: python -m laboratory.icviz --only profile-family-portrait.

Plummer is the default (closed-form everything). King fits old, tidally truncated globulars (W05W_0 \sim 59); EFF fits young massive clusters whose power-law halos King’s exponential edge cannot capture Elson et al., 1987; Michie–King adds self-consistent radial anisotropy to the King picture.

Common API contract

Every spatial profile satisfies the SpatialProfile protocol (Protocol-based composition):

class SpatialProfile(Protocol):
    def sample_positions(
        self,
        masses: Float[Array, "N"],
        key: PRNGKey,
    ) -> Float[Array, "N 3"]:
        """Draw N positions from ρ(r). Returns (N, 3) Cartesian."""
        ...

    def characteristic_radius(self) -> Float[Array, ""]:
        """A representative scale (r_h for Plummer, r_t for King/EFF),
        used e.g. for softening defaults."""
        ...

The protocol’s contract is just these two methods — there is no shared r_h field and no density/cumulative_mass requirement (the concrete classes provide density where it is closed-form, e.g. Plummer and EFF, but the protocol does not mandate it). sample_positions uses an inverse-CDF sampler over a fixed grid so that the positions themselves are differentiable in the size parameter (rhr_h for Plummer, rcr_c/W0W_0 for King, aa/γ\gamma for EFF) — useful when the loss function depends on post-sampling spatial moments.

Composability with velocity DFs and modifiers

Each profile pairs with a matching equilibrium velocity DF for in-equilibrium ICs:

Profile

Equilibrium velocity DF

Out-of-equilibrium pairing?

Plummer

progenax.kinematics.PlummerVelocityDF (Plummer velocity distribution functions)

Plummer + isothermal velocity → cold-collapse IC

King

progenax.kinematics.KingVelocityDF (King velocity distribution functions)

King + Plummer DF → mismatched IC for testing relaxation

EFF

progenax.kinematics.EFFVelocityDF

EFF + isotropic-Maxwellian → approximate but useful starting state

Michie–King

progenax.kinematics.MichieVelocityDF (Michie-King anisotropic model)

Solved self-consistently as a pair (MichieProfile + MichieVelocityDF); the density is intrinsic to the anisotropic DF

All four profiles compose with the modifier layers — mass segregation (Mass segregation), fractal substructure (Fractal substructure), and tidal truncation (Tidal physics) — without changing the underlying ρ(r)\rho(r).

Sampler fidelity at a glance

Sampled radial densities (N = 2\times 10^5 per family, seed 7) against
the analytic curves, spanning 6–7 decades, with residuals inside the
\pm 1/\sqrt{N_{\rm bin}} Poisson bands (shaded). Bins with fewer than
10 stars are dropped. Quantitative gates: Plummer,
King, EFF.
Regenerate: python -m laboratory.icviz --only profile-density-residuals.

Figure 2:Sampled radial densities (N=2×105N = 2\times 10^5 per family, seed 7) against the analytic curves, spanning 6–7 decades, with residuals inside the ±1/Nbin\pm 1/\sqrt{N_{\rm bin}} Poisson bands (shaded). Bins with fewer than 10 stars are dropped. Quantitative gates: Plummer, King, EFF. Regenerate: python -m laboratory.icviz --only profile-density-residuals.

Check yourself

1. Read the portrait

At r=3rhr = 3\,r_h, rank the families in Figure 1 by ρ\rho before looking closely. Why must EFF (γ=3.5\gamma = 3.5) eventually exceed every King model, however concentrated? (Truncation beats any power law: King’s ρ0\rho \to 0 at finite rtr_t, EFF’s tail only falls as r3.5r^{-3.5}.)

2. The rhr_h trap

Build KingProfile.from_W0_rc(W0=7.0, r_c=1.0) and PlummerProfile(r_h=1.0). Are they the same size? Compute the King model’s half-mass radius (integrate its density, or sample and take the median radius) — you’ll find rh3.9rcr_h \approx 3.9\,r_c, so this King cluster is nearly four times larger than the Plummer sphere despite the unit scale parameter. This is why the portrait normalizes by rhr_h and why cross-profile comparisons must too.

Implementation, validation & references

References
  1. Elson, R. A. W., Fall, S. M., & Freeman, K. C. (1987). The structure of young star clusters in the Large Magellanic Cloud. The Astrophysical Journal, 323, 54–78. 10.1086/165807
  2. Plummer, H. C. (1911). On the problem of distribution in globular star clusters. Monthly Notices of the Royal Astronomical Society, 71, 460–470. 10.1093/mnras/71.5.460
  3. King, I. R. (1966). The structure of star clusters. III. Some simple dynamical models. The Astronomical Journal, 71, 64–75. 10.1086/109857
  4. Michie, R. W. (1963). On the distribution of high energy stars in spherical stellar systems. Monthly Notices of the Royal Astronomical Society, 125, 127–139. 10.1093/mnras/125.2.127
  5. 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