Every physical law, model, and theory the CurPay Quantum Universe simulation uses, together with the exact constant values it runs with. All quantities are in simulation units (px, ticks, simulation mass). Values are pulled live from the running simulation, and each entry links to the real-world reference for the law or theory it models.
← Back to the simulationLoading live values from the running simulation…
A tick has no intrinsic duration, so the simulation calibrates one. Lengths are in pixels (px), masses in simulation mass units.
Tuned so a planet at the habitable-zone mid-radius (~40 px) of a mass-100 star orbits in ~600 ticks.
| Symbol | Value | Meaning |
|---|---|---|
| GSim | 0.07 | Gravitational constant in sim units |
Simulation calibration constant (no external reference) — derived from Kepler's third law.
Keeps post-Newtonian corrections subtle for ordinary orbits but dramatic near black holes. Velocities are clamped so they never exceed it.
| Symbol | Value | Meaning |
|---|---|---|
| CSim2 | 50.0 | c² in sim units |
| CSim | √50 ≈ 7.071 | c (speed limit) in px/tick |
Simulation calibration constant (no external reference) — models the speed of light as an enforced limit.
Maps simulation ticks to cosmological years. With the default, the primordial-black-hole window (~400 ticks) sits at ~400 Myr and a mature run (~13,800 ticks) at ~13.8 Gyr.
| Symbol | Value | Meaning |
|---|---|---|
| YearsPerTick | 1.0e6 | 1 tick = 1,000,000 years (1 Myr) |
Reference: Age of the universe (calibrated so a mature run reaches ~13.8 Gyr).
Mirrors the real universe with Planck-like defaults. Only the baryon slice forms stars/planets/gas; dark matter funds galaxy halos; dark energy drives expansion and forms nothing.
Fractions of the total mass-energy budget. The energy budget for a total is split as (total·Ω).
| Symbol | Value | Meaning |
|---|---|---|
| OmegaDarkEnergy | 0.685 | Λ — cosmological constant |
| OmegaDarkMatter | 0.265 | cold dark matter halos |
| OmegaBaryon | 0.050 | ordinary matter (forms objects) |
Reference: ΛCDM model; values from the Planck 2018 results.
A subtle expansion drift applied per tick that grows recession with distance.
| Symbol | Value | Meaning |
|---|---|---|
| HSim | 0.00005 | Hubble constant in sim units |
Reference: Hubble's law.
Extra Hubble-flow rate from vacuum energy, accumulating with cosmic age. The cosmic fate modulates it: a Big Rip applies phantom (×6) acceleration; a Big Crunch zeroes Λ as gravity wins.
| Symbol | Value | Meaning |
|---|---|---|
| VacuumEnergyDensity | 1.2e-9 | per-tick vacuum energy accrual |
| DarkEnergyMax | 0.00045 | cap on dark-energy Hubble rate |
Reference: Cosmological constant and dark energy; fates from the Big Rip / Big Crunch scenarios.
An exponential early expansion that freezes in quantum density fluctuations. The fluctuations follow a red-tilted, near-scale-invariant power spectrum P(k) ∝ k^(n_s−1) and seed where galaxies later form.
| Symbol | Value | Meaning |
|---|---|---|
| InflationEfolds | 60 | N — number of e-folds |
| SpectralIndex | 0.965 | n_s (red-tilted) |
| FluctuationRms | 1.0 | RMS of frozen-in fluctuations |
| PrimordialSeedCount | 64 | seed overdensities at the Big Bang |
Reference: Cosmic inflation and the scalar spectral index n_s (Planck-measured).
Newtonian gravity plus post-Newtonian, Schwarzschild, and Kerr corrections that become significant near compact objects. Each correction is an acceleration delta added to the Newtonian term per tick.
The baseline inverse-square attraction between masses.
Reference: Newton's law of universal gravitation.
First post-Newtonian correction that makes orbits precess, like Mercury's perihelion advance.
Reference: Post-Newtonian expansion; see relativistic apsidal precession.
Energy loss to gravitational waves that shrinks tight binaries and drives inspirals.
| Constant | Value | Meaning |
|---|---|---|
| coefficient | 32/5 | Peters quadrupole prefactor |
Reference: power radiated by orbiting bodies (Peters & Mathews quadrupole formula).
Weak-field equatorial expansion of motion around a non-rotating black hole, plus its event-horizon (Schwarzschild) radius.
Reference: Schwarzschild metric and Schwarzschild radius.
A spinning black hole drags spacetime around it, adding a velocity-perpendicular cross term. The same Kerr spin also powers a magnetic Blandford–Znajek jet when the hole is threaded by the MHD field.
Reference: Frame-dragging (Lense–Thirring effect) around a Kerr black hole.
Clocks run slower deep in a gravity well; reaches zero at the horizon.
Reference: Gravitational time dilation.
Differential gravity across a body of half-size δ; drives spaghettification and disruption.
Reference: Tidal force (and spaghettification).
Light bending around a (possibly moving) mass, with velocity-dependent aberration that breaks the symmetry for a moving black hole.
| Constant | Value | Meaning |
|---|---|---|
| strength | 1.0 (default) | lensing intensity multiplier |
Reference: Gravitational lens (light deflection 4GM/c²r).
Circular and near-circular orbital motion derived from Newtonian gravity.
Angular speed of a circular orbit; the basis of orbital periods and the tidal mean motion n.
Reference: Kepler's third law (and mean motion).
Minimum separation before two galaxies are allowed to merge.
| Symbol | Value | Meaning |
|---|---|---|
| GalaxyMergeDist | 55.0 px | merge distance threshold |
Simulation tuning value (no external reference) — models galaxy mergers.
Quantum-mechanical mass limits the classical core cannot express: electron and neutron degeneracy set the fate of stellar remnants.
Qualitative non-relativistic degeneracy pressure supporting white dwarfs and neutron stars.
Reference: Electron degeneracy pressure.
A white dwarf above this mass cannot be supported by electron degeneracy and detonates as a Type Ia supernova.
| Symbol | Value | Meaning |
|---|---|---|
| ChandrasekharLimit | 40.0 | white dwarf → Type Ia |
Reference: Chandrasekhar limit (≈ 1.4 M☉ in reality; scaled here to sim mass units).
A neutron star above this mass overcomes neutron degeneracy and collapses into a black hole.
| Symbol | Value | Meaning |
|---|---|---|
| TovLimit | 110.0 | neutron star → black hole |
Reference: Tolman–Oppenheimer–Volkoff limit (≈ 2.2–2.9 M☉ in reality; scaled here to sim mass units).
Entangled black-hole pairs (used for wormholes) lose coherence exponentially each tick; the entropy is the von-Neumann form, maximal (ln 2) at p = 0.5.
| Symbol | Value | Meaning |
|---|---|---|
| DecoherenceRate | 0.0008 | per-tick entanglement erosion |
Reference: von Neumann entropy and quantum decoherence.
Randomness is seeded from genuine simulated-qubit sampling rather than a classical PRNG. Each draw prepares a register, mixes the amplitudes (Hadamard / phase rotations), and measures it to collapse out an integer; wider values are assembled from several of these small draws one bit at a time.
| Symbol | Value | Meaning |
|---|---|---|
| QubitsPerDraw | 8 qubits (2^8 = 256 states) | qubits measured per quantum draw |
Reference: quantum random number generation and qubit measurement (Born rule). Register size is kept small because the state-vector simulator is exponential in qubit count.
Quantum tunnelling lets protons fuse; below the hydrogen-burning minimum a collapsing object becomes a brown dwarf instead of a star.
A logistic turn-on around the burning minimum decides whether a protostar ignites hydrogen fusion.
| Symbol | Value | Meaning |
|---|---|---|
| HydrogenBurningMin | 20.0 | brown-dwarf / star boundary |
| GamowSharpness | 0.5 | steepness of the ignition turn-on |
Reference: Gamow factor (quantum-tunnelling fusion) and the hydrogen-burning minimum mass.
A star is not an isolated light bulb — it is coupled to the continuum radiation transport. Each tick every living star samples the local Rosseland-mean opacity κ at its position (the same opacity model the gas / FLD solver uses) and its nominal luminosity L ∝ M3.5 is capped at the Eddington luminosity L_Edd, above which radiation pressure overwhelms gravity and the star sheds its outer layers. The capped effective luminosity is what the rest of the simulation uses (habitable zone, planet irradiation, snapshots), and a fraction of it is injected back into the gas as a radiation-pressure source, so stars genuinely drive the radiation field — photon diffusion, ionization fronts and the build-up to reionization — exactly like the AGN / supernova sources. With no gas grid attached (or no opacity model) the cap and injection vanish and stars shine at their nominal luminosity, so behaviour is unchanged.
| Symbol | Value | Meaning |
|---|---|---|
| EddScale (EddingtonScale) | 6.0 | sim-normalised Eddington-luminosity scale |
| M_ref (ReferenceMass) | 100.0 | reference stellar mass for normalisation |
| κ_min (MinOpacity) | 1.0e-3 | opacity floor (keeps L_Edd finite in the diffuse IGM) |
| RadPower (StellarRadiationPower) | 0.15 | fraction of L_eff injected as a radiation source |
| L_max (StellarRadiationMaxPerStar) | 4.0 | clamp on a single star's injected power |
Reference: Eddington luminosity (radiation-pressure limit), mass–luminosity relation, and radiation pressure.
Scaled, qualitative surface/interior physics driving temperature, tidal heating, and tidal destruction.
Surface temperature of an airless grey body, scaled so a mid-HZ world (~40 px, L≈1) reads ~1.0. Albedo reflects flux; a greenhouse multiplier warms it further. Used as the fallback when no gas grid is attached — otherwise the radiation-coupled model below applies.
| Symbol | Value | Meaning |
|---|---|---|
| T_K | 40.0 | temperature scale factor |
| albedo | 0.3 (default) | fraction of light reflected |
| greenhouse | 1.0 (default) | warming multiplier |
Reference: Planetary equilibrium temperature.
When the continuum is attached, the planet's surface temperature is computed with real radiation-transport-aware terms layered on the grey-body baseline. (1) Optical-depth greenhouse: the planet's atmosphere has a Rosseland optical depth τ = κ·Σ (local opacity × a mass-scaled column), and a grey atmosphere warms the surface by (1 + ¾τ)1/4 — thicker, more opaque air runs hotter, using the same opacity model the gas solver uses. (2) Ambient radiation bath: a world immersed in the continuum radiation field (energy density E_r sampled at the planet) is heated by it in addition to its star's inverse-square flux, via T4 ∝ flux + w·E_r — negligible in empty space, but dominant inside an HII region or reionised gas. Planets also use each star's effective (Eddington-limited) luminosity. With τ→0 and E_r→0 this reduces exactly to the airless baseline above.
| Symbol | Value | Meaning |
|---|---|---|
| g_τ (GreenhouseOpticalDepthGain) | 0.75 | optical-depth greenhouse coefficient |
| τ_max (MaxOpticalDepth) | 30.0 | optical-depth cap (no runaway atmosphere) |
| w (AmbientRadiationWeight) | 0.5 | weight of the ambient radiation bath vs. stellar flux |
Reference: grey / idealised greenhouse model, optical depth, and radiative transfer.
Per-tick internal heating that spikes close to the star and is amplified on eccentric orbits (drives volcanism, e.g. an Io-like world).
| Constant | Value | Meaning |
|---|---|---|
| eccentricity boost | 1 + 6·e² | eccentric-orbit amplification |
| scale | 1e3 | per-tick rate scaling |
Reference: Tidal heating (e.g. tidal heating of Io).
Distance inside which tidal forces overcome a body's self-gravity and shred it into a debris/ring stream.
| Constant | Value | Meaning |
|---|---|---|
| scale | 0.06 | sim-unit Roche scaling |
Reference: Roche limit.
The star raises a tidal bulge on the planet; friction drags it off the star–planet line and the resulting torque pushes the spin toward synchronous rotation. The steep 1/r⁶ falloff is why only close-in planets ever lock.
Torque on the planet's spin ω, driving it toward the mean motion n; vanishes when ω = n (tidally locked). Q is the tidal dissipation quality factor. Molten / strongly tidally-heated worlds have a soft, lossy interior, so their torque is boosted (up to MoltenBoost×, ~3e-4 effective) and they lock fastest.
| Symbol | Value | Meaning |
|---|---|---|
| TorqueScale | 1e-4 | couples physical magnitude to sim time (close-in worlds lock in a few hundred Myr) |
| factor | 3 | tidal-torque prefactor |
| MoltenBoost | 3.0 | extra torque on molten / tidally-heated worlds (~3e-4 effective) |
Reference: Tidal locking and tidal acceleration (Q = tidal quality factor).
Q is the inverse efficiency of tidal dissipation (torque ∝ 1/Q): small Q (molten) locks fast, huge Q (gas giants) barely changes spin. The body type is inferred from mass/state, Q is suppressed when young (hot, soft interior) and relaxes upward as the planet ages and cools, and far-out rocky worlds get an extra Q multiplier so locking effectively switches off beyond the close-in zone (matching the 1/r⁶ reality). On an eccentric orbit there is no single synchronous spin, so the orbit must circularize first — damping is stronger close-in and at high e. The spin update is integrated in sub-steps so a large tick approaches synchronous smoothly without overshooting.
| Symbol | Value | Meaning |
|---|---|---|
| Q molten | 3 | molten / volcanic rocky worlds — lock fastest |
| Q rocky | 18 | Earth-like rocky worlds (~12; 15–20) |
| Q ice giant | 1200 | ice giants — locking very slow |
| Q gas giant | 12000 | gas giants — effectively never lock |
| EccDampRate | 2e-6 | base eccentricity damping per tick (×(1+2e) at high e) |
Reference: tidal circularization and the tidal quality factor Q by body type.
A conserving accounting of where a core-collapse supernova's mass goes. The progenitor splits into eight physical sinks plus the compact remnant; their sum equals the progenitor mass, so strict baryonic conservation is never violated.
Sinks 1–4 stay as baryons (return to the interstellar medium); sinks 5–7 leave forever as mass-energy.
| Sink | Fate | Meaning |
|---|---|---|
| Ejecta | baryon → ISM | plasma shells swept into the medium |
| MetalYield | baryon → ISM | new heavy elements (O, C, Si, Fe/Ni) |
| Dust | baryon → ISM | grains condensing from cooling ejecta |
| CosmicRays | radiated | shock-accelerated nuclei that leave |
| NeutrinoLoss | radiated | neutrino burst (bulk of the energy) |
| PhotonLoss | radiated | radiated light (visible explosion) |
| GravitationalWaveLoss | radiated | GW emission from asymmetric collapse |
| RemnantMass | bound | compact object left behind (NS/BH) |
| Symbol | Value | Meaning |
|---|---|---|
| conservation tolerance | 1e-6 | max allowed accounting drift |
Reference: Core-collapse supernova and conservation of mass-energy.
Entangled black holes (ER=EPR) connect via a throat that stays open only while enough exotic (negative) Casimir energy is available.
Negative vacuum energy between throat walls a distance d apart props the throat open; the wormhole is traversable while the exotic-energy budget stays above the threshold.
| Symbol | Value | Meaning |
|---|---|---|
| CasimirCoeff | 4.0e6 | Casimir energy coefficient |
| ExoticThreshold | 0.35 | min exotic energy to stay open |
Reference: ER=EPR conjecture, the Casimir effect, and traversable wormholes.
Tunable bounds and population caps for the server-authoritative engine. Not physical laws, but the parameters the physics runs inside. The mass budget and runtime profile are read from appsettings.json (the Simulation section) so they can be changed without recompiling.
| Symbol | Value | Meaning |
|---|---|---|
| Width × Height | 1280 × 720 px | world bounds (mirror canvas size) |
| MaxGalaxies | 100 | hard cap on galaxies across clusters |
| Max_Mass | 250000 | total baryon+dark mass budget stamped onto Universe.MassTotal at the Big Bang (Simulation:MaxMass in app config) |
| SimulationProfile | LongRun24x7 | runtime profile (Scientific = unconstrained emergence; LongRun24x7 = bounded-population guardrails, seeded from Simulation:Profile at startup) |
| PlanetInnerOrbit | 40.0 px | inner-orbit threshold for stellar-death exposure |
| MatterStreamCap | 1400 | max accretion-debris particles |
| MatterParticlesPerEvent | 24 | debris particles per disruption event |
| RogueCaptureRadiusFactor | 1.6 | rogue-planet capture radius factor |
| RogueCaptureMaxSpeed | 1.4 | max speed for rogue capture |
| RogueHitStar | 4.5 | rogue-into-star collision radius |
Simulation tuning parameters (no external reference) — engine bounds and population caps.
One process-wide SimulationRuntime owns the single server-authoritative universe: it holds the Universe aggregate (all mass, galaxies, stars, planets and the conserved MassTotal), its quantum-seeded RNG and event log, advances the world on the hosted tick loop, and serialises every interaction (tick, snapshot, and client commands) through one lock. Its SimConfig is bound from the Simulation section of appsettings.json at startup, so two settings are established before the first frame: Max_Mass is stamped onto Universe.MassTotal at the Big Bang and split into the ΛCDM dark-energy / dark-matter / baryon budget (only baryons form objects), and SimulationProfile is applied via SetSimulationProfile so a LongRun24x7 selection also enables the public-performance preset and hides the profile selector in the sidebar. Because the mass budget is fixed once at the Big Bang and never changes, mass is conserved for the whole lifetime of a universe.
Engine composition / configuration wiring (no external reference) — SimulationRuntime + Universe + SimConfig.
Beyond the N-body entities, the engine runs a structure-of-arrays gas grid through a unified UniversePhysicsPipeline every tick. Ten field-based modules execute in a fixed, physically-ordered sequence and feed one another: hydro moves gas → MHD / radiation / cosmic rays act on it → chemistry enriches it → the ISM classifies its phases → disks transport angular momentum → stars form → feedback injects energy → neutrinos fire during core collapse. These are the same realism domains used by modern astrophysical codes (AREPO, GIZMO, IllustrisTNG, EAGLE), implemented here as fast, qualitative sim-unit models.
Every module operates on the shared ContinuumState grid and reads one ideal-gas equation of state, so all consumers see a consistent thermodynamic state. Modules are dependency-injected as IPhysicsModule and ordered by PhysicsOrder.
| Symbol | Value | Meaning |
|---|---|---|
| γ (gas) | 5/3 | adiabatic index (monatomic gas) |
| μ | 0.6 | mean molecular weight (ionised H/He) |
| a_rad | 1.0e-3 | radiation constant (sim units) |
| Z_☉ | 0.014 | solar metallicity reference |
| γ_cr | 4/3 | cosmic-ray (relativistic) adiabatic index |
Reference: ideal-gas EOS and grid-based computational astrophysics.
The gas grid is not a passive backdrop — it is driven directly from the N-body engine every tick and feeds back into it, so structure formation is genuinely hydrodynamic. Inside CosmosSimulation.Tick() (under the simulation lock) the engine first deposits the entity mass distribution onto the gas density field, so the solver sees where the baryons actually are; cooling, shocks, turbulence and angular-momentum transport then act on those overdensities. Stellar deaths and accreting black holes register point feedback sources (supernovae, AGN) and core-collapse events that the feedback and neutrino modules consume. The coupling is fully two-way for magnetism too: each black hole samples the local MHD field the gas solver evolves, so magnetorotational stresses boost its accretion and a spinning, magnetised hole drives a Blandford–Znajek jet whose power is injected back as extra AGN feedback. When the grid cools gas past the star-formation threshold it raises a request that the engine realises as a lightweight collapsing protogalaxy at that site, funded conservatively from the shared baryon budget; gas the grid returns (ejecta, evaporated clouds) is credited back. The whole loop is mass-conserving and tuned to evolve gradually.
The pipeline is driven exactly once per tick by the engine itself (the legacy reflection-based auto-driver is retired), guaranteeing the feedback / core-collapse / star-formation channels are populated from live engine state rather than left empty.
Reference: galaxy formation & evolution and cooling-driven / triggered star formation.
A simplified compressible Navier–Stokes solver: operator-split EOS → shock heating → pressure force + shear viscosity → semi-Lagrangian advection → radiative cooling → floors. It produces the density/pressure/temperature fields every other module consumes, and triggers gravitational collapse into stars.
Gas accelerates down its pressure gradient with a viscous diffusion term; convergent flow (∇·v < 0) is irreversibly heated by von Neumann–Richtmyer artificial viscosity, reproducing SN blast shells and accretion shocks.
| Symbol | Value | Meaning |
|---|---|---|
| ν (ShearViscosity) | 0.05 | Navier–Stokes shear diffusion |
| DensityFloor | 1.0e-4 | minimum gas density (stability) |
Reference: Navier–Stokes equations and artificial viscosity (von Neumann–Richtmyer shock capturing).
A three-channel cooling curve Λ(ρ,T,Z) — molecular (low-T), atomic (Lyman-α bump ~10⁴) and metal-line (∝ Z) — removes thermal energy (∝ n²). Cooling lowers pressure support until a cell exceeds its Jeans length and collapses, feeding star formation.
| Symbol | Value | Meaning |
|---|---|---|
| FloorTemperature | 3.0 | CMB-like cooling floor |
| AtomicPeak | 1.0e4 | atomic (H/He) cooling-bump centre |
Reference: radiative cooling function, the Jeans instability, and free-fall time.
Magnetic field vectors are advected with the gas (flux freezing), exert magnetic pressure, brake rotation, and snap/reconnect where the field becomes too tangled — releasing energy into the gas.
In the ideal limit field lines are frozen into the flow; a finite resistivity η lets them diffuse and reconnect when |∇×B| exceeds a threshold, converting magnetic energy to heat. Magnetic pressure P_B = B²/2 resists compression, and magnetic braking removes angular momentum.
| Symbol | Value | Meaning |
|---|---|---|
| η (Resistivity) | 0.02 | reconnection / field diffusion |
| ReconnectionThreshold | 0.5 | |curl B| above which fields snap |
| BrakingEfficiency | 0.01 | magnetic-braking torque coupling |
| MaxField | 50.0 | field-strength clamp (stability) |
Reference: magnetohydrodynamics, flux freezing, magnetic reconnection, and magnetic braking.
The field the gas solver evolves is not confined to the grid — the N-body black holes feel it too. Each tick a hole samples the local magnetic energy density u_B = ½|B|² at its position (bilinear sampling, matching the flux-frozen advection). Two effects follow. (1) Magnetorotational instability (MRI): magnetic stresses transport angular momentum outward in the disk, removing the centrifugal barrier so gas accretes faster — a small, saturating boost to the accretion rate that can tip a hole into the active/quasar regime. (2) Blandford–Znajek jets: a spinning, magnetised Kerr hole extracts rotational energy electromagnetically, with luminosity P_BZ ∝ a²·B². The jet power is stored on the hole (exposed in snapshots) and injected on top of the AGN feedback. With no field — or a non-spinning (Schwarzschild) hole — both terms vanish and behaviour is unchanged.
| Symbol | Value | Meaning |
|---|---|---|
| η_BZ (JetBlandfordZnajekEfficiency) | 0.05 | overall Blandford–Znajek jet scale |
| M_ref (JetMassReference) | 100.0 | mass at which the jet mass term ≈ ½ |
| P_max (JetMaxPower) | 50.0 | jet-power clamp (stability) |
| ε_MRI (MriTorqueEfficiency) | 0.15 | max fractional accretion boost per tick |
| u_sat (MriSaturationEnergy) | 4.0 | u_B at which the MRI boost saturates |
Reference: Blandford–Znajek process (spin-powered relativistic jets) and the magnetorotational instability (disk angular-momentum transport).
Photon energy diffuses through the gas under an opacity law, exerts radiation pressure on dense regions, and drives ionization fronts. A global reionization-epoch toggle floods the medium with an ionizing background. The sources are not abstract: N-body stars and accreting black holes deposit their luminosity into this field every tick.
Radiation is transported in the diffusion (flux-limited) approximation with opacity κ = electron-scattering (grey) + Kramers (free-free / bound-free, ∝ ρT⁻³.⁵). Where ionizing flux beats recombination, an ionization front advances; radiation pressure pushes on the gas.
| Symbol | Value | Meaning |
|---|---|---|
| ElectronScattering | 0.02 | grey (Thomson) opacity floor |
| KramersCoefficient | 1.0e3 | Kramers opacity normalisation |
| IonizationThreshold | 0.5 | flux needed to ionize a cell |
| α_rec (Recombination) | 0.02 | recombination rate coefficient |
| PressureCoupling | 1.0 | radiation-pressure strength |
| ReionizationFloor | 0.6 | background x_HII once reionised |
Reference: radiative transfer, Kramers’ opacity law, radiation pressure, and the reionization epoch.
The radiation field is two-way coupled to the N-body entities, not just the gas. Stars feed it: each tick a star injects a fraction of its Eddington-limited luminosity as a radiation-pressure source (see Eddington limit & radiation coupling), so populations of stars build up the diffuse radiation background, push ionization fronts outward and contribute to reionization — alongside the AGN and supernova sources. Planets read it: a planet samples the local radiation energy density E_r and Rosseland opacity κ at its position (bilinear sampling, matching the diffusion solver) to drive an opacity-based atmospheric greenhouse and an ambient-radiation heating term (see radiation-coupled surface temperature). The deposit happens before the radiation module runs, so sources are consumed the same tick; planets read the previous tick's field (one-tick lag), matching the explicit coupling used elsewhere. With no gas grid attached every coupling cleanly degrades and entity behaviour is unchanged.
Reference: H II regions (stellar ionizing radiation), reionization, and stellar feedback.
A relativistic (γ_cr = 4/3) non-thermal particle fluid injected by supernovae. Cosmic rays are fully propagated, not just generated: they diffuse largely independently of the gas (faster along magnetic field lines), exert their own pressure that drives smooth galactic winds, heat dense shielded gas that photons cannot reach, and raise the effective Jeans threshold so they regulate star formation. All four feedback channels — pressure, winds, heating and SF regulation — are live.
Cosmic rays scatter off magnetic irregularities and diffuse (anisotropically when MHD is active). Their pressure P_cr = (γ_cr−1)E_cr adds a non-thermal force −(1/ρ)∇P_cr that is applied to the gas momentum every tick (driving smooth large-scale winds without radiating away like heat), they deposit energy as the dominant heating channel deep inside molecular clouds, and that same P_cr feeds into the star-formation support term (CrSupport·P_cr/ρ) to suppress runaway collapse.
| Symbol | Value | Meaning |
|---|---|---|
| Diffusivity | 0.4 | baseline CR diffusion coefficient |
| FieldAlignmentBoost | 2.0 | faster diffusion along strong B |
| HeatingEfficiency | 0.05 | fraction of CR energy → gas heat |
| InjectionEfficiency | 0.1 | fraction of SN energy → cosmic rays |
Reference: cosmic rays and cosmic-ray feedback / transport (diffusion, pressure, heating).
Tracks the metal mass fraction Z of the gas. Supernovae return newly-synthesised metals to the ISM via yield tables; the enriched gas then cools faster (metal-line cooling), seeds dust, and births metal-richer stars — closing the stars → metals → gas → next-gen stars loop end-to-end.
Each cell carries a composition (H, He, metals). When stars die, a fraction of the processed mass is injected as metals, raising Z. Higher Z strengthens the metal-line branch of the cooling curve consumed by the hydro module.
| Symbol | Value | Meaning |
|---|---|---|
| BaseYieldFraction | 0.1 | fraction of stellar mass returned as metals |
| Z_☉ | 0.014 | solar metallicity normalisation |
Reference: metallicity, stellar nucleosynthesis (supernova yields), and galactic chemical evolution.
The metal field above is wired all the way through the entity layer, so the loop closes both ways. Stars carry a metallicity Z: gas the grid has enriched seeds new clouds, those clouds promote into galaxies and birth stars that inherit the local Z, and when those stars die their supernova feedback reports their real progenitor Z to the yield table (no longer 0). While a star lives, it also mixes a small fraction of the surrounding enriched gas into its envelope each tick, so its Z drifts toward the local interstellar value rather than staying frozen at birth. Z is clamped to a super-solar ceiling so a single hot cell can't spike it.
| Symbol | Value | Meaning |
|---|---|---|
| EnrichmentRate | 0.02 | fraction of the star–gas metallicity gap closed per tick (one-sided, only raises Z) |
| Z_cap | 0.1 | hard ceiling on a star's metal mass fraction |
Reference: galactic chemical evolution and stellar populations (Pop III → II → I enrichment sequence).
Each gas cell is classified into a canonical ISM phase by temperature and density. Cooling condenses warm gas into the cold molecular phase; shocks and feedback evaporate/ionize it back to hot. Dust grains form from metals, shield cold cores, and are sputtered away in hot gas.
The five phases — cold molecular, warm neutral, hot ionized, coronal, and the dust component — relax toward a multi-phase pressure equilibrium. Dust tracks (and lags) the metal field, catalyses H₂ formation, and blocks radiation (shielding ∝ 1/(1+ρ_dust)).
| Symbol | Value | Meaning |
|---|---|---|
| MolecularTemp | 100.0 | cold-molecular upper temperature |
| WarmTemp | 1.0e4 | warm/hot boundary temperature |
| HotTemp | 1.0e6 | hot/coronal boundary temperature |
| MolecularDensity | 3.0 | min density for the cold phase |
| CoronalDensity | 0.1 | coronal gas is hot AND tenuous below this |
| DustToMetalRatio | 0.4 | fraction of metals locked in grains |
| SputteringTemp | 1.0e6 | grains destroyed above this T |
Reference: phases of the interstellar medium and interstellar dust (grain growth & sputtering).
Phases are not static labels — they evolve. Dust grains grow toward a metal-set equilibrium and are thermally sputtered in hot gas, while a condensation operator drives dense warm gas down onto the cold molecular phase. Because dust shields the gas, dusty cells cool and condense faster, so the warm→cold transition feeds the cold molecular reservoir that the star-formation module turns into stars — closing the dust–cooling–SF loop.
| Symbol | Value | Meaning |
|---|---|---|
| GrowthRate | 0.05 | rate metals accrete onto grains toward equilibrium |
| SputteringRate | 0.2 | rate grains are destroyed in hot (> SputteringTemp) gas |
| CondensationRate | 0.1 | rate dense warm gas condenses onto the cold phase |
Reference: molecular-cloud formation via dust-shielded condensation, feeding star formation.
Shakura–Sunyaev α-disk viscosity transports angular momentum outward so mass can accrete inward. The same machinery now runs at the entity level too: it spins stars up (accretion) and down (magnetic braking), conserves angular momentum as protogalaxies collapse, and bleeds a little ordered rotation out of formed galaxy discs every tick.
The effective kinematic viscosity ν = α·c_s·H drives radial drift and sets the viscous time r²/ν. On the gas grid it acts as a shear-diffusion of angular momentum; the SpinEvolutionModel / AccretionDiskModel helpers behind it are wired into the live engine in CosmosSimulation.AngularMomentum.
| Symbol | Value | Meaning |
|---|---|---|
| α (disk) | 0.1 | dimensionless viscosity parameter |
| BrakingCoefficient | 0.01 | magnetic-braking spin-down rate |
| StellarBrakingScale | 0.25 | per-tick scale on stellar magnetic braking |
| f_acc (star) | 0.5 | share of accreted specific L that spins a star up |
| GalaxyBrakingPerTick | 2.0e-5 | fractional disc spin lost per tick (floored) |
| Ω₀ (protogalaxy) | 0.01 | pre-collapse seed spin (rad/tick) conserved on contraction |
Reference: the Shakura–Sunyaev α-disk model and accretion-disk viscosity / angular-momentum transport.
Cold, dense, Jeans-unstable gas converts to stars at a rate set by the free-fall time and an efficiency per free-fall (the Kennicutt–Schmidt picture). Thermal, turbulent, magnetic and cosmic-ray pressure all support the gas against collapse and suppress the rate; only gas below a temperature ceiling participates. Each flagged cloud then fragments at the formation site into an IMF-sampled star cluster, with the remainder collapsing as a protogalaxy.
A cell forms stars when its density exceeds a threshold, it is colder than the ceiling, and self-gravity beats its total non-thermal support. The effective stabilising speed adds thermal, turbulent, magnetic and cosmic-ray pressure in quadrature, so the Jeans test reflects every pressure that resists collapse. The star-formation rate scales as ε_ff·ρ/t_ff; formed mass is requested back from the entity engine as a star-forming cloud.
| Symbol | Value | Meaning |
|---|---|---|
| DensityThreshold | 5.0 | ρ above which gas can collapse |
| ε_ff (Efficiency) | 0.02 | star-formation rate per free-fall time |
| TemperatureCeiling | 200.0 | only cold gas forms stars |
| TurbulenceSupport | 1.0 | turbulent-pressure suppression scaling |
| CrSupport | 1.0 | cosmic-ray pressure (P_cr/ρ) suppression scaling |
Reference: the Kennicutt–Schmidt star-formation law and the physics of star-forming regions (Jeans collapse + free-fall efficiency, with magnetic & cosmic-ray pressure support).
When the grid flags a star-forming cell, the cooled cloud doesn't become a single object: a fraction of it is fragmented at the formation site that same tick into a cluster of stars whose masses follow a bottom-heavy initial mass function (the same Salpeter-like law the engine uses everywhere), and only the leftover gas keeps collapsing as a protogalaxy. Each draw's upper bound is the remaining cloud mass, so the cluster self-limits — early massive stars leave less behind, naturally yielding many low-mass and few high-mass stars. Stars are placed at or above the hydrogen-burning minimum (sub-stellar fragments can't ignite, so their mass stays in the gas), and mass is conserved exactly: cloud = stars + protogalaxy gas + refunded remainder.
| Symbol | Value | Meaning |
|---|---|---|
| γ (ImfExponent) | 3.5 | IMF power-law index (higher ⇒ more bottom-heavy) |
| m_min | 20.0 | hydrogen-burning minimum — lightest star that can ignite |
| f_prompt (PromptStarFraction) | 0.6 | share of the cloud fragmented into stars now |
| N_max (MaxFragments) | 12 | cap on stars made per request (keeps the tick bounded) |
| Scatter | 6.0 px | positional spread of the new cluster around the site |
Reference: the initial mass function (Salpeter / Kroupa) and star-cluster formation from fragmenting molecular clouds.
The self-regulation loop: young stars and accreting black holes inject energy and momentum back into the gas through stellar winds, radiation pressure, supernova blast waves and AGN jets. AGN coupling is explicit — an accreting hole's power into the gas is its accretion luminosity plus the Blandford–Znajek jet luminosity, so the jet actively regulates the surrounding medium. This drives outflows, blows gas out of dense regions, and quenches runaway cooling/star formation — the high-mass analogue of supernova feedback that keeps galaxies from over-producing stars.
Each feedback source deposits a mix of thermal and kinetic energy over a small radius. Supernovae drive roughly spherical blast shells; AGN couple a fraction of accretion power into a narrow bipolar jet that launches outflows and bubbles. Together they regulate the gas reservoir (blowout → quenching → starburst suppression).
| Symbol | Value | Meaning |
|---|---|---|
| SN BlastRadius | 2.0 cells | supernova blast-shell radius |
| SN KineticFraction | 0.3 | SN energy delivered as kinetic |
| AGN JetFraction | 0.4 | accretion power coupled to the jet |
| AGN Radius | 3.0 cells | AGN coupling radius |
Reference: stellar feedback, AGN feedback, and galactic winds / outflows (galaxy self-regulation & quenching).
The power an accreting hole hands to the gas each tick is not just its accretion luminosity — the magnetically-powered jet is coupled in explicitly. When a hole is classified active or quasar, the engine emits a single AGN FeedbackSource whose power is the sum of two terms: (1) an accretion term proportional to the feed rate Ẑ_acc, scaled up 2.5× in the brighter quasar state; and (2) the Blandford–Znajek jet luminosity P_BZ the MHD coupling computed from the hole's spin and the local magnetic energy. That combined power is then split by the AGN channel into a thermal halo (heats a small sphere, suppressing cooling) and a bipolar kinetic jet (launches outflows/bubbles along the axis). So the jet you already had is now a first-class regulator of the surrounding gas, not just a visual on the hole.
| Symbol | Value | Meaning |
|---|---|---|
| AgnFeedbackPower | 0.6 | accretion-power → gas coupling coefficient |
| Quasar boost (s) | 2.5× | quasar-mode multiplier vs. the weaker active state |
| AGN JetFraction | 0.4 | share of P_AGN delivered as the bipolar kinetic jet |
| η_BZ (JetBlandfordZnajekEfficiency) | 0.05 | Blandford–Znajek jet scale (P_BZ, see MHD) |
| P_max (JetMaxPower) | 50.0 | jet-power clamp applied to P_BZ before coupling |
Reference: AGN feedback (quasar & radio/jet modes) and the Blandford–Znajek process (spin-powered jets dumping energy into the medium).
Core collapse releases the progenitor’s gravitational binding energy as a neutrino burst (E_ν ∝ GM²/R). A small fraction couples back into the surrounding gas as a neutrino-driven wind that helps launch the explosion, while thermal neutrino cooling drains energy directly from the hottest, densest remnant gas — bypassing the optically-thick photon channel.
The burst radiates over a few ticks (so the wind is not instantaneous) with a ~10–20 MeV thermal spectrum. A fraction (HeatingFraction) of the ν luminosity couples into the gas within a small radius above the proto-neutron star as ν heating — depositing thermal energy and a radial kinetic push that unbinds the overlying gas and drives the outflow (the shock-revival mechanism). Neutrino cooling follows a steep pair-process scaling (∝ T⁹) above a temperature threshold, the dominant cooling channel for proto-neutron stars.
| Symbol | Value | Meaning |
|---|---|---|
| MeanEnergy | 15.0 MeV | thermal ν spectrum (~10–20 MeV) |
| BurstDuration | 3.0 ticks | ticks over which the burst radiates |
| HeatingFraction | 0.01 | fraction of ν luminosity coupled into the wind |
| WindRadius | 2.0 cells | gain-region radius the ν wind acts over |
| CoolingThreshold | 1.0e6 | T above which ν-cooling switches on |
Reference: supernova neutrinos, the neutrino-driven wind, and neutrino cooling of proto-neutron stars.
Alongside the gas grid, each SolarSystem runs an entity-side PlanetarySystemsPipeline that grows planets from a protoplanetary disc and then sculpts their orbits. Four stages execute in a fixed, physically-ordered sequence every tick: formation (the disc evolves while cores and gas envelopes accrete) → migration (disc torques move planets and damp their e/i) → resonances (capture into mean-motion resonances, libration, secular & Kozai–Lidov cycles) → multi-planet dynamics (a WHFast symplectic integrator plus chaos / stability analysis). These are the realism domains of dedicated planet-formation and N-body codes (REBOUND, GENGA, mercury/SyMBA, FARGO), implemented here as fast, qualitative sim-unit models.
A per-system ProtoplanetaryDisc (a radial array of annuli) is created lazily and retained in a ConditionalWeakTable keyed on the SolarSystem, so it is garbage-collected with the system. The formation and migration stages require live gas and naturally fall idle once the disc photoevaporates below its dispersal floor; the resonance and multi-planet stages then take over and shape the gas-free system for the rest of its life. The pipeline runs after the entity planet/tidal update (so masses and orbits are current) and before the continuum drive, inside CosmosSimulation.Tick() under the simulation lock.
All stages update UniverseState in place: planet core/envelope/total mass, orbital radius & speed, eccentricity, inclination, ascending node, migration rate/regime, gap depth, and resonance state (partner, p:q, resonant argument, libration amplitude). Throttled diagnostics log resonance capture/breaking and the onset of dynamical chaos to the event log.
Reference: nebular hypothesis / planet formation and N-body simulation of planetary systems.
The planetary layer now runs an explicit PlanetFormationRegulationPipeline around formation to prevent runaway mass creation. Before growth, disc mass and lifetime are clamped to realistic protoplanetary ranges; during growth, pebble/planetesimal conversion is throttled; after growth, per-disc caps, destruction channels, and conservation checks run. This is why discs cannot produce unlimited planets: every stage is constrained by finite source reservoirs and tracked sinks.
| Regulation control | Current bound | Purpose |
|---|---|---|
| DiscMassFraction | 0.1%–1.0% of host-star mass | limits initial reservoir for planet growth |
| DiscLifetime | 1–10 Myr | shuts down gas-assisted growth in finite time |
| PlanetesimalEfficiency | 1%–3% | enforces inefficient solids-to-planetesimal conversion |
| MaxSolidToPlanetFraction | 45% | caps how much disc solids can become planets |
| CosmicBaryonFraction | 0.158 | keeps planetary sinks inside global baryon limits |
Reference: observational protoplanetary-disc demographics, pebble-accretion limits, and mass-conservation constraints in coupled N-body + disc models.
The birthplace of planets: a Minimum-Mass-Solar-Nebula-like disc with a power-law gas surface density and temperature, a Shakura–Sunyaev α-viscosity that spreads and drains the gas, and a dust population that grows into pebbles and drifts inward. Pressure maxima (bumps) trap solids and halt migration.
Gas surface density and mid-plane temperature follow power laws in radius; the scale height, sound speed and orbital frequency set the disc thermodynamics. The turbulent α converts to a kinematic viscosity ν = α c_s H that drives viscous spreading (Lynden-Bell & Pringle) and exponential photoevaporative dispersal.
| Symbol | Value | Meaning |
|---|---|---|
| RadialBins | 64 | number of logarithmic radial annuli |
| InnerRadius | 6.0 px | inner truncation (magnetospheric cavity / sublimation edge) |
| OuterRadius | 1200.0 px | outer disc radius |
| p (SigmaSlope) | 1.0 | gas surface-density power-law slope |
| q (TemperatureSlope) | 0.5 | temperature power-law slope (irradiated disc) |
| α | 4.0e-3 | Shakura–Sunyaev turbulence parameter |
| DispersalTime | 3.0e5 | e-folding disc lifetime (photoevaporation) |
| DispersalFloor | 0.02 | gas-mass fraction below which the disc is gone |
Reference: the minimum-mass solar nebula, the Shakura–Sunyaev α-disc, and viscous disc evolution.
Grains coagulate toward a fragmentation/drift barrier; their aerodynamic coupling is measured by the Stokes number. Because the gas is pressure-supported and sub-Keplerian, solids feel a headwind and spiral inward fastest at St ~ 1 — the radial-drift barrier — unless a local pressure maximum (bump) cancels the gradient and traps them.
| Symbol | Value | Meaning |
|---|---|---|
| DustToGas | 0.012 | initial dust-to-gas mass ratio (~Solar Z) |
| MaxGrainSize | 1.0 | fragmentation/drift-barrier pebble size |
Reference: dust-grain growth and the radial-drift barrier in protoplanetary discs.
Solids assemble into planets through runaway and oligarchic planetesimal growth, then rapid pebble accretion onto the growing cores. A core that exceeds a critical mass while gas remains undergoes runaway gas-envelope accretion and becomes a giant; smaller cores stall at their isolation mass as rocky/icy worlds.
Below the oligarchic mass, gravitational focusing makes the biggest body grow fastest (runaway); above it, embryos grow in lockstep (oligarchic) until they sweep their feeding zone and reach the isolation mass. Pebble accretion is much faster: pebbles settling through the Hill sphere are captured efficiently until the core reaches the pebble-isolation mass and carves a pressure bump that shuts off the flux.
| Symbol | Value | Meaning |
|---|---|---|
| PebbleEfficiency | 0.5 | fraction of drifting pebbles a core captures |
| PlanetesimalRate | 1.0 | global solid-accretion-rate multiplier |
| OligarchicMass | 0.1 M⊕ | mass dividing runaway from oligarchic growth |
| CoreDensity | 3.0 | bulk density (mass → radius conversion) |
Reference: planetary accretion, pebble accretion, and the isolation mass.
Pebble growth is now capped by flux limits, turbulence damping, pressure-trap bottlenecks, sublimation zones and fragmentation losses; planetesimal growth is gated by streaming-instability thresholds and low conversion efficiency. After accretion, unstable planets are removed via migration infall, scattering/ejection, resonant-chain collapse, tidal/Kozai-assisted infall, and mergers. These sinks are essential to avoid over-retaining mass in long-lived packed systems.
| Control | Bound | Meaning |
|---|---|---|
| PebbleFluxCapFractionPerYear | 0.15 | maximum pebble throughput into cores per year |
| StreamingInstabilityThreshold | dust/gas ≥ 0.02 | minimum local solids loading for planetesimal formation |
| TurbulenceGrowthDampingFloor | 0.05 | minimum damping factor under strong turbulence |
| MaxPlanetGrowthFractionPerStep | 0.08 | per-step throttle from remaining disc solids |
Reference: streaming instability, radial drift / fragmentation limits, and migration-driven loss channels.
While subcritical, a core binds a slowly-contracting gas envelope whose growth is throttled by Kelvin–Helmholtz cooling. Once the core (plus envelope) passes the critical core mass, the envelope can no longer stay in hydrostatic balance and gas pours on in a runaway, building a gas giant up to the gap-limited supply.
| Symbol | Value | Meaning |
|---|---|---|
| CriticalCoreMass | 10.0 M⊕ | core mass triggering runaway gas accretion |
| MaxEnvelopeMass | 3000.0 M⊕ | gap-limited envelope-mass ceiling |
Reference: the core-accretion model and giant-planet formation (runaway gas accretion).
An embedded planet exchanges angular momentum with the disc and migrates. Low-mass planets feel Lindblad and corotation torques (Type I, usually inward); massive planets open a gap and migrate on the viscous timescale (Type II); intermediate planets with a strong co-orbital mass deficit can migrate explosively fast (Type III).
The differential Lindblad torque is typically negative (inward) and scales with planet mass squared and the local disc surface density. The corotation torque (from gas executing horseshoe turns) is positive and depends on the surface-density/temperature gradients; it can reverse the net migration in regions of steep gradients, but saturates unless viscosity refreshes the horseshoe region.
| Symbol | Value | Meaning |
|---|---|---|
| RateScale | 1.0 | global migration-speed multiplier |
| TypeICoefficient | 2.7 | Lindblad torque normalisation |
| CorotationStrength | 1.1 | corotation torque relative to Lindblad |
| CorotationSaturation | 1.0 | level above which corotation torque saturates |
Reference: Type I migration and Lindblad / corotation torques.
A planet opens a gap when its Hill radius rivals the disc scale height and its tidal torque beats viscous refilling (Crida criterion). It then drifts with the viscous accretion flow, slowed when it dominates the local disc mass. If a partial gap leaves a large co-orbital mass deficit, the feedback between drift and the asymmetric horseshoe flow runs away — fast Type III migration, inward or outward.
| Symbol | Value | Meaning |
|---|---|---|
| TypeIIICoefficient | 4.0 | runaway (Type III) migration strength |
| TypeIIITriggerDeficit | 0.5 | co-orbital mass-deficit fraction to trigger runaway |
| InnerEdge | 6.0 px | disc inner edge where migration halts (planet trap) |
Reference: Type II and Type III migration, and the gap-opening (Crida) criterion.
Convergent migration captures planet pairs into mean-motion resonances (2:1, 3:2, 4:3…), where a resonant argument librates instead of circulating. Slower secular interactions exchange eccentricity and inclination and precess the orbits, while a distant inclined perturber can drive large Kozai–Lidov cycles.
When two planets' periods approach a ratio of small integers, the resonant argument φ stops circulating and oscillates (librates) about a fixed centre — the pair is locked and migrates together. Resonant forcing pumps the eccentricities; if the libration amplitude or eccentricity grows too large (overlap, perturbation), the lock breaks and φ circulates again.
| Symbol | Value | Meaning |
|---|---|---|
| CaptureWindow | 0.02 | max period-ratio offset for capture |
| BreakAmplitude | 2.83 rad (~0.9π) | libration amplitude that breaks the lock |
| BreakEccentricity | 0.3 | eccentricity that breaks the lock |
| RestoringStrength | 0.5 | pendulum restoring torque driving libration |
| EccentricityPumping | 1.0e-4 | per-tick resonant eccentricity forcing |
Reference: mean-motion resonance and resonance capture by convergent migration.
Away from resonance, the orbit-averaged (secular) interaction precesses the apsides and nodes and exchanges eccentricity/inclination among planets (Laplace–Lagrange theory). A distant, highly-inclined perturber (a wide binary companion or a far giant) drives Kozai–Lidov cycles: above the critical inclination the torque conserves L_z = √(1−e²)·cos i, so falling inclination is traded for rising eccentricity — a channel to extreme e (hot-Jupiter migration, tidal capture, collisions).
| Symbol | Value | Meaning |
|---|---|---|
| i_crit (CriticalInclination) | 0.6847 rad (~39.2°) | inclination above which KL cycles switch on |
| MaxEccentricity | 0.95 | eccentricity the KL cycle is capped at |
Reference: secular dynamics, Laplace–Lagrange theory, and the Kozai–Lidov mechanism.
The mature, gas-free system is integrated with a Wisdom–Holman (WHFast) symplectic scheme that conserves energy and angular momentum over long timescales, so resonances and slow chaos are followed faithfully. The Chirikov resonance-overlap criterion and Hill-stability bounds diagnose when a tightly-packed system will diffuse into instability.
The long-term integrator is selectable: the default Wisdom–Holman (WHFast) symplectic scheme conserves energy/angular momentum over millions of orbits (ideal for resonances and slow chaos), while a cheaper velocity-Verlet leapfrog is available for faster runs. Each pair of planets is surrounded by a web of resonances whose widths grow with planet mass; when neighbouring resonances overlap (Chirikov), orbits wander chaotically and the elements random-walk (chaotic diffusion), ultimately driving orbital crossing and ejection. The overlap parameter scales as the mass ratio to the 2/7 power over the separation in mutual Hill radii; closely-spaced or massive planets are chaotic, widely-spaced low-mass ones are stable. A separation below ~2√3 mutual Hill radii is Hill-unstable. From the overlap the analyzer derives a Lyapunov time (the e-folding time of trajectory divergence; infinite when regular) and a coarse stable / metastable / chaotic verdict.
| Symbol | Value | Meaning |
|---|---|---|
| Integrator | Symplectic (velocity-Verlet | symplectic WHFast) | long-term N-body scheme (selectable via settings) |
| TimeStep | 0.5 (sim time / sub-step) | symplectic sub-step size (smaller = more accurate) |
| MaxSubSteps | 8 | cap on sub-steps per engine tick |
| Softening | 1 | regularises close planet–planet encounters |
| Δ_crit (two-planet) | 3.464102 R_H (2 sqrt3, two-planet bound) | below this a pair can cross (Hill-unstable) |
| Δ_crit (multi-planet) | 8 R_H (empirical multi-planet bound) | empirical long-term-stability separation |
| OverlapThreshold | 1.0 (Chirikov; >= ⇒ chaotic) | resonance-overlap value above which the system is chaotic |
| StabilityClass | Stable | Metastable | Chaotic | coarse long-term verdict per system |
| t_Lyapunov | 1 / diffusion rate (infinite when regular / non-chaotic) | e-folding time of trajectory divergence |
Reference: the Chirikov resonance-overlap criterion, Hill stability, the Wisdom–Holman symplectic integrator, and the Lyapunov time.
Most massive stars live in pairs, and their interaction rewrites their fate. A per-universe BinaryEvolutionPipeline detects every gravitationally bound pair and hierarchical triple, then advances them through a fixed, physically-ordered sequence each tick: tides (synchronisation & circularisation) → mass transfer (Roche-lobe overflow) → common envelope (when transfer runs away) → gravitational-wave inspiral (tight compact pairs) → mergers → binary supernovae (Type Ia, X-ray binaries, stripped-envelope Ib/Ic), with Kozai–Lidov triple dynamics last. These are the realism domains of dedicated binary-population codes (BSE, COSMIC, StarTrack, MESA-binary), implemented here as fast sim-unit models that mutate the live Star masses, orbits, remnant kinds, SN events and ISM enrichment in place.
Each pair of stars sharing a SolarSystem within the bound-separation limit becomes a BinarySystem; a nearby single star can be attached as the outer tertiary of a TripleSystem. Because detection re-runs every tick, a per-universe BinaryRegistry caches each pair (keyed on the unordered Star references) so its evolving orbit and accumulated state survive re-discovery. A triple is only retained if it is hierarchical — the inner and outer orbits must be well separated for the secular approximation to hold — tested with the Mardling–Aarseth stability criterion.
| Symbol | Value | Meaning |
|---|---|---|
| MaxBoundSeparation | 600 px | widest separation still treated as a bound pair |
| GiantAgeFraction | 0.9 | fraction of t_MS after which a star is a giant donor |
| M_WD ceiling | 80 | mass below which a dead low-mass star is a white dwarf |
| M_NS ceiling | 140 | mass below which a dead massive star is a neutron star (else BH) |
| StabilityMargin | 1 (Mardling-Aarseth a_out/a_in margin) | safety factor on the hierarchical-stability bound |
Reference: binary stars and the Mardling–Aarseth triple-stability criterion.
In a close pair each star raises a tidal bulge on the other. Equilibrium-tide (weak-friction) dissipation drives the stellar spins toward the orbital mean motion (synchronisation), damps the eccentricity toward zero (circularisation), and exchanges angular momentum between spin and orbit. The torque scales steeply with the radius-to-separation ratio, so tides matter only for tight binaries — exactly the ones that go on to transfer mass or merge.
| Symbol | Value | Meaning |
|---|---|---|
| Strength | 5.0e-3 | overall tidal dissipation rate (sim units) |
| SeparationExponent | 6 ((R/a)^n weak-friction) | steepness of the (R/a) falloff |
| RadiusScale | 6 | stellar-radius scale used in (R/a) |
| CircularizationFloor | 1.0e-3 | eccentricity below which circularisation stops |
Reference: tidal circularization and equilibrium-tide theory (Hut 1981).
Each star is bounded by its Roche lobe, the teardrop equipotential around it; the Eggleton formula gives the lobe radius from the mass ratio. When an evolving (expanding) star fills its lobe at pericentre, gas spills through the inner Lagrange point onto the companion — Roche-lobe overflow (RLOF). The transfer is stable if the donor shrinks inside its lobe at least as fast as the lobe shrinks (compared via the mass-radius exponents ζ_star vs ζ_L), giving steady, long-lived transfer; it is unstable (runaway) if the lobe shrinks faster, which triggers a common envelope. Transfer is non-conservative: the accretor takes only a fraction β of the offered mass (capped near an Eddington-like rate for compact objects), the rest leaves the system carrying away angular momentum, so the orbit responds (widening or shrinking) depending on the mass ratio.
| Symbol | Value | Meaning |
|---|---|---|
| RadiusScale | 6 | main-sequence stellar-radius scale |
| MassRadiusExponent | 0.7 (R ~ M^x) | main-sequence mass–radius slope |
| GiantInflation | 12x | radius boost for an evolved giant donor |
| FillTolerance | 0.02 | R/R_L band counted as “just filling” |
| TransferRateScale | 2.0e-3 | overall RLOF mass-transfer rate (sim units) |
| ζ_MS | 0.65 | mass-radius response of a main-sequence donor |
| ζ_giant | -0.3 | response of a convective giant (negative ⇒ unstable) |
| MaxFractionPerStep | 0.05 | cap on donor-mass fraction moved per tick |
| β (accretion eff.) | 0.5 (accretion efficiency) | fraction of offered mass actually accreted |
| MaxAccretionFraction | 0.02 (Eddington-like cap) | Eddington-like accretion ceiling for compact objects |
| LuminosityEfficiency | 1 | accretion-luminosity conversion efficiency |
Reference: Roche lobe (Eggleton 1983) and binary mass transfer.
When mass transfer is dynamically unstable, the companion is engulfed by the donor's giant envelope and the two cores orbit inside a shared envelope. Drag makes them spiral inward, and the released orbital energy is deposited into the envelope. In the energy (α–λ) formalism the envelope's binding energy is set by λ (its structure), and a fraction α of the orbital energy released during the inspiral is available to unbind it. If that energy exceeds the binding energy the envelope is ejected, leaving a much tighter detached binary (often a compact-object progenitor pair); if not, the cores merge before the envelope clears. This is the key step that hardens wide binaries into the close double-compact systems that later inspiral via gravitational waves.
| Symbol | Value | Meaning |
|---|---|---|
| α_CE | 1 (orbital energy efficiency) | efficiency of orbital energy in unbinding the envelope |
| λ | 0.5 (envelope structure) | envelope structure / binding-energy parameter |
| GiantEnvelopeFraction | 0.7 | fraction of a giant's mass that is envelope (vs core) |
Reference: common-envelope evolution and the α–λ energy formalism (Webbink 1984).
A pair merges when its pericentre falls below the sum of the stellar radii (driven there by tides, mass transfer, a failed common envelope, gravitational-wave decay, or a Kozai–Lidov eccentricity spike). The two stars collapse into one object, conserving momentum and shedding a small mass fraction to the ISM. The product is classified from the components' kinds: two main-sequence stars make a rejuvenated, over-massive blue straggler; a compact object sinking into a giant makes a Thorne–Žytkow object; two white dwarfs make a heavier WD (or detonate, see below); two neutron stars make a kilonova leaving a heavy NS or black hole; two black holes make a single larger black hole.
| Symbol | Value | Meaning |
|---|---|---|
| ContactFactor | 1 (pericentre / (R1+R2)) | pericentre / (R₁+R₂) below which the stars touch |
| MassLossFraction | 0.05 | fraction of total mass ejected during coalescence |
| M_Ch (WD merger) | 70 | Chandrasekhar mass for a WD-merger detonation check |
| M_NS ceiling | 140 | remnant mass above which a merger collapses to a BH |
Reference: blue stragglers, Thorne–Žytkow objects and neutron-star mergers.
An isolated star's fate is fixed by its birth mass; in a binary the companion changes the outcome. Type Ia is a thermonuclear detonation of a carbon-oxygen white dwarf driven to the Chandrasekhar mass — either single-degenerate (the WD accretes from a companion) or double-degenerate (two WDs merge); a lone WD could never explode this way, and Type Ia dominate the universe's iron enrichment. X-ray binaries are not explosions but persistent states: a compact object accreting from a companion radiates its infalling gas as X-rays, launching relativistic jets (a microquasar) at the highest rates. Stripped-envelope (Type Ib/Ic) core-collapse occurs when a companion removes the hydrogen (Ib) and helium (Ic) envelope before the explosion, so the spectral absence of hydrogen is a direct fingerprint of the binary interaction.
| Symbol | Value | Meaning |
|---|---|---|
| M_Ch (Type Ia) | 70 | Chandrasekhar detonation mass for a white dwarf |
| E (Type Ia) | 1 | thermonuclear explosion energy (near standard candle) |
| MetalYield (Ia) | 0.6 (iron-peak) | fraction of ejecta synthesised into iron-peak metals |
| L_X threshold | 5 | accretion luminosity for an X-ray-bright binary |
| L_jet threshold | 25 (microquasar jet) | luminosity above which relativistic jets launch |
| M_core,min (Ib/Ic) | 80 | minimum mass for a stripped star to core-collapse |
| StrippingThreshold | 0.3 (mass-loss fraction for Ib/Ic) | mass-loss fraction that makes a SN stripped-envelope |
| E (Ib/Ic) | 1.5 | core-collapse explosion energy for a stripped star |
Reference: Type Ia, X-ray binaries and stripped-envelope (Ib/Ic) supernovae.
In a hierarchical triple the distant tertiary torques the inner binary. When the mutual inclination exceeds ~39.2°, the inner eccentricity and inclination undergo large, anti-correlated Kozai–Lidov oscillations at fixed inner semi-major axis: as the inclination drops toward the orbital plane the eccentricity is pumped up toward 1, then they swap back (a “flip”). The conserved quantity L_z = √(1−e²)·cos i fixes this trade-off. The eccentricity spikes drive the inner pair to a tiny pericentre where enhanced tides or gravitational-wave emission shrink the orbit rapidly — and at the extreme the inner stars merge. A third star that never touches the inner pair is thus a leading trigger for close-binary mergers, blue stragglers, Type Ia progenitors and compact-object coalescences.
| Symbol | Value | Meaning |
|---|---|---|
| i_crit | 0.6847 rad (~39.2 deg) | critical mutual inclination for Kozai–Lidov cycles |
| e_max | 0.999 | ceiling on the pumped inner eccentricity |
| MergerPericentreFactor | 3 | pericentre scale at which a KL spike triggers a merger |
Reference: the Kozai–Lidov mechanism in hierarchical triples.
Two compact objects (NS/NS, NS/BH, BH/BH, or close WD/WD) radiate orbital energy and angular momentum as gravitational waves, so the orbit shrinks and circularises until the stars coalesce, following the Peters (1964) equations. Two features fall straight out: the orbit circularises as it decays (de/dt drives e→0), and the decay runs away at small separation (da/dt ∝ a^−3), so the final orbits are by far the fastest — the chirp. The circular merger time scales as a⁴, so a wide pair effectively never merges while a tight one (such as the hardened double-compact remnant left by a common envelope) coalesces within the simulation's lifetime; the final merger then builds a heavier, rapidly-spinning Kerr remnant.
| Symbol | Value | Meaning |
|---|---|---|
| c (sim) | 3.0e3 | speed of light setting the 1/c⁵ inspiral timescale |
| CoalescenceRadius | 0.05 px | separation at which the horizons/surfaces touch |
| RemnantSpin | 0.7 (Kerr a*) | dimensionless spin a* of the merged compact remnant |
Reference: the gravitational-wave inspiral of compact binaries (Peters 1964).
When a star exhausts its fuel, its birth mass and metallicity decide what it leaves behind. A dedicated, pure StellarRemnantPipeline resolves every core-collapse death into a conserving outcome — a white dwarf, neutron star, black hole, or (at the highest masses) nothing at all — then the engine spawns the remnant, enriches the ISM, chooses the feedback channel and resolves the fates of any surviving planets. This is the single-star complement to the binary-evolution channels and the ledger side of the supernova mass budget. The prescriptions mirror those used in modern population-synthesis codes (StarTrack, COSMIC, MESA).
The decision a star's death makes is fixed first, from its mass at collapse (with metallicity breaking the tie in the transition band). Low-mass stars never reach iron-core collapse: they shed their envelopes as a planetary nebula and leave an electron-degenerate white dwarf. Iron-core collapse of intermediate massive stars halts at nuclear density as a neutron star (Type II supernova). Above the neutron-star maximum the core cannot be supported and collapses to a black hole, either through fallback after a weak explosion or by direct (failed-SN) collapse. At extreme masses electron–positron pair-instability can unbind the entire star, leaving no bound remnant, and beyond that pulsational pair-instability sheds mass in pulses before a final collapse. These bands are exactly the rule table the collapse engine enforces.
| Regime | Progenitor band | Outcome |
|---|---|---|
| WhiteDwarfFormation | < Chandrasekhar | planetary nebula, white dwarf |
| IronCoreNeutronStar | 8–25 M☉ | Type II SN, neutron star |
| MetallicityDependentNsOrBh | 25–40 M☉ | NS (high Z) or BH (low Z / fallback) |
| BlackHoleCollapse | 40–80 M☉ | black hole (fallback or direct) |
| PairInstabilityNoRemnant | 80–140 M☉ | pair-instability SN, no remnant |
| PulsationalPairInstabilityBlackHole | 140–260 M☉ | pulsational PISN, then black hole |
| DirectCollapseMassiveBlackHole | > 260 M☉ | direct-collapse massive black hole |
Reference: stellar evolution, the Chandrasekhar and Tolman–Oppenheimer–Volkoff limits, and pair-instability supernovae.
Once the regime is chosen, a remnant-mass model turns the pre-collapse (core) mass into the bound remnant mass. The default is Fryer et al. 2012: the explosion is a proto-neutron-star plus mass-dependent fallback — light cores explode cleanly (neutron stars), heavy cores fail to explode and fall back to black holes. Its delayed engine ramps fallback smoothly (a continuous NS→BH spectrum that fills the “mass gap”), while its rapid engine keeps fallback negligible until a sharp threshold, reproducing the observed ~2–5 M☉ gap between neutron stars and black holes. Two optional modes are provided: Spera et al. 2015 (PARSEC-based, metallicity-sensitive — metal-poor stars keep a heavier core and form black holes more readily), and Belczynski et al. 2016 (a two-regime direct-collapse-above-threshold model common in binary-population synthesis).
| Model / engine | Value | Meaning |
|---|---|---|
| Fryer2012 (default) | delayed engine | continuous remnant spectrum (mass gap filled) |
| Fryer delayed band | 6–25 M☉ core | clean explosion → full fallback range |
| Fryer rapid band | 7–11 M☉ core | sharp transition → NS–BH mass gap |
| Spera2015 Z-shift | up to −4 M☉ | lower Z → heavier remnant / easier BH |
| Belczynski2016 threshold | 11 M☉ core | direct-collapse core-mass cutoff |
| Z☉ reference | 0.014 | solar metallicity used in the Z scaling |
Reference: Fryer et al. 2012 fallback prescription, Spera et al. 2015 and Belczynski et al. 2016.
The pipeline is pure — it computes an outcome and never mutates universe state — and runs six stages in physical order so each feeds the next: (1) metallicity winds (Vink / Wolf–Rayet / AGB / rotation / binary-stripping) shrink the progenitor to a pre-collapse core; (2) binary effects let accretion or a merger raise the core, and neutron-star accretion-induced collapse can force a black hole; (3) the collapse engine selects the regime above from the original mass and metallicity; (4) the remnant-mass model applies fallback; (5) classification finalises NS vs BH vs none; (6) mass accounting partitions the progenitor into the bound remnant, radiated mass and ISM return. The three shares always sum back to the progenitor mass, so a stellar death is exactly mass-conserving before it is handed to the engine adapter.
| Stage | Effect | Meaning |
|---|---|---|
| 1. Metallicity winds | M → core | low Z retains mass → heavier core |
| 2. Binary effects | core ± / force BH | accretion, mergers, NS AIC |
| 3. Collapse engine | regime | the NS / BH / PISN rule table |
| 4. Remnant mass | fallback | Fryer / Spera / Belczynski |
| 5. Classification | NS / BH / none | final remnant type |
| 6. Mass accounting | remnant + radiated + ISM | exact conservation |
Reference: compact remnants and core-collapse mass accounting; cross-links to the supernova mass-budget ledger and stellar winds.
Hot, luminous OB stars and luminous blue variables drive winds by scattering their own ultraviolet photons in millions of metal absorption lines (the CAK / Vink mechanism). Because the driving is line opacity, the mass-loss rate climbs steeply with luminosity and scales with metallicity as roughly Z^0.85 — metal-poor stars at high redshift lose far less mass and keep more of their birth mass to the end. A bi-stability jump near the recombination of iron sharply increases the rate (and slows the wind) as the star cools below it, so a star crossing that temperature suddenly sheds mass faster.
| Symbol | Value | Meaning |
|---|---|---|
| α (L exponent) | 2 | how steeply the rate rises with luminosity |
| Z exponent | 0.85 (Z^0.85 scaling) | metallicity dependence of line driving |
| T_bs | 0.45 (bi-stability jump) | temperature below which the rate jumps up |
| v_wind | 6 | fast terminal speed of the hot-star wind |
Reference: line-driven stellar winds (Castor–Abbott–Klein; Vink et al.).
Cool, pulsating asymptotic-giant-branch stars levitate their outer layers with shock waves, let the gas cool until dust grains condense, and then push that dust (and the gas dragged along with it) out by radiation pressure. Pulsation greatly enhances the loss, and carbon-rich stars (C/O > 1) form soot more readily and drive an even stronger, dustier wind. This slow, heavy superwind is how intermediate-mass stars return carbon- and dust-enriched gas to the interstellar medium before becoming white dwarfs.
| Symbol | Value | Meaning |
|---|---|---|
| Pulsation boost | 8x | mass-loss enhancement from radial pulsation |
| Carbon-rich boost | 2x (C/O > 1) | extra loss for soot-forming carbon stars |
| v_wind | 0.4 | slow terminal speed of the dusty wind |
Reference: AGB dust-driven mass loss and the superwind.
Red giants and red supergiants lose mass through a cool, dust- and chromosphere-assisted wind described empirically by the Reimers law (dM/dt ∝ LR/M). As a star climbs the giant branch its luminosity soars and the loss accelerates super-linearly — the Blöcker enhancement (∝ L^2.7) — turning the gentle red-giant breeze into the powerful wind that strips a red supergiant before core collapse. Chromospheric activity strengthens the wind further in the coolest stars.
| Symbol | Value | Meaning |
|---|---|---|
| η (Reimers) | 0.4 | Reimers efficiency of the cool-giant wind |
| Blöcker exponent | 2.7 (L^2.7 superwind) | super-linear luminosity dependence near the tip |
| Chromospheric | 1.8x | activity enhancement for the coolest giants |
Reference: the Reimers and Blöcker cool-giant mass-loss laws.
Cool, low-mass stars with convective envelopes run magnetic dynamos and lose a tiny, ionised wind along open field lines. The mass loss is negligible for the budget, but the wind co-rotates out to the Alfvén radius and carries off angular momentum with a long lever arm, so the star magnetically brakes and spins down over its life (the Skumanich law). Below a saturation rotation rate the braking torque flattens off, capping how fast rapid rotators lose spin.
| Symbol | Value | Meaning |
|---|---|---|
| v_wind | 4 | terminal speed of the magnetised breeze |
| Ω_sat | 0.05 (Skumanich/saturated) | spin above which the braking torque saturates |
Reference: magnetic braking of solar-type stars.
A rapidly rotating star is supported partly by centrifugal force, so material near the equator is much easier to eject; as the spin approaches the critical (break-up) rate the equatorial effective gravity falls toward zero and the wind is strongly enhanced there. Past a threshold fraction of critical rotation the star can no longer hold onto its equator and sheds a thin, dense decretion disc — the classical Be-star phenomenon — rather than a fast wind.
| Symbol | Value | Meaning |
|---|---|---|
| Disc threshold | 0.7 (Ω/Ω_crit) | critical-rotation fraction that forms a Be disc |
Reference: Be-star decretion discs and near-critical rotation.
A very massive star that loses its hydrogen envelope — to winds, rotation, or a binary companion — exposes its hot, helium-burning core as a Wolf–Rayet star with an extremely dense, fast, metal-enriched wind. As successive layers are peeled away the surface chemistry marches through the sequence WN (nitrogen) → WC (carbon) → WO (oxygen), and the stripped star is the progenitor of a Type Ib/Ic supernova. The formation mass threshold itself depends on metallicity, since metal-rich stars reach the Wolf–Rayet stage at lower initial mass.
| Symbol | Value | Meaning |
|---|---|---|
| Formation mass | 18 M_sun (solar Z) | minimum initial mass to reach the WR stage |
| L exponent | 1.5 | luminosity dependence of the WR wind |
| Z exponent | 0.6 | metallicity dependence of the WR wind |
| v_wind | 8 | fast terminal speed of the dense WR wind |
Reference: Wolf–Rayet stars and stripped-envelope evolution.
In a binary the donor's wind does not just escape: the companion sweeps up part of it by Bondi–Hoyle–Lyttleton capture, and when the wind is slow it can be funnelled through the inner Lagrange point as wind Roche-lobe overflow for much more efficient transfer. A compact companion (white dwarf, neutron star, or black hole) accreting a captured wind lights up as a wind-fed X-ray binary. Because mass leaves the system, the orbit responds — isotropic (Jeans-mode) wind loss widens it as a · M_total stays roughly constant.
| Symbol | Value | Meaning |
|---|---|---|
| BHL efficiency | 1 (Bondi-Hoyle-Lyttleton) | efficiency of free-wind gravitational capture |
| WRLOF capture | 0.3 (wind-RLOF) | captured fraction when a slow wind is funnelled |
Reference: Bondi–Hoyle–Lyttleton accretion and wind Roche-lobe overflow.
Every wind returns gas, dust, and freshly-synthesised metals to the surroundings and sweeps the ambient medium into a shell, building the circumstellar medium that a later supernova will slam into. The fast winds of hot and Wolf–Rayet stars also inflate hot, low-density wind-blown bubbles. In the simulation the shed mass (split into gas, dust, and metals) is credited back to the universe's free-mass budget so total mass is conserved, while a fraction is retained as a growing circumstellar shell around the star.
| Symbol | Value | Meaning |
|---|---|---|
| Shell retention | 0.25 | fraction of shed mass kept as circumstellar shell |
Reference: circumstellar medium and wind-blown bubbles.
Planet formation locks disc solids into planets, but not every gram of solids is
meant to end up in a planet — in real systems a large fraction is trapped in
dwarf planets, asteroids, comets, meteoroids, dust and moons that
starve their feeding zones and are then ground away. Without that outlet the engine
over-produced planets for the mass available. This layer models the small-body
population as aggregate, per-system mass reservoirs (there are far too many bodies to
track individually) and runs every tick after planet destruction. Each pass
seeds a fraction of the disc solids into small bodies, grinds them down a
collisional / sublimation cascade to dust, and removes that dust from the system,
steadily bleeding solids out of the planet-forming budget. Every gram is credited to a
concrete reservoir (star / ISM / planet / disc solids) and a per-system audit confirms
reservoirafter = reservoirbefore + in − out,
so mass is conserved across every conversion.
Embryos that never clear their feeding zone leave their local solids behind as belts, comets, dwarf-planet cores and captured moons rather than sweeping them into a planet. Each tick a small fraction of the disc's current solid mass is diverted out of the disc and split across the small-body classes (the moon share is only taken when the system has a planet to host moons; otherwise it is redistributed so the seeded total is exactly preserved). This is the mechanism that removes fuel from the planet-formation pipeline — the seeded solids are conserved every step of the way but are no longer available to grow planets.
| Symbol | Value | Meaning |
|---|---|---|
| fseed | 0.01 / tick | fraction of disc solids diverted into small bodies per tick |
| Asteroid share | 0.45 | seeded fraction condensing into the asteroid belt |
| Comet share | 0.30 | seeded fraction forming comets beyond the snow line |
| Dwarf share | 0.15 | seeded fraction forming starved dwarf embryos |
| Moon share | 0.10 | seeded fraction captured as planetary moons |
Reference: planetary feeding zones and oligarchic isolation mass.
A dwarf planet is massive enough to be rounded by self-gravity but has failed to clear its zone, so it is fragile. Promotion to a full planet is allowed only when the shared planet mass-budget has room (the same ceiling the planet-destruction layer enforces); otherwise the dwarf is regulated by destruction — collisionally shattered into an asteroid belt, gravitationally scattered out of the system to the ISM, or tidally stripped into dust on a star-grazing orbit. The more starved the population, the more fragile it is, so destruction runs faster. This diverts solids off the “grow into a planet” track and onto the “ground to dust and removed” track.
| Symbol | Value | Meaning |
|---|---|---|
| Starvation eff. | 0.15 | feeding-zone clearing efficiency ceiling for dwarfs |
| Promotion rate | 0.02 / tick | capped rate of dwarf→planet promotion within budget |
| Collision rate | 0.05 / tick | dwarf mass shattered into asteroids per tick |
| Scatter rate | 0.02 / tick | dwarf mass ejected to the ISM per tick |
| Tidal-strip rate | 0.01 / tick | dwarf mass stripped to dust near the star per tick |
Reference: dwarf planets and zone-clearing.
Asteroids collide at speeds set by their velocity dispersion; a belt embedded in a planetary system is stirred by mean-motion and secular resonances (the mechanism behind the Kirkwood gaps), so it grinds itself down far faster than an isolated one. Collisions come in two regimes: catastrophic disruptions pulverise both bodies mostly into fine dust, while cratering impacts merely chip off coarser meteoroid ejecta. Over many ticks this is a true Dohnanyi cascade — belt → meteoroids → dust — and the belt's size distribution shifts to the small end and depletes, so its solids cannot re-coagulate into planets.
| Symbol | Value | Meaning |
|---|---|---|
| Collision rate | 0.03 / tick | base fraction of belt mass processed by collisions |
| Resonance boost | up to 3x | resonant stirring amplification in a planetary system |
| Catastrophic frac. | 0.35 | share of collisions that are super-catastrophic (→ dust) |
| Dust yield | 0.40 | fine-dust fraction from cratering ejecta |
Reference: collisional cascade and the Dohnanyi size distribution.
Comets are volatile-rich icy bodies. When heated by the star their ices sublimate directly to gas, dragging embedded refractory grains off with them — the physical origin of a comet's gas and dust tails. The mass-loss rate rises steeply with insolation, so it scales with stellar luminosity: bright stars and close-in comets lose mass fastest. Thermal stress, spin-up from asymmetric outgassing, and tidal stress also split comets into meteoroid streams (the parents of meteor showers). Because sublimation permanently returns volatiles to the ISM as gas, comets are a net sink of solids: comet → gas + dust, and comet → meteoroids → dust.
| Symbol | Value | Meaning |
|---|---|---|
| Sublimation rate | 0.04 / tick · L | comet mass sublimated per tick, scaled by luminosity |
| Volatile frac. | 0.80 | share of sublimated mass that is volatile gas (rest is dust) |
| Fragmentation | 0.01 / tick | comet mass shed into meteoroid streams per tick |
Reference: cometary sublimation and outgassing.
Meteoroids (cm–m fragments) are the intermediate rung between coarse bodies and terminal dust. Mutual collisions comminute them, and near-star heating sublimates them — both paths feed the dust reservoir. A small fraction of the flux intersects a planet with an appreciable atmosphere and is ablated by ram-pressure heating, depositing its mass onto the world as micrometeoritic infall (the one meteoroid channel that delivers solids back to a planet rather than to dust). Whole-body tidal shredding near planets or compact objects is handled for macroscopic bodies by the planet-destruction layer; for the aggregate meteoroid population it appears as the same comminution-to-dust captured here.
| Symbol | Value | Meaning |
|---|---|---|
| Fragment rate | 0.06 / tick | meteoroid mass comminuted to dust by collisions per tick |
| Sublimation rate | 0.02 / tick · L | meteoroid mass sublimated to dust near the star per tick |
| Ablation rate | 0.01 / tick | fraction ablated onto a planetary atmosphere per tick |
Reference: meteoroids and atmospheric ablation.
Dust is the end of the cascade and the single most important stage for keeping the planet population realistic, because it is where solids permanently leave the system. For a grain the ratio of radiation pressure to gravity, β = Frad/Fgrav, is independent of distance; grains with β > 0.5 are on unbound orbits the instant they are released and are blown out to the ISM (a larger size range for more luminous stars). Bound grains still absorb and re-emit starlight, and the forward-beamed re-emission robs them of angular momentum — Poynting–Robertson drag — so they spiral inward until they are accreted by the star or sublimate to gas at the dust-destruction radius. Because seeding continuously feeds the cascade and the cascade continuously feeds dust, this stage continuously removes solids (to star + ISM), and that removal rate is the throttle on how much solid mass can remain locked in planets.
| Symbol | Value | Meaning |
|---|---|---|
| Blowout rate | 0.20 / tick · (L/Lref) | fraction of small grains blown out to the ISM per tick |
| PR-drag rate | 0.10 / tick | bound dust spiralling into the star per tick |
| Dust sublimation | 0.05 / tick | dust vaporised to gas at the destruction radius per tick |
Reference: Poynting–Robertson drag and radiation-pressure blowout.
A moon raises a tidal bulge on its planet; if it orbits below the synchronous radius the lagging bulge torques it inward until it crosses the Roche limit (the fate awaiting Phobos and Triton). A moon that reaches the Roche limit above the surface is torn into a Saturn-ring-like debris disc; one whose decayed orbit meets the surface first impacts the planet and delivers its whole mass. Resonant scattering can instead eject a moon to the ISM. The debris ring is not permanent: mutual collisions and viscous spreading regrind it into dust, which the dust pipeline then removes — so a destroyed moon flows moon → debris → dust → removed and never becomes a solids store. If a system has no planet to receive an impact, that mass is routed to debris so none is stranded.
| Symbol | Value | Meaning |
|---|---|---|
| Tidal-decay rate | 0.02 / tick | moon mass decaying across the Roche limit per tick |
| Ejection rate | 0.005 / tick | moon mass resonantly scattered to the ISM per tick |
| Debris frac. | 0.70 | share of a disrupted moon torn into debris (rest impacts) |
| Reprocessing | 0.10 / tick | debris-ring mass reground into dust per tick |
Reference: the Roche limit and tidal orbital decay.
The small-body reservoir is not allowed to become an unphysical hoard of solids. Its total is anchored to the peak disc solids the system ever had; any excess above the allowed fraction is recondensed back to disc solids in a fixed trim order (debris → dust → meteoroids → comets → asteroids → dwarf planets → moons), so the coarsest, longest-lived bodies are preserved and the finest, most transient material is shed first. After every pass a conservation validator confirms the reservoir change equals exactly the mass that entered from, minus the mass that left to, external reservoirs; any violation is logged. Together with the shared planet mass-budget (which caps dwarf→planet promotion), this guarantees that destruction genuinely removes mass from the planet-formation pipeline, that dust removal reduces the solids available for planets, and that mass is conserved across every conversion — which is what keeps the net planet population realistic for the mass allotted.
| Symbol | Value | Meaning |
|---|---|---|
| Budget frac. | 0.30 | max small-body mass as a fraction of peak disc solids |
| Trim order | debris → … → moons | which reservoir is recondensed to disc solids first |
| Conservation tol. | 1e-9 | absolute mass tolerance for the per-tick audit |
Reference: mass-conserving debris bookkeeping; mirrors the engine's planet-destruction mass budget.