Fire Sprinkler System — DekEn vs Published & FluidFlow (Menon Ex 2.17)
A small-warehouse sprinkler system: 3 branch lines, 4 K=5.6 heads each (12 ft spacing), 1″ Sch40 branches (1.5″ first segment), a 20 ft 2″ Sch40 riser from a fire pump. Genuine external, non-circular reference — both a published textbook example and FluidFlow vendor results.
Riser (vertical, 2″ Sch40) on the left; 3 branch lines to the right, 4 terminal K=5.6 sprinkler leaves each. Names only.
The topology matches the FluidFlow figure exactly: the riser feeds a centre cross (the middle branch tee), and the cross-main runs symmetrically up and down to the top and bottom tees — so the top and bottom branches are identical, just as FluidFlow shows. Both the published example and FluidFlow use the Hazen-Williams C=100 friction model; DekEn's production solver is Darcy-Weisbach only, so this is an APPROXIMATE cross-check, not a tight pass.
With the structurally-correct centre-fed topology, DekEn over-predicts total flow by +12 % (357.85 vs 319.5 gpm) and per-sprinkler by up to 27.19 % vs FluidFlow / 23.81 % vs Published — that is the genuine Darcy-Weisbach↔Hazen-Williams friction-model gap, exposed honestly. (An earlier series-header revision happened to land near 0.8 % total, but only because a topology error offset the friction error — a misleading cancellation, now removed.) The emitter law Q = K√P is verified consistent at every nozzle; the EPANET-Net2 C=100→0.26 mm mapping is not usable here (it drives S2–S4 sub-atmospheric into a false equilibrium).
Bottom line: a genuine external reference reproduced with the correct symmetric topology and a fully self-consistent emitter solve, but ~12–27 % off because DekEn is Darcy-Weisbach and the reference is Hazen-Williams C=100 — disclosed, not hidden. Secondary uncertainty: the riser→first-sprinkler 1.5″ segment length is assumed 12 ft (not stated in the source).
Flow (US gpm) and pressure (psi g): DekEn (Darcy-Weisbach) vs the Published hand calc and the FluidFlow vendor solver (both Hazen-Williams). Centre-fed: the top & bottom branches are identical (matching FluidFlow), the middle is slightly higher; values are averaged across the 3 branches; the worst single nozzle is 27.19% vs FluidFlow (KPI above). Row tint by |Δ% flow vs FluidFlow|.
Verdict — genuine external reference, reproduced honestly
{"summary":"DekEn's production solver runs the network and converges with exact mass balance. The MANDATED ε=0.26 mm H-W→D-W mapping is NOT usable for this case: it drives the far-branch nozzle pressures negative and the emitter law is violated (false fixed-point equilibrium). With ε=4.6e-5 m the emitter solve is fully self-consistent and DekEn tracks the external reference to within ~13% worst per-sprinkler flow vs FluidFlow / ~16% vs Published.","residual_attribution":"Irreducible residual is dominated by (a) Darcy-Weisbach ≠ Hazen-Williams (lowering ε further INCREASES the FF deviation — it never converges to the H-W answer, confirming the friction model is the dominant term), and (b) the assumed 12 ft riser/header→S1 1.5\" segment length. Total flow is within +0.8% (steel) of 319.5 gpm so the SYSTEM resistance is right; the DISTRIBUTION skews flow toward the far heads vs the H-W reference.","recommendation":"Use ε = 4.6e-5 m (commercial steel) and the supply boundary pinned at FluidFlow's 81.56 psi g inlet static. Do NOT use ε=0.26 mm for sprinkler/emitter networks — verify nozzle pressures stay positive before trusting pressure-dependent demand results."}
Reference: Piping Calculations Manual, Menon, Example 2.17 p.128 · FluidFlow Results Verification · Reproduce: specsheet/validation/fluidflow_case7_prod_solve.py