OpenSolve Pipe

Steady-state hydraulic analysis of pressurized pipe networks, in your browser.

Pumps, valves, fittings, branching and looped systems, with every result traced to its equations and sources. No installation and no account.

How it works

1. Lay out the network Add each element in the order the flow meets it: tanks, pumps, valves, equipment, tees and wyes.
Adding a component after the transfer pump: quick buttons for a gate, check or globe valve, a list of every component type, and where it goes in the network.
2. Describe each element The fields that define it come first; the rest wait under More, each default labelled.
The transfer pump's form: its status as On or Off, its control, its speed, and its rating with the pump curve.
3. Solve Flows, pressures and each pump’s duty, with anything physically invalid flagged.
The solved pump transfer example: converged, with a summary of the pump's flow, head and NPSH margin and the network's extreme pressures.
4. Check the pumps Each pump on its system curve, with efficiency, power and NPSH on the same flow axis.
The transfer pump's chart: its head curve crossing the system curve at the operating point, with the best efficiency point, and efficiency, shaft power, and NPSH required against available below on one flow axis.
5. See the working Every result has a trace: its inputs with their sources, the equations and the data used.
The transfer pump's trace: inputs labelled with their sources (default, library), then the equations for its curve, head, system curve and power.
6. Share the link The whole project travels in the link: nothing is stored on a server. Or export a workbook.
Sharing the project: its link to copy, with a note that the whole project is in the link, after the “#”, which browsers do not send to any server.
7. Compare scenarios Named cases, such as winter operation, solved and compared with the base case side by side.
The chiller plant example's base case and its winter scenario (tower bypassed) compared: each pump's flow and head in both, with the scenario's difference from the base case.
8. Goal seek Find the inputs that reach your targets, each trial a full solve: here, the pump speed for 15 L/s.
Goal seek on the pump transfer example: the flow into the discharge valve set to reach 15 L/s by varying the pump’s speed from 20 % to 100 %; goal met at 86.1 % speed, with Apply to base case and Apply as new scenario.

Step 1 of 8: Lay out the network

Examples

Illustrative projects: the dimensions and pump curves are made up to show the tool, not taken from a real installation.

What it models

Networks
Branching and looped networks, open and closed systems, fed by gravity, by a pressurized source or by pumps in series and in parallel.
Boundaries
Reservoirs, reference nodes (a fixed pressure, such as an expansion tank connection) and assigned-flow nodes (a fixed demand or supply).
Pipes and fittings
Pipe sizes from cited tables or your own dimensions; elbows, bends, reducers, entrances, exits and inline valves, and tees and wyes, with losses from cited correlations (Crane TP-410).
Pumps
Fixed-speed pumps from their curves, speed-controlled pumps holding a flow, and pumps run together as a station, with NPSH available and margin.
Valves
Gate, ball, butterfly and globe valves, check valves, pressure-reducing, pressure-sustaining and flow-control valves, and pressure relief valves in liquid service (API 520 and 526).
Orifice plates and equipment
Square-edged orifice plates (ISO 5167-2) as restrictions or flow meters, and heat exchangers, coils, strainers and filters rated by a pressure drop at a flow or by a Cv or Kv.
Fluids
Water, ethylene and propylene glycol solutions, and fluids you define.
Analysis
Pump and system curves, scenarios solved and compared side by side, goal seek, opt-in design checks, a project library of pipe specs and loss coefficients with their sources, and export to a workbook, CSV files or chart images.

How the results are checked

Its own solver, one method
The global gradient algorithm (Todini and Pilati) with Darcy–Weisbach friction and the Colebrook equation, the same for every network.
A reference suite
Benchmark cases from hand calculations, Crane TP-410 and textbook worked examples, and EPANET 2.2 runs, written from the cited sources by someone who did not read the solver’s code. Every change to the solver or to a loss coefficient must keep the whole suite passing.
Compared with EPANET
Randomly generated networks are solved by both, so a difference outside the benchmark cases is found too.
Cited data only
Fluid properties from CoolProp, pipe dimensions and roughness from the fluids library, and every loss coefficient from a named source; a value you enter is labelled as yours. No number is typed from memory.
Every result shows its working
Each element’s inputs with their sources, the equations and correlations, the data used and why a pump or valve is in the state it is; each solve has a summary of methods and assumptions, and a value left at its default is labelled “default”.
Versioned methods
Each solve records the calculation methods it used, and any change that can alter a result is recorded in a changelog.

Scope and limits

  • Steady state only: no water hammer or other transients.
  • Single-phase liquids: no gases, steam, two-phase flow or slurries.
  • Isothermal: one temperature throughout, no heat transfer along the network.
  • Pressurized pipes only: no open channels.
  • Not yet a stable release: the methods, the link format and the API may still change, and a link made today may not open, or may solve differently, after a change. Export the results you rely on.

Your project lives in the link

The whole project is compressed into the page address, after the “#”, which browsers never send to a server, so your project is never stored on a server. There are no accounts, analytics or cookies. To keep a version, keep its link.

Details

Every change makes a new link, and an old link still opens the project as it was. Recent projects are remembered in this browser only: the links of the projects you opened or changed here, listed on this page. They are never sent anywhere, and Forget all removes them.

Solving sends the project to the calculation server, and so does showing a pump's system curve. The server works out the results and sends them back without storing the project or writing it to its logs. To show the calculated properties of the chosen fluid, the fluid settings send the fluid (its type, temperature and concentration) the same way. All of this travels in the body of each request, never in the address it is sent to. The server's log keeps neither project data nor your IP address: for each request, only its method, path, HTTP version and status, and for a request the server fails on, the kind of failure.

OpenSolve Pipe is an engineering aid. Its results support, but do not replace, the judgment of a qualified engineer, and are provided without warranty.

Copyright © 2026 Chris Cirone. OpenSolve Pipe is free software, licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). Source code of this version, and the calculation server's source code. It includes open source packages under their own licenses: third-party licenses.