Verification
Written and verified by Haimi Jordaan, MEng (Mechanical), University of Pretoria. His master's research coupled one-dimensional fluid network models to three-dimensional CFD, which is the method behind the CFD coupling export in this tool. He wrote the solver, the reference implementations and the test suite that produces this page.
Fluid Network Studio is built to be auditable. Every result on this page is produced by the same solver the app runs, then compared against a reference produced without it: a recognised closed-form solution, a published textbook benchmark, the independent OWA-EPANET 2.2 engine, or NASA's GFSSP. Nothing is tuned to match a target. An automated test re-runs every case on each build, so this page can never drift from what actually passes. Every solve also reports its mass- and energy-conservation residuals.
Across the 31 cases, the closed-form, EPANET and control-valve checks agree with their references to within 0.32%. The independent NASA GFSSP examples and published-element references agree to within 2.61%. The compressible-flow Fanno limit is asserted internally rather than shown here, because the published case fixes an artificial friction factor that the real Churchill correlation does not reproduce.
Case set first published , last updated . Every case is re-solved and re-checked when the site is built, so the values below were verified on the build that served this page.
- Solved live by the real solver
- Nothing tuned to a target
- Cross-checked against OWA-EPANET 2.2
- Control valves cross-checked against EPANET
- Drift-guarded by the test suite
- Conservation residuals on every solve
Fluid Network Studio is an independent product. It is not affiliated with, endorsed by, or sponsored by NASA or the OpenWaterAnalytics project. NASA GFSSP and OWA-EPANET 2.2 are named only to identify the independent software these results are compared against.
What counts as an independent reference here?
The checks below are not all equally strong, so each case names which kind it rests on. There are three, and the difference between them matters:
- An independent engine. A different program, written by other people: OWA-EPANET 2.2 and NASA's GFSSP. Nothing of ours takes any part in producing the reference value. These are the strongest checks on this page.
- A closed-form solution. The reference is solved straight from a published relation - Hagen-Poiseuille, Colebrook-White, Buckingham-Reiner, the Hazen-Williams head-loss form - so the answer does not depend on our code at all. Anyone with the stated inputs can reproduce it independently.
- An independent reference implementation. A second implementation of the physics, written separately by us and deliberately kept apart from the solver. It catches coding errors, which is worth having. It also shares an author with the solver, so it is not a third-party check and we label it plainly rather than counting it as one.
Independent cross-check against EPANET
Looped network vs OWA-EPANET 2.2
Reference: the independent, public-domain OWA-EPANET 2.2 engine
Reference45.783 L/sStudio (Flow (a loop branch))45.783 L/sDeviation< 0.01%Tolerance0.1%A five-pipe looped network solved by both engines from identical inputs. All five pipe flows agree with OWA-EPANET 2.2 to within about 0.003% - independent-engine agreement, the strongest check we run.
Control valves, cross-checked against EPANET
Active PRV regulating a line
Reference: An ACTIVE PRV pins its downstream head, so the flow follows from the downstream leg alone: hf = 60.0 - 30.0 m over 800 m of DN300 at 0.26 mm roughness, root-found on Darcy-Weisbach outside the solver. Cross-checked against OWA-EPANET 2.2, the reference implementation of PRV, PSV and FCV logic.
Reference238.50 L/sStudio (Regulated flow)238.50 L/sDeviation< 0.01%Tolerance0.2%A PRV set to 60 m on a 100 m to 30 m line goes ACTIVE and pins its downstream head to 60.0000 m exactly - the Studio solves the setting to identity. The regulated flow is then fixed by the downstream leg alone; it matches the closed-form value and OWA-EPANET 2.2, in the same global-gradient family.
FCV clamping the flow to a setpoint
Reference: Darcy-Weisbach head loss at the clamped 170 L/s setpoint over the 500 m upstream leg, taken off the 100 m reservoir head, evaluated outside the solver. Cross-checked against OWA-EPANET 2.2, the reference implementation of PRV, PSV and FCV logic.
Reference90.401 mStudio (Upstream head)90.399 mDeviation< 0.01%Tolerance0.05%An FCV set to 170 L/s holds the through-flow to its setpoint exactly. The head it must destroy (45.0 m) and the resulting upstream head match the closed-form value and OWA-EPANET 2.2.
Check valve blocking reverse flow
Reference: Darcy-Weisbach series solution for both legs plus the K = 2.5 valve loss under 70 m of static head, root-found on the flow outside the solver. Cross-checked against OWA-EPANET 2.2, the reference implementation of check-valve semantics.
Reference282.04 L/sStudio (Forward flow)282.04 L/sDeviation< 0.01%Tolerance0.2%Forward, a non-return check valve passes flow as a plain K = 2.5 fitting (bit-identical). On a reverse gradient it shuts and carries exactly zero, where a loss-only fitting would pass 282 L/s backwards - the reverse-flow defect this element closes. Both legs agree with OWA-EPANET 2.2.
Independent cross-check against NASA GFSSP
GFSSP Example 1: pump, valve and pipe
Reference: Independently cross-checked against published results from NASA's Generalized Fluid System Simulation Program (GFSSP), Majumdar et al., NASA/TP-2016-218218, Example 1
Reference191.00 lb/sStudio (Mass flow)189.55 lb/sDeviation0.76%Tolerance2.0%A pump feeding a receiving reservoir through a gate valve and 1500 ft of pipe. FNS solves 189.6 lb/s against GFSSP's 191 lb/s - independent codes (GFSSP is a finite-volume solver, not a global-gradient one) agreeing to under a percent.
GFSSP Example 2: distribution network, main branch
Reference: Cross-checked against GFSSP, NASA/TP-2016-218218, Example 2 (10-pipe water distribution network)
Reference100.16 lb/sStudio (Branch flow)99.470 lb/sDeviation0.69%Tolerance3.0%A 10-pipe distribution network with four fixed-pressure boundaries. The inlet branch carries about 100 lb/s; all ten branch flows agree with GFSSP within 3%, including two that run in reverse.
GFSSP Example 2: a reverse-flowing branch
Reference: Cross-checked against GFSSP, NASA/TP-2016-218218, Example 2 (branch 6 to 8)
Reference-18.000 lb/sStudio (Branch flow)-17.850 lb/sDeviation0.83%Tolerance3.0%Branch 6 to 8 carries flow in reverse (a negative from-to flow). The signed result reproduces GFSSP's direction and magnitude - a genuine test of the network's flow-direction bookkeeping.
GFSSP Example 22: fixed-flow boundary
Reference: Cross-checked against GFSSP, NASA/TP-2016-218218, Example 22 (fixed mass-flow boundaries)
Reference90.000 lb/sStudio (Branch flow)90.000 lb/sDeviation< 0.01%Tolerance0.1%A +100 and -10 lb/s pair of fixed-flow boundaries leaves a net 90 lb/s carried by the branch, fixed by conservation. FNS reproduces it exactly, matching GFSSP.
Element references
Thin sharp-edged orifice, loss coefficient
Reference: Cross-checked against GFSSP option 5 (NASA/TP-2016-218218, section 3.1.7.5), turbulent orifice loss
Reference30.490Studio (Loss coefficient K)29.693Deviation2.61%Tolerance3.0%For a diameter ratio beta = 0.5, the Studio's sharp-orifice correlation gives K = 29.7, within 3% of GFSSP's turbulent option-5 value of 30.49. Referenced to the upstream velocity head, as GFSSP does.
Sudden expansion (Borda-Carnot)
Reference: Exact Borda-Carnot momentum result, cross-checked against GFSSP option 8 (NASA/TP-2016-218218, section 3.1.7.8)
Reference0.5715Studio (Loss coefficient K)0.5625Deviation1.57%Tolerance2.0%The Studio uses the exact Borda-Carnot result K = (1 - beta^2)^2 = 0.5625 at beta = 0.5, within 2% of GFSSP's turbulent option-8 value of 0.5715.
Sudden contraction, loss coefficient
Reference: GFSSP option 7 (NASA/TP-2016-218218, section 3.1.7.7), turbulent contraction
Reference7.320Studio (Loss coefficient K)7.315Deviation0.07%Tolerance0.5%The Studio evaluates the GFSSP option-7 turbulent contraction formula on the upstream velocity head; at beta = 0.5 it reproduces the published K = 7.32 to better than 0.1%.
Non-circular duct via hydraulic diameter
Reference: Independent closed-form hydraulic-diameter Darcy-Weisbach calculation (the method GFSSP calls option 3, NASA/TP-2016-218218, section 3.1.7.3); Churchill friction
Reference0.4101 mStudio (Head loss)0.4103 mDeviation0.04%Tolerance0.5%A 200 x 100 mm rectangular duct carrying 50 L/s of water: the Darcy-Weisbach / Churchill pipe model runs on the hydraulic diameter D_h = 4A/P = 0.1333 m and the true flow area, giving hf = 0.410 m within 0.5% of an independent closed-form calculation on the same hydraulic diameter.
Published benchmark
Three-reservoir junction (Darcy-Weisbach)
Reference: Larock, Jeppson & Watters, Hydraulics of Pipeline Systems (three-reservoir junction); independent reference solver
Reference31.212 mStudio (Junction head)31.212 mDeviation< 0.01%Tolerance0.1%The classic textbook problem: three reservoirs at 40, 28 and 15 m feed a common junction; the middle reservoir correctly receives flow. Verifies the junction mass balance and the flow-direction signs.
Liquid networks
Single pipe, turbulent (vs Colebrook-White)
Reference: Colebrook-White equation (the classical implicit turbulent friction law)
Reference20.144 L/sStudio (Flow)20.210 L/sDeviation0.32%Tolerance0.5%FNS uses the explicit Churchill (1977) correlation, which agrees with Colebrook-White in the turbulent range to a fraction of a percent.
Laminar line (Hagen-Poiseuille, exact)
Reference: Hagen-Poiseuille law (exact, laminar flow)
Reference0.0339 L/sStudio (Flow)0.0339 L/sDeviation< 0.01%Tolerance0.1%Churchill reduces exactly to the laminar f = 64/Re below Re = 2000, matching the analytic solution.
Fully rough pipe (von Karman limit)
Reference: von Karman fully rough law f = (-2 log10((eps/D)/3.7))^-2 (closed form)
Reference176.17 L/sStudio (Flow)175.89 L/sDeviation0.16%Tolerance0.5%500 m of DN300 at 3 mm roughness under 20 m of head. At eps/D = 0.01 and Re ~ 1.9 million the flow is deep in the fully rough regime, where friction stops depending on the Reynolds number. The solver's Churchill correlation lands 0.16% off the roughness-only limit, which is the expected residual, not agreement by construction.
Pumps
Pump + system operating point
Reference: Least-squares pump curve at the system operating point; independent reference solver
Reference17.817 L/sStudio (Pump flow)17.817 L/sDeviation< 0.01%Tolerance0.2%A pump feeding two parallel branches. The solver finds the operating point where the fitted pump curve (here exactly H = 25 - 8000 Q^2) meets the system curve.
Variable-speed pump at 85% (affinity laws)
Reference: Affinity-scaled pump curve with Colebrook-White friction (independent reference implementation)
Reference9.574 L/sStudio (Pump flow)9.560 L/sDeviation0.15%Tolerance0.5%The same pump and twin branches as the duty-point case, run at 85% speed. Head and flow scale by the affinity laws (H with s squared, Q with s) and the solve finds the new operating point on the scaled curve against the two-branch system resistance.
Hazen-Williams
Single pipe, Hazen-Williams (closed form)
Reference: EPANET 2 Users Manual (Rossman 2000), Hazen-Williams head-loss, SI form
Reference184.54 L/sStudio (Flow)184.54 L/sDeviation< 0.01%Tolerance0.2%hf = 10.674 L Q^1.852 / (C^1.852 D^4.871), C = 130. The solver, the closed form and EPANET's native Hazen-Williams all use this constant.
Three-reservoir junction, Hazen-Williams
Reference: Junction-head root-find on the Hazen-Williams relation hf = 10.674 L Q^1.852 / (C^1.852 D^4.871), solved outside the solver until the junction mass balance closes. Cross-checked against OWA-EPANET 2.2 running its own native Hazen-Williams.
Reference81.668 mStudio (Junction head)81.668 mDeviation< 0.01%Tolerance0.02%Three reservoirs (100, 80, 40 m) to a common junction; verifies junction mass balance and flow-direction signs under Hazen-Williams.
Compressible gas
Isothermal gas pipeline pressure drop
Reference: Exact isothermal compressible relation incl. the acceleration term (Saad, Compressible Fluid Flow)
Reference1.165 kg/sStudio (Mass flow)1.162 kg/sDeviation0.24%Tolerance0.5%Air from 600 to 400 kPa absolute down a 200 m line: a 33% density fall. The gas kernel solves in pressure-squared with the exact isothermal relation; density falls and velocity climbs toward the outlet.
Methane trunk line, delivery pressure
Reference: Exact isothermal compressible relation with Colebrook-White friction (independent reference implementation)
Reference2732.33 kPa absStudio (Delivery pressure)2731.04 kPa absDeviation0.05%Tolerance0.2%2.5 kg/s of methane down 5 km of DN150 from 3000 kPa absolute. This is the inverse problem an operator actually asks: fix the throughput and find the pressure you arrive with. Solved in pressure-squared form at Re = 1.9 million.
Heat transfer
Insulated hot-water main, delivered temperature
Reference: Gnielinski film + composite-cylinder resistance (Incropera, Fundamentals of Heat and Mass Transfer); independent reference solver
Reference69.643 °CStudio (Delivered temperature)69.643 °CDeviation< 0.01%Tolerance0.1%A 70 °C main, 200 m of DN100 with 30 mm of insulation, ambient 15 °C. The coupled thermal-hydraulic solve builds the per-metre U from an inner film, the steel wall and the lagging.
Hot line cooling along its length (exact)
Reference: Exact exponential decay T_out = T_amb + (T_in - T_amb) exp(-U L / (m cp)) (closed form)
Reference73.362 °CStudio (Delivered temperature)73.362 °CDeviation< 0.01%Tolerance0.1%1.5 kg/s of water entering 250 m of line at 80 °C, ambient 10 °C, at a fixed 2.5 W/(m·K). The analytic solution of the steady one-dimensional energy balance, which the coupled thermal-hydraulic solve reproduces to the last figure shown.
Mixing junction, blended temperature (exact)
Reference: Enthalpy balance at a junction, T = (m1 T1 + m2 T2) / (m1 + m2) at equal cp (closed form)
Reference54.000 °CStudio (Mixed temperature)54.000 °CDeviation< 0.01%Tolerance0.1%2 kg/s at 90 °C meeting 3 kg/s at 30 °C. Temperature does not average, energy does: the mix leaves at 54 °C, not 60 °C. The network carries the blend downstream on the same balance.
Non-Newtonian
Three-reservoir junction, power-law fluid
Reference: Metzner-Reed (1955) generalised Reynolds number + Dodge-Metzner (1959) friction; independent reference solver
Reference31.792 mStudio (Junction head)31.792 mDeviation< 0.01%Tolerance0.1%A shear-thinning power-law fluid (K = 0.5, n = 0.5) in a three-reservoir junction. Each pipe picks its regime from the generalised Reynolds number; two run turbulent, one laminar.
Laminar power-law line (exact)
Reference: Exact laminar power-law solution dp = (2 L K / R)((3n+1)Q / (n pi R^3))^n (closed form)
Reference81.677 kPaStudio (Pressure drop)81.677 kPaDeviation< 0.01%Tolerance< 0.01%A shear-thinning fluid (K = 2.5, n = 0.45) at 1 L/s down 50 m of DN50, generalised Reynolds number 103, so firmly laminar. The analytic power-law solution exists here and the solver matches it exactly.
Laminar Bingham line (Buckingham-Reiner)
Reference: Buckingham-Reiner equation, inverted independently for the wall shear stress
Reference53.831 kPaStudio (Pressure drop)53.831 kPaDeviation< 0.01%Tolerance0.1%A yield-stress sludge (8 Pa, plastic viscosity 0.03 Pa·s) at 2 L/s down 100 m of DN80. The core travels as an unsheared plug, which is what the Buckingham-Reiner relation accounts for and a Newtonian friction estimate cannot.
Turbulent power-law line (Dodge-Metzner)
Reference: Dodge-Metzner (1959) friction correlation, implemented independently
Reference232.47 kPaStudio (Pressure drop)232.47 kPaDeviation< 0.01%Tolerance0.1%The same rheology pushed into turbulence: 14 L/s down 200 m of DN80 at a generalised Reynolds number of 7762. The implicit Dodge-Metzner relation is solved here from its published form and compared with what the solver produces.
Turbulent Bingham line (Darby-Melson)
Reference: Darby-Melson (1981) turbulent friction with the Hanks transition; independent reference implementation
Reference135.11 kPaStudio (Pressure drop)135.11 kPaDeviation< 0.01%Tolerance0.2%A yield-stress fluid at 3 m/s in DN100: Bingham Reynolds number 33 000 against a Hedstrom number of 440 000. The Hanks criterion puts this above the transition, so the turbulent Darby-Melson friction applies rather than the plug-flow relation.
Other methods
Single pipe, fixed friction factor (closed form)
Reference: Darcy-Weisbach with a constant f (exact)
Reference133.15 L/sStudio (Flow)133.15 L/sDeviation< 0.01%Tolerance0.2%hf = f (L/D) V^2/2g, f = 0.02. Reproduces textbook examples stated at a fixed friction factor.
What does Fluid Network Studio not model, and why?
Transients (surge, water hammer and gas line pack), settling and heterogeneous slurries, code-based relief-valve sizing, dynamic rule-based control logic, and multi-component gas mixtures with Joule-Thomson effects. These are deliberate fences rather than gaps, and each one belongs to a specialist tool.
Stating the boundaries plainly is part of being trustworthy. In detail:
- Transient / surge / water hammer, including gas transients. Fluid Network Studio is steady-state, with an extended-period, quasi-steady mode. Pump-trip and valve-closure pressure transients belong in a dedicated surge package, and gas transients (line pack) are out of scope.
- Settling and heterogeneous slurries. Non-Newtonian support is for homogeneous power-law and Bingham-plastic fluids only. Deposition velocities and two-phase transport are out of scope.
- Code-based sizing and dynamic control automation. Steady-state control valves (check, PRV, PSV and FCV) are modelled and cross-checked above. Relief-valve and PSV sizing to a code, fire-flow standards automation, pressure-breaker (PBV) valves, and dynamic rule-based control logic (time-varying controls and rules) are the domain of specialist suites.
- Joule-Thomson and gas mixtures. The gas solver handles single-component compressible flow. Multi-component mixtures and Joule-Thomson effects are not modelled.
Where the steady network needs full 3-D detail at a component, the CFD-coupling export links the verified network solver to a STAR-CCM+ model - a differentiator no spreadsheet or standalone desktop package offers.
Is Fluid Network Studio accurate?
Across the 31 published cases, the closed-form, EPANET and control-valve checks agree with their references to within 0.32%, and the independent NASA GFSSP examples and published-element references agree to within 2.61%. Every figure comes from the same solver the app runs, and no value is tuned to a target. Accuracy on your own network still depends on the inputs you give it, which is why every case here names exactly what it was checked against.
Has Fluid Network Studio been checked against EPANET?
Yes. A five-pipe looped network is solved by both engines from identical inputs, and all five pipe flows agree with OWA-EPANET 2.2 to within about 0.003%. The control valves are cross-checked against EPANET as well, because EPANET is the reference implementation of PRV, PSV and FCV logic. EPANET is an independent engine written by other people, which is what makes these the strongest checks on this page.
Can these published results drift from what the solver actually does?
No. Every number on this page is produced by calling the real solver when the page is built, not copied from a spreadsheet or a past run. An automated test re-runs every case on each build and fails if a value leaves its acceptance band, so a change that broke a case would stop the build rather than quietly rewrite this page.
Can I reproduce these verification cases myself?
Yes. Where a case maps to a shipped example, a link opens that network in the Studio so you can re-solve it in the browser and read the same numbers back. Each case also names the relation, the benchmark or the engine its reference value came from, so you can redo the check in whatever tool you already trust.
Like any analysis tool, Fluid Network Studio supports a qualified engineer's judgement rather than replacing it. Results should be reviewed before they are relied upon. See how it works for the methods, or open the Studio and check a network you already know the answer to.