The science · equations & assumptions
Pump hydraulic head: H_available = H₀ × (RPM/100)² − H_static − H_tank, metres.
Pipe flow: Q = min(Q_max, sqrt(max(0,H_available)/R)), m³/s. R has units s²/m⁵.
Tank head: H_tank = 12 × V/V_max, metres (approximate linear tank-level representation).
Conservation: dV/dt = Q_pump + Q_rain − Q_served, m³/s. Unserved demand is tracked when water runs out; overflow is discarded.
Electric power: P = ρ g Q H_pump / η, kW; solar offsets pump grid use only.
Analytic overlay: V(t) ≈ clamp(V₀ + Q_net(0) t), valid only under frozen initial flows. Numerical integration updates changing head and events.
Simplifications: Pump curve is a square-root head relation, efficiency constant, reservoir is infinite, pipes are lumped, weather does not change inflow unless an event explicitly does, solar always provides its selected output. No cavitation, water hammer, contamination or detailed electricity network. Training model, not infrastructure design.
CREDITS PLACEHOLDER: procedural graphics and original code; no bundled external media.