Column. Height from the dense-rock-equivalent flux H = 1.67 Q^0.259 (km, m³/s; Sparks et al. 1997). It is cross-checked here by integrating the Morton-Taylor-Turner entrainment equations in a stratified atmosphere. Neutral buoyancy (the umbrella cloud) is taken at 0.85 H.
Chamber. Overpressure falls as dP = -(K/V) Q dt and Q scales with dP, so output decays as exp(-t/τ) with τ = V dP₀ / (K Q₀) (K = 5 GPa, dP₀ = 20 MPa).
Lava. Depth-averaged Bingham flow on the real terrain grid: flux per width q = ρ g s h³ / 3η (Jeffreys) above a yield thickness, viscosity rising one decade per ~90 K as radiative cooling (ε = 0.055, crust-insulated) lowers the temperature; below 780 °C it freezes.
Pyroclastic flows. Collapse pulses follow the steepest descent with the Heim energy line v²/2g = E₀ - μs - z (μ = 0.30, speed x0.6); deposits and speeds are illustrative.
Bombs. Ballistic blocks with quadratic drag and exponential air density. Ash fall. Parcels released from three heights settle at 3.0 / 1.1 / 0.45 m/s and land as Gaussian blobs advected by the wind profile (Suzuki-type); diffusion constant 3000 m²/s.
Environment. Air, vegetation and water indices come from the model grid (SO₂ flux, ash thickness, lava and flow cover). Roof collapse is assumed at 2.5 kPa. The local warming is a bulk heat budget; the global effect is scaled from Pinatubo (-0.5 °C per 20 Mt SO₂). Monitoring curves follow the inverse-rate failure law.
Honest simplifications. 125 m grid, no real lahars, no tephra grain-size spectrum, no atmosphere-model plume, flow speeds and deposits are illustrative. Houses and trees are drawn at toy scale so they read from 20 km. Constants flagged "illustrative" are calibrations, not measurements.
Checks (independent re-implementations, run on load):