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.

Multi-component populations

San Diego State University

A multi-component population is an IC containing stars from more than one population, all orbiting in the same potential. Real clusters routinely need this:

progenax packages all of these as one class — MultiComponentCluster — with two equilibrium engines selected by the constructor:

Engine

Components are defined by…

Constructors

Theory page

A — DF-defined (lowered-isothermal family)

Their distribution functions: each component is a Gieles & Zocchi (2015)-family lowered DF with its own velocity-scale ratio wjw_j (and optionally its own anisotropy radius r^a,j\hat r_{a,j}), coupled through one Poisson solve.

from_components, from_mass_segregation, from_imf

The differentiable lowered-model family (Engine A)

B — density-defined (Eddington inversion)

Their prescribed densities: Plummer/EFF/King density shapes with mass-fraction amplitudes; the shared potential is one direct quadrature pass and each component’s DF is recovered by Eddington inversion in that shared potential (optionally Osipkov–Merritt anisotropic).

from_density_profiles

The Eddington engine (Engine B)

When to choose which engine

Choose Engine A when the DF family is the model. The lowered-isothermal family (Woolley/King/Wilson, continuous truncation parameter gg) is the physically motivated description of relaxed, tidally truncated clusters; the per-component velocity-scale ratios wjw_j (mass segregation: wj=μjδw_j = \mu_j^{-\delta}) make multi-mass equipartition a built-in equilibrium property. Fitting gg, W0W_0, δ\delta, or rar_a to data is an Engine-A problem.

Choose Engine B when observed or prescribed densities are the input. If the science starts from a density decomposition — “this cluster is a Plummer halo of half-mass radius 2 pc plus an EFF core” — Engine B takes those shapes verbatim, derives the one shared potential they jointly generate, and asks Eddington whether each component can exist as an equilibrium there. (It honestly refuses when the answer is no — see the realizability discussion.)

The two engines overlap at exactly one configuration — a single King component (g=1g = 1 in Engine A; King density in Engine B) — and that overlap is the cross-engine trust anchor: two independent codepaths, sampled with the same seed (a paired comparison, so any difference is engine machinery rather than Monte-Carlo scatter), agree to a radial KS distance of 2×1042\times 10^{-4} and a velocity-dispersion-profile deviation of 3×1043\times 10^{-4}.

The core principle: per-component equilibrium, no rescale

Every MultiComponentCluster IC satisfies, per component,

Qj  =  TjWj  =  0.5withWj=ρjrdΦdrd3r    (Clausius, shared Φ),Q_j \;=\; \frac{T_j}{|W_j|} \;=\; 0.5 \qquad\text{with}\qquad W_j = -\int \rho_j\, r\,\frac{\mathrm{d}\Phi}{\mathrm{d}r}\, \mathrm{d}^3r \;\;\text{(Clausius, shared $\Phi$)},

and this emerges from the DF — there is no external virial rescale anywhere in the pipeline. This matters because joint rescaling cannot fix a multi-component IC: rescaling all velocities to set the global Q=0.5Q = 0.5 moves every individually-correct component away from its own equilibrium. (Precisely this failure — feeding each sub-population’s DF the full cluster mass, then relying on a rescale — was the physics bug that retired progenax’s legacy two-component generator.) Both engines instead prove Qj=0.5Q_j = 0.5 by exact quadrature oracles that are deliberately independent of the sampled draws, and the sampled clusters are checked unscaled.

Map of the section

Chapter

Scope

Two-component populations — worked examples

Worked two-component examples through both engines: an Engine-A cold/hot pair and the Engine-B halo+core headline, including the honest physics (an unrealizable mix, and the truncation-edge QjQ_j plateau).

The Eddington engine (Engine B)

Engine B theory and methods: the shared-potential quadrature, per-component Eddington inversion, realizability, derived domains, and hybrid sampling.

The differentiable lowered-model family (Engine A)

Engine A theory and methods: the lowered-isothermal family, the coupled multi-component Poisson solve, and the DF-table performance layer.

Composability

Each component composes with the modifier layers:

sample_cluster returns an ICResult whose component_id labels each star’s generating component, so per-population diagnostics (radial profiles, σj(r)\sigma_j(r), QjQ_j, ΛMSR\Lambda_{\rm MSR}) are one mask away.

Implementation, validation & references

References
  1. 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
  2. Merritt, D. (1985). Spherical stellar systems with spheroidal velocity distributions. The Astronomical Journal, 90, 1027–1037. 10.1086/113810
  3. Küpper, A. H. W., Maschberger, T., Kroupa, P., & Baumgardt, H. (2011). Mass segregation and fractal substructure in young massive clusters. Monthly Notices of the Royal Astronomical Society, 417, 2300–2317. 10.1111/j.1365-2966.2011.19412.x