This is the same delayed-neutron precursor advection–decay physics as the 3D racetrack-loop version, but rendered as a genuinely 2D-native space-time strip instead of a flattened camera view of pipes: the closed fuel loop is unrolled into a single horizontal position axis s ∈ [0, L), and the live precursor concentration C(s,t) is drawn directly as a profile curve and a colour-coded density strip above it — the same way a physicist would actually plot this quantity.
∂C/∂t + v·∂C/∂s = S(s) − λ·C (S > 0 only inside the core, periodic in s)
Unlike the 3D version, which jumps straight to a pre-solved steady state, this 2D engine integrates that PDE continuously in real time (explicit upwind finite-volume, sub-stepped every frame under a CFL-stable time step) starting from a cold empty loop — so you can watch the concentration profile actually build up cycle by cycle and settle into its periodic steady shape. Pressing "Reset build-up" zeroes the loop so you can watch it happen again from scratch. Pressing "Pause flow" sets the advection speed to zero in the physics itself (not just a cosmetic freeze) — with the fuel stationary, precursors simply decay exponentially wherever they are, letting you directly compare the circulating-fuel and stationary-fuel regimes side by side.
The readout β_eff/β is the fraction of that group's precursors that decay inside the shaded core region versus the stationary-fuel ideal (β_eff/β = 1), computed each frame from the live profile via v·C(0)+generation = v·C(core exit)+decay. Faster flow and a longer external loop both sweep more precursors past the core boundary before they decay, shrinking β_eff — the real, measured reason circulating-fuel reactors (like Oak Ridge's MSRE) have faster kinetic response than solid-fuel ones.