Every surviving parent atom is tested independently each simulation step. It decays if a random draw falls below the per-step probability
P = 1 − 2^(−dt / T½)
which is the exact per-atom decay probability implied by a half-life T½ over a time step dt (at dt = T½ this gives P = 0.5, at dt = 2·T½ it gives P = 0.75, matching two half-lives). No atom follows a scripted curve — the population count N(t) is whatever survives this per-atom coin flip, plotted live (solid line) against the true closed-form law N(t) = N₀·2^(−t/T½) (dashed line), so you can see the random walk of a finite sample fluctuate around the textbook exponential.
In decay chain mode, every atom a parent decay produces becomes a daughter atom instead of vanishing — it is itself unstable, with its own half-life, and is tested the same way each step until it becomes a stable end-product. The daughter population is not scripted either: it emerges from the same stochastic process one level down, and its true expected curve follows the Bateman equation
N_daughter(t) = N₀ · λ₁/(λ₂−λ₁) · (e^(−λ₁t) − e^(−λ₂t))
where λ₁ = ln2/T½,parent and λ₂ = ln2/T½,daughter — the closed-form solution of the coupled parent→daughter decay rate equations, overlaid as a second dashed curve.
- Half-life sliders — set T½ for the parent (and, in chain mode, the daughter) in simulation seconds; presets label plausible fast/medium/slow real isotopes, scaled for a watchable simulation rather than using literal real-world half-lives (which range from microseconds to billions of years).
- N₀ — the starting parent population (50–600); larger samples track the smooth exponential more tightly, smaller samples show more visible statistical noise.
- Time speed — multiplies how fast simulation seconds elapse relative to real time, without changing the underlying per-step probability physics.
Real-world relevance: this exact parent→daughter mechanism governs natural decay chains such as uranium-238 → thorium-234 → protactinium-234 → …, and technologies like the caesium-137/barium-137m "cow" generator used to demonstrate half-life in teaching labs, or the iodine-131 → xenon-131m branch relevant to nuclear medicine dosimetry.