Piping Network Simulator

v0.2 beta JA NovaSolver
Everything runs in your browser. Your model is never uploaded
Drag = move / pin to pin = wire / wheel = zoom / Shift+drag = pan / R = rotate / Del = delete

Verification

Every time this page loads, the solver is checked against analytic solutions right here in your browser. The source code is public on GitHub.

About this piping network simulator

Sizing a cooling-water line, estimating how flow splits after a branch, finding a pump's operating point — most of the questions you want answered before running 3D CFD are piping-network (fluid circuit) calculations. This tool is a 1D piping network solver: wire pipes, valves, pumps and flow sources like a circuit schematic, and every node pressure and element flow rate is computed instantly.

The electrical-circuit analogy

A piping network shares its mathematical structure with an electrical circuit. The one difference is that the resistances are nonlinear (losses scale roughly with flow squared), which is why the system is solved with Newton's method.

QuantityElectrical circuitPiping network
Across variable (potential)Voltage V [V]Pressure ΔP [Pa]
Through variable (flow)Current I [A]Flow rate Q [m³/s]
Resistive elementR [Ω] (linear)Pipe resistance (nonlinear, ~Q²)
SourcesVoltage / current sourcePump / flow source

The equations being solved

Pressure drop in a straight pipe follows the Darcy–Weisbach equation:

ΔP = f · (L/D) · (ρ/2) · v|v|

The friction factor f switches on Reynolds number Re = ρ|v|D/μ. Laminar flow (Re < 2300) uses f = 64/Re — in which case ΔP reduces to the Hagen–Poiseuille solution ΔP = 128μLQ/(πD⁴) — and turbulent flow uses the explicit Swamee–Jain correlation:

f = 0.25 / [log₁₀( ε/(3.7D) + 5.74/Re0.9 )]²

The transition band (Re 2300–3500) is blended so the pressure-drop curve stays continuous. Local losses (valves, bends) follow ΔP = ζ·(ρ/2)·v|v|. Volume conservation — the analogue of Kirchhoff's current law — is enforced at every node and the resulting nonlinear system is solved with Newton's method. The UI displays pressures in kPa and flows in L/min (SI internally).

Component library

ComponentLawTypical use
PipeDarcy–Weisbach (auto laminar/turbulent)Friction losses in piping
Local loss (valve)ΔP = ζ·(ρ/2)·v²Valves, bends, fittings, orifices
Pump (fixed Δp)ΔP = constant (ideal source)Driving a circulation loop
Flow sourceQ = constantImposing a known flow
Fixed pressureTanks, open ends, reference pressure

What it does — and what it doesn't

This tool solves steady, incompressible, single-phase piping networks. It does not model water hammer, cavitation, two-phase flow, compressible flow or temperature effects. The pump is an ideal fixed-Δp source — real Q-H curves are planned for v0.3. And being 1D it cannot show velocity profiles or vortices; when you need those, move on to the fluid dynamics articles and CFD.

This is v0.2 beta. On the roadmap: pump performance curves, coupling with the thermal network (cooling loops), and transient analysis. Requests are welcome via the request form.