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.

Velocity distribution functions

San Diego State University

A spatial density profile alone does not produce a complete IC: every particle needs a velocity. The velocity distribution function (DF) specifies how velocities are sampled given particle positions and masses. progenax implements the canonical equilibrium DFs for its spatial profiles (Plummer, King, EFF), the self-consistent radially anisotropic Michie–King DF, plus extensions for Osipkov–Merritt radial anisotropy (Merritt (1985)) and rigid/differential rotation.

Velocity DF

Pairs with profile

Defines

Plummer velocity distribution functions

Plummer profile

f(E)(E)7/2f(E) \propto (-E)^{7/2} from Eddington inversion of Plummer

King velocity distribution functions

King profile

Lowered-Maxwellian f(E)=ρ1(2πσ02)3/2[e(ΦtE)/σ021]f(E) = \rho_1 (2\pi\sigma_0^2)^{-3/2} [e^{(\Phi_t - E)/\sigma_0^2} - 1]

Michie-King anisotropic model

King (anisotropic, self-consistent)

Michie–King f(E,J)eJ2/2ra2σ2[eE/σ21]f(E,J) \propto e^{-J^2/2r_a^2\sigma^2}[e^{-E/\sigma^2}-1] — radial anisotropy, distinct density

EFFVelocityDF

EFF profile

Numerically-evaluated isotropic DF from EFF ρ(r)\rho(r) via Eddington inversion

Anisotropy and rotation

any of the above

Osipkov-Merritt anisotropy radius rar_a, solid-body rotation Ω\Omega, differential-rotation profile Ω(r)\Omega(r)

What “equilibrium” means

A spatial profile ρ(r)\rho(r) paired with the wrong velocity DF produces a non-equilibrium IC: the cluster will dynamically relax towards a new equilibrium state via violent relaxation on the first crossing time. For most production work this is undesirable — you wanted a Plummer cluster at t=0t = 0, not a Plummer-like distribution heading toward something else. The fix is to use the matched equilibrium DF.

with β=1σt2/σr2\beta = 1 - \sigma_t^2/\sigma_r^2 the anisotropy parameter (zero for isotropic). progenax’s validation suite (Validation methodology) checks this directly for sampled positions+velocities.



```{figure} ../figures/phase_space_hexbin.webp
:label: fig-phase-space-hexbin
:width: 100%

The DF as a density on the classic $(r, v_r)$ phase-space plane
($4\times10^5$ stars per model, seed 13), with the analytic escape envelope
$\pm v_{\rm esc}(r) = \pm\sqrt{2\Psi(r)}$ computed three different ways
(closed form / ODE $\psi$-grid / direct density quadrature). Plummer's
envelope never closes — and its stars stop visibly *inside* it, because
$f \propto \mathcal{E}^{7/2}$ vanishes toward the escape energy; King hugs
its envelope and pinches shut at $r_t$; EFF fills its power-law halo out to
the hard edge. No star crosses an envelope: bound-ness, visually. Regenerate: `python -m laboratory.icviz --only phase-space-hexbin`.

When you actually want a non-equilibrium IC

Three deliberate non-equilibrium configurations are useful enough to deserve mention:

  1. Subvirial / cold cluster, Qvir0.3Q_{\mathrm{vir}} \approx 0.3 — the Allison et al. (2009) cool-fractal setup. Cluster contracts on a crossing time and produces dynamical mass segregation within 1\sim 1 Myr.

  2. Supervirial / hot cluster, Qvir0.75Q_{\mathrm{vir}} \approx 0.75 — post-gas-expulsion. Cluster expands, may unbind partially.

  3. Mismatched-DF cluster — Plummer profile with a King DF, or vice versa. Useful for testing the rate of violent relaxation without contaminating the experiment with non-equilibrium energy ratio.

In all three cases, the spatial profile and base DF are sampled independently, then the velocity field is rescaled to the target QvirQ_{\mathrm{vir}} via Virial Q convention (Q = T/|V|). Each non-equilibrium configuration is a deliberate scientific choice; progenax exposes the parameters so the configuration can be made explicit at IC construction time.

Common API contract

Every velocity DF satisfies the VelocityDF protocol, whose single required method is sample_velocities:

class VelocityDF(Protocol):
    def sample_velocities(
        self,
        positions: Float[Array, "N 3"],
        masses: Float[Array, "N"],
        key: PRNGKey,
        G: float,
    ) -> Float[Array, "N 3"]:
        """Draw N velocities consistent with the DF given positions+masses."""
        ...

That is the whole contract — there is no velocity_dispersion method on the protocol or on the concrete DF classes; the dispersion profiles shown in the per-DF chapters are derived analytically (Plummer) or built internally by the sampler (King, EFF, Michie) and are not part of the public surface. sample_velocities is differentiable in the model parameters via the chain (e.g. rhσr(r)vr_h \to \sigma_r(r) \to \mathbf{v}), and every DF is JIT-compatible and vectorisable via jax.vmap.

Multiple components in one potential

Everything above is single-component: one DF in its own self-consistent potential. For clusters with multiple populations sharing one potential — GC 1G/2G, halo+core, multi-mass equipartition — the right tool is MultiComponentCluster (Multi-component populations), which provides two equilibrium engines: the DF-defined lowered-isothermal family (Engine A) and density-defined Eddington inversion in a shared potential (Engine B). Per-component equilibrium (Qj=0.5Q_j = 0.5) emerges from the DFs with no external rescale.

Implementation, validation & references

References
  1. Merritt, D. (1985). Spherical stellar systems with spheroidal velocity distributions. The Astronomical Journal, 90, 1027–1037. 10.1086/113810
  2. 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
  3. 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
  4. King, I. R. (1966). The structure of star clusters. III. Some simple dynamical models. The Astronomical Journal, 71, 64–75. 10.1086/109857
  5. 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
  6. 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