Hydraulic modelling

EPANET: build, check and challenge a network

Open a complete teaching model, reconcile flow and headloss, and extend the assessment to demand, storage and outage scenarios.

Practical tutorial6 min readEdition: 25 September 2026
Workflow basis: EPANET 2.2; desktop workflow and INP inputAllow 30–60 minutes for the exercise

What you will produce

This exercise develops a reproducible hydraulic baseline and a small scenario register. You will open a synthetic three-junction network, check that the solution obeys continuity, compare pressure with independent calculations and make controlled changes. The purpose is to learn how to interrogate a model result, not just produce a coloured map.

Use EPANET 2.2 on a compatible desktop installation. The downloadable INP is a text-format model with all required network inputs. It contains no real utility information. The numerical expectations below are independent hand calculations; the Atlas has not executed this file in the desktop solver.

Download the EPANET input file ↓Download the complete practice pack ↓

Understand the model before running it

The complete baseline
ItemValue or configurationWhy it matters
Source R1Fixed hydraulic head 100 mA reservoir represents a head boundary, not a finite storage that can empty.
Junctions J1, J2, J3Elevations 40, 45, 50 m; demands 5, 3, 2 L/sElevation is separate from demand and from pressure.
Pipes P1, P2, P3Lengths 1,000, 500, 400 m; diameters 200, 150, 100 mmLength units are metres but pipe diameter uses millimetres in this SI setup.
ResistanceHazen–Williams C = 120, zero minor-loss coefficientsThis is a teaching assumption, not calibrated roughness.
AnalysisLPS units, demand-driven, duration zeroA steady snapshot with no pumps, tanks, patterns or water-quality reactions.

The path is R1 → J1 → J2 → J3. Each junction withdraws demand from the trunk. Map coordinates only arrange the drawing; they do not set the entered pipe lengths. Save the original file unchanged and create a separate working copy for each scenario.

Open and inspect the input

  1. Use File → Open to load atlas-network.inp, selecting the text input file type if required by the dialog. Confirm the project opens without input errors.
  2. In the Data Browser, inspect the junctions, reservoir and pipes. Check the values against the table above before running.
  3. Inspect the hydraulic options: flow units LPS, headloss H-W and the demand-driven formulation. Confirm the simulation duration is zero.
  4. Select Project → Run Analysis. Read the status report for warnings before interpreting the map.
  5. Use result tables or the browser to inspect pipe flow, node head and node pressure. Export or record the values with the input file and run date.

A successful solver status establishes numerical convergence for the supplied representation. It does not establish that the representation matches a real network. In practice, connectivity, survey datums, valve states, demand allocation and source conditions must be supported by evidence.

Check continuity and pressure independently

Independent baseline checks
Pipe / downstream nodeExpected flowApproximate pipe lossApproximate pressure head
P1 / J110 L/s0.754 m59.246 m
P2 / J25 L/s0.424 m53.822 m
P3 / J32 L/s0.448 m48.374 m
hf ≈ 10.67 LQ^1.852/(C^1.852D^4.87)

For this hand calculation only: Q is m³/s, D and L are metres. Minor losses are zero.

P1 must carry all three demands: 5 + 3 + 2 = 10 L/s. P2 carries 3 + 2 = 5 L/s, and P3 carries 2 L/s. Subtract cumulative friction loss from 100 m to obtain each junction head, then subtract its elevation to obtain pressure head. Small differences can arise from the solver’s numerical constants and rounding. Large differences require investigation.

Do not insert Q = 10 directly into the SI equation above when it means 10 L/s. Convert it to 0.010 m³/s. A units error can produce an apparently precise but physically meaningless result.

Run controlled sensitivity scenarios

  1. Create a demand case by multiplying all three demands by 1.2. The flows should rise proportionally in this simple tree; friction losses should increase by about 1.40 times.
  2. Return to the baseline and raise J3 elevation by 5 m. With demand-driven flow and all other inputs unchanged, J3 pressure head should decrease by 5 m.
  3. Return again and reduce the R1 head by 10 m. Every node head and pressure should fall by 10 m in this simple fixed-demand network.
  4. Restore the baseline and change only P3 diameter from 100 to 120 mm. At the same 2 L/s, its friction loss should fall to about 41% of the original.
  5. Compare each result with its intended mechanism. Record which inputs changed; do not mix several interventions and lose the ability to explain the effect.

These expectations are specific to this uncomplicated network. Pumps, pressure-dependent demands, valves and loops can change the response. Treat the exercise as an aid to physical reasoning, not a general shortcut for predicting every model.

Extend to a genuine planning assessment

An extended-period model needs realistic patterns, storage geometry, initial levels, controls and source availability. If base demands represent average conditions, normalise a 24-hour pattern to mean 1 unless you intentionally use another convention. Do not multiply a peak-day base by a pattern whose mean already contains the same peaking factor.

Represent finite storage with a tank, not the fixed-head reservoir used here. Run enough operating cycles to reveal whether storage replenishes. Compare initial and final volumes and check pump switching. Add measured observations for calibration, then validate against a different period.

For low-pressure outages, demand-driven analysis can still request the full demand even when physical delivery is impossible. EPANET 2.2 supports pressure-dependent demand, but its pressure parameters and interpretation require an engineering basis. Do not silently accept negative-pressure demand-driven results as a delivered service.

Troubleshoot by mechanism

Start with inputs and physics
SymptomInvestigate
Disconnected or unsupplied areaPipe endpoints, closed links, source connectivity and isolation boundaries.
Unexpectedly large lossesFlow units, pipe diameter units, entered lengths and the selected headloss formula.
Pressure wrong by nearly a constant amountSource head, datum and node elevation assumptions.
Storage steadily empties in a longer modelNet replenishment, control thresholds, available transfer hours and source limits.

Steady and extended-period EPANET modelling does not resolve water hammer. Use a suitable transient assessment for rapid pump trips or valve events. Water-quality simulation also requires appropriate initial conditions, source concentrations, mixing and calibrated reactions. Adding a quality variable without that evidence does not validate quality performance.

Package a reviewable result

  • The unchanged baseline and separate scenario input files.
  • A model-purpose statement, input register and adopted service criteria.
  • A continuity and head check, solver messages and relevant time-series results.
  • Calibration and independent validation evidence for any real-network application.
  • A short explanation of the governing mechanism, uncertainty and next investigation.

Continue to model calibration and storage and replenishment.

Sources & further reading

Source findings are distinguished from editorial interpretation. Apply current local criteria and project evidence when making engineering decisions.