Pick a scenario; every slider below stays editable.
Log10 of years until re-entry. Gold: satellites; blue: fragments; green line = 25-year deorbit guideline; white mark = fleet altitude.
Blue: fragments larger than 10 cm; gold: satellites plus dead large objects.
log10 of the number of objects in each 25 km shell: where the danger concentrates.
The science
Atmospheric drag on a circular orbit. For a nearly circular orbit of radius a, drag shrinks it at da/dt = −ρ(h) B sqrt(μ a), where B = Cd A / m is the ballistic parameter (m²/kg) and μ = 3.986×1014 m³/s². The density ρ(h) comes from the Vallado piecewise-exponential table (moderate solar activity). It is multiplied by exp(k(h)(s − 0.5)) for a solar activity index s in [0,1]; k rises from 2.0 to 3.5 with altitude (illustrative: real density ratios between solar minimum and maximum are 10 to 50 at 400-700 km).
Lifetime. In an isothermal atmosphere with scale height H the time to fall is t ≈ H / (ρ0 B sqrt(μ a)): a satellite lives roughly one scale height divided by its initial decay rate, which is why lifetime grows exponentially with altitude (days at 300 km, decades at 600 km, centuries above 800 km).
Collisions in a shell. Altitude is cut into 25 km shells of volume V = 4πr²Δh. With n objects per shell, the expected collision rate between two populations is N1 N2 σ v / V (½N²σv/V within one population), using v = 10 km/s (about 1.3 circular speeds, illustrative) and cross sections of 28 m² (large-large) and 7.5 m² (large-fragment, of which only a fraction 0.08 is catastrophic). Active satellites dodge a user-set share of encounters.
Fragments. The NASA standard breakup model gives N(>Lc) = 0.1 M0.75 Lc−1.71 fragments larger than Lc (m) from a catastrophic collision of total mass M (kg): 912 pieces over 10 cm for 1000 kg. Debris then sinks shell by shell at the drag rate (first-order upwind, exact exponential outflow) and re-enters below 300 km.
Cascade indicator. The status chip compares fragment production with fragment loss by drag. Where production exceeds loss the population grows by itself, even with no further launches: this is the Kessler syndrome. It is a property of altitude (thin air) and of how many uncontrolled large objects are present, not of a single event.
Honest simplifications. Mean-field (expected values, no randomness in the numbers; the collision flashes are random draws from those expected rates); circular orbits, no inclination or eccentricity dynamics, no J2 or lunar/solar perturbations; one fragment size class and one mass; no non-catastrophic damage, no explosions of spent stages, no manoeuvre fuel limits. The starting populations are an illustrative profile shaped loosely like today's, not catalogue data. Marker sizes are exaggerated and altitudes are stretched 5× radially; the orbital motion on screen is slowed and unrelated to the time-lapse speed. All numbers are for learning, not for conjunction assessment.
Checks. (1) The two-body equation is integrated with RK4 for one 500 km revolution: it returns to its start and conserves energy; (2) numerical lifetime against the closed-form estimate; (3) the shell model against a single-object integration; (4) the breakup-model count for 1000 kg.