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:
Globular-cluster multiple populations (1G/2G). Many old GCs host two chemically distinct populations with different radial distributions and kinematics — typically a centrally concentrated 2G inside a more extended 1G.
Halo + core decompositions. An observed surface-brightness profile decomposed into an extended halo plus a compact core, each with its own prescribed density shape.
Mass segregation as equilibrium. Multi-mass clusters in partial equipartition: heavier components are dynamically colder and sit deeper in the shared well.
Binaries vs. singles. Binary systems behave as a dynamically colder, more concentrated component than the single stars.
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 (and optionally its own anisotropy radius ), coupled through one Poisson solve. |
| |
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). |
|
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 ) is the physically motivated description of relaxed, tidally truncated clusters; the per-component velocity-scale ratios (mass segregation: ) make multi-mass equipartition a built-in equilibrium property. Fitting , , , or 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 ( 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 and a velocity-dispersion-profile deviation of .
The core principle: per-component equilibrium, no rescale¶
Every MultiComponentCluster IC satisfies, per component,
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 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 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 |
|---|---|
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 plateau). | |
Engine B theory and methods: the shared-potential quadrature, per-component Eddington inversion, realizability, derived domains, and hybrid sampling. | |
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:
Tidal truncation (Tidal physics) applies to the union (or per-component if needed).
Mass segregation has two routes: the Engine-A equipartition equilibrium (
from_mass_segregation— segregation as a true equilibrium), and the labeled primordial non-equilibrium generatorenergy_sorted_segregation(Mass segregation) when the science calls for segregation imposed on a single-mass profile.Rotation stays a post-hoc transform (
apply_solid_body_rotation,apply_differential_rotation, Anisotropy and rotation) for either engine.
sample_cluster returns an ICResult whose component_id labels each
star’s generating component, so per-population diagnostics (radial
profiles, , , ) are one mask away.
Implementation, validation & references¶
In code:
src/progenax/cluster/multicomponent.py(MultiComponentCluster, both engines), with the Engine-B shared-potential quadrature insrc/progenax/profiles/density_poisson.pyand the Eddington inverter insrc/progenax/kinematics/eddington.py. See the cluster API; each chapter below carries its exact module path.Validated in: multimass equilibrium (Engine A), Engine B (Eddington), and two-component.
Primary sources: self-consistent multi-mass lowered-isothermal equilibria follow Gieles & Zocchi (2015) (§4.1 multi-mass coupling); Eddington inversion with Osipkov–Merritt anisotropy follows Merritt (1985); layered multi-population ICs are standard N-body practice (Küpper et al. (2011)’s McLuster), but that layered single-DF-per-component approach is not a joint equilibrium — the shared-potential treatment here is what replaces it. Full notes in the bibliography.
- 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
- Merritt, D. (1985). Spherical stellar systems with spheroidal velocity distributions. The Astronomical Journal, 90, 1027–1037. 10.1086/113810
- 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