Skip to main content

Verification

Written and verified by , 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/s
    Studio (Flow (a loop branch))45.783 L/s
    Deviation< 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.

    Explore a related example in the Studio

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/s
    Studio (Regulated flow)238.50 L/s
    Deviation< 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 m
    Studio (Upstream head)90.399 m
    Deviation< 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/s
    Studio (Forward flow)282.04 L/s
    Deviation< 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/s
    Studio (Mass flow)189.55 lb/s
    Deviation0.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/s
    Studio (Branch flow)99.470 lb/s
    Deviation0.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/s
    Studio (Branch flow)-17.850 lb/s
    Deviation0.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/s
    Studio (Branch flow)90.000 lb/s
    Deviation< 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.490
    Studio (Loss coefficient K)29.693
    Deviation2.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.5715
    Studio (Loss coefficient K)0.5625
    Deviation1.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.320
    Studio (Loss coefficient K)7.315
    Deviation0.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 m
    Studio (Head loss)0.4103 m
    Deviation0.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 m
    Studio (Junction head)31.212 m
    Deviation< 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.

    Explore a related example in the Studio

Liquid networks

  • Single pipe, turbulent (vs Colebrook-White)

    Reference: Colebrook-White equation (the classical implicit turbulent friction law)

    Reference20.144 L/s
    Studio (Flow)20.210 L/s
    Deviation0.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/s
    Studio (Flow)0.0339 L/s
    Deviation< 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/s
    Studio (Flow)175.89 L/s
    Deviation0.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/s
    Studio (Pump flow)17.817 L/s
    Deviation< 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.

    Explore a related example in the Studio

  • Variable-speed pump at 85% (affinity laws)

    Reference: Affinity-scaled pump curve with Colebrook-White friction (independent reference implementation)

    Reference9.574 L/s
    Studio (Pump flow)9.560 L/s
    Deviation0.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.

    Explore a related example in the Studio

Hazen-Williams

  • Single pipe, Hazen-Williams (closed form)

    Reference: EPANET 2 Users Manual (Rossman 2000), Hazen-Williams head-loss, SI form

    Reference184.54 L/s
    Studio (Flow)184.54 L/s
    Deviation< 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.

    Explore a related example in the Studio

  • 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 m
    Studio (Junction head)81.668 m
    Deviation< 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.

    Explore a related example in the Studio

Compressible gas

  • Isothermal gas pipeline pressure drop

    Reference: Exact isothermal compressible relation incl. the acceleration term (Saad, Compressible Fluid Flow)

    Reference1.165 kg/s
    Studio (Mass flow)1.162 kg/s
    Deviation0.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.

    Explore a related example in the Studio

  • Methane trunk line, delivery pressure

    Reference: Exact isothermal compressible relation with Colebrook-White friction (independent reference implementation)

    Reference2732.33 kPa abs
    Studio (Delivery pressure)2731.04 kPa abs
    Deviation0.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 °C
    Studio (Delivered temperature)69.643 °C
    Deviation< 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.

    Explore a related example in the Studio

  • 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 °C
    Studio (Delivered temperature)73.362 °C
    Deviation< 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.

    Explore a related example in the Studio

  • 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 °C
    Studio (Mixed temperature)54.000 °C
    Deviation< 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.

    Explore a related example in the Studio

Non-Newtonian

  • Three-reservoir junction, power-law fluid

    Reference: Metzner-Reed (1955) generalised Reynolds number + Dodge-Metzner (1959) friction; independent reference solver

    Reference31.792 m
    Studio (Junction head)31.792 m
    Deviation< 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.

    Open this exact case in the Studio

  • 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 kPa
    Studio (Pressure drop)81.677 kPa
    Deviation< 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.

    Explore a related example in the Studio

  • Laminar Bingham line (Buckingham-Reiner)

    Reference: Buckingham-Reiner equation, inverted independently for the wall shear stress

    Reference53.831 kPa
    Studio (Pressure drop)53.831 kPa
    Deviation< 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.

    Explore a related example in the Studio

  • Turbulent power-law line (Dodge-Metzner)

    Reference: Dodge-Metzner (1959) friction correlation, implemented independently

    Reference232.47 kPa
    Studio (Pressure drop)232.47 kPa
    Deviation< 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.

    Explore a related example in the Studio

  • Turbulent Bingham line (Darby-Melson)

    Reference: Darby-Melson (1981) turbulent friction with the Hanks transition; independent reference implementation

    Reference135.11 kPa
    Studio (Pressure drop)135.11 kPa
    Deviation< 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.

    Explore a related example in the Studio

Other methods

  • Single pipe, fixed friction factor (closed form)

    Reference: Darcy-Weisbach with a constant f (exact)

    Reference133.15 L/s
    Studio (Flow)133.15 L/s
    Deviation< 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.