Utility networks
Dry and wet infrastructure — water, sewer, storm, gas, electric, telecom — modelled as a network of structures (manholes, chambers, valves) joined by pipes, with a built-in hydraulic solver behind it.
What a network is
Unlike an alignment, a utility system is a graph: structures are the nodes, pipes are the edges, all held inside one network object in the Object Browser. Each network has a discipline (its colour and behaviour) that decides whether it is pressurised (water, fire) or gravity (foul sewer, storm).
Create one from Utilities ▸ Create ▸ Create Network…. Like Civil 3D's Network Layout Tools, the dialog lets you pick the discipline, the structure and pipe part families from the catalog (these seed the network's Parts List defaults), a reference surface for rim levels, and — for the along-alignment method — the alignment to lay the run beside. Then either draw it freehand in Plan or lay it along the chosen alignment.
Editing a network
Select a network, then use the Utilities ▸ Modify commands. Every edit is undoable.
| Command | What it does |
|---|---|
| Add Structure | Click in Plan to drop a structure into the selected network; it auto-connects to the nearest one with a pipe. |
| Connect Pipe | Click two structures to join them with a pipe. |
| Fitting Check | Pressure networks: whether a fitting exists that makes each joint, and whether any main ends open. |
| Hydraulic Check (Manning) | Gravity networks: each pipe's slope, design flow, the depth it runs at (d/D) and the velocity at that depth, with its full-bore capacity, against the sewer standard's velocity window. The same numbers the Design Pipes pass judges; a network with no loading configured shows the full-bore velocity, labelled as such. |
| Pressure Check (Hazen-Williams) | Pressure networks: each pipe's flow, velocity and friction loss against the water standard's velocity window. By default at the flow the EPANET solve of the network's own demands puts through it; One flow in every pipe is kept as an explicit pre-sizing estimate and is labelled as one. |
| Inlet Capacity Check | HEC-22 gully capture: what each inlet catches, the spread it produces, and the bypass that reaches the next one. |
| Design Pipes | One pass over the network: sets each pipe's diameter, slope and both inverts together against the Design Rules. |
| Draw Catchment | Draw a service-area polygon; it drains to the nearest structure (used by the storm solver). |
| Delete Part | Removes the selected pipe / structure / catchment (also the Del key in the viewport). |
| Split at Pipe | Cuts the selected pipe; if that splits the graph, the cut-off side becomes a new network. The new one inherits the design rules AND the analysis settings, so both halves solve under the same assumptions. |
| Merge Networks | Folds one network's structures and pipes into another. |
Pick any pipe or structure to edit its properties — name, diameter, slope, rim / invert, and (Civil-3D style) a pipe's own start / end invert for a drop across the structure. You can also move structures by dragging their grips in Plan, or their rim / invert in the Profile view.
Parts List, rules & naming
- Parts List (Utilities ▸ Parts & Rules) — a catalog surface: the network's default pipe / structure family, a per-member assignment grid, the design rules and the naming templates in one dialog. Parts come from the Part Builder definitions, so sizes and wall thickness are real, not hardcoded.
- Design Settings… (Utilities ▸ Parts & Rules) — a tabbed editor for
everything that governs the network, applied as one undoable step:
- Design Rules — min cover, min/max slope, max pipe length, min/max velocity, structure drop.
- Hydraulics — source structure, supply head, default demand / inflow, the pressurised headloss formula (Hazen-Williams / Darcy-Weisbach / Chézy-Manning — drives the EPANET solve), simulation duration, routing step, design rainfall, and the design storm (return period, IDF curve, storm duration).
- Friction — a per-pipe roughness override table. Leave it at
0to use the material default, or type your own value to override it. The column adapts to the discipline: Manning's n for gravity networks, Hazen-Williams C for pressurised ones — exactly the number the EPANET / SWMM solve uses. - Naming & Parts — structure / pipe name templates and the default catalog families.
- Design rules — Validate Design Rules reports every breach (including connectivity problems — dangling / duplicate / isolated parts) to the Event Viewer; Apply Design Rules lowers inverts so a gravity run meets min slope and cover.
- Naming templates — auto-label structures / pipes with tokens
<KIND>,<#>,<NET>. - Network Quantities — a take-off: pipe length by size and material, structure counts by kind, and an estimated trench excavation volume.
Individual friction overrides are also editable one at a time: pick a pipe and set its Friction (0=material) field in Properties.
Material Library (Utilities ▸ Parts & Rules) — a project-wide table of
pipe materials and their roughness for every headloss formula
(Hazen-Williams C, Darcy ε in mm, Manning n). This replaces the old
hard-coded values: pick a material on a pipe and the solve reads its roughness
from here. Edits are saved beside the program (materials.txt), so
they survive a restart. Re-run the analysis after editing to apply.
Coordination — cover and clashes
Utilities → Coordination → Cover Depth & Clash Check runs two checks that answer different questions.
Cover compares each pipe's crown with the ground above it at both ends, against the network's minimum cover, and reports to the Event Viewer — one pipe against the ground has nothing to pair with.
Clashes become objects. Each one appears under a Utility Conflicts group in the Object Browser, is marked with a red cross in Plan showing the clearance and what was needed, carries both parties and the governing rule in Properties, and is saved with the document. A finding you cannot select is a finding you cannot work on, which is why Civil 3D's Interference Check and Bentley's Utilities Conflicts Tool both produce objects too. Re-running the check replaces the set, so a clash you have designed out disappears rather than lingering as a stale note. The refresh touches only the check's own conflict objects — anything else you keep in that group stays — and a run is one Undo step.
The clearance is measured in three dimensions, barrel to barrel. That matters: two services running side by side a hand's width apart never cross in plan, and a check that only looks for plan crossings cannot see them at all.
How much clearance a pair needs depends on the disciplines — a potable main beside foul drainage is the pairing every authority writes a separate number for. The values shipped are the ones in common use, and each conflict names the rule it used so the number can be argued with. They are a stand-in: a project's real figures belong to the design-standard axis, and this asks it once that carries them.
Hydraulic analysis
Two industry-standard engines are built in and run inside the program: EPANET for pressurised networks and SWMM for gravity storm / sewer. There is nothing to install and no file to hand off — you just run the analysis and the results become part of the model.
Setting it up
Select the network and edit its Analysis settings in Properties:
| Setting | Meaning |
|---|---|
| Supply head | EPANET: the source reservoir head above the highest structure. |
| Default demand / inflow | The loading applied at each node when it has no value of its own. |
| Per-structure demand | Override the loading at one structure (Properties of that structure). |
| Design rainfall | SWMM: a storm intensity (mm/hr) that drives runoff from the catchments. Used only when no return period is set. |
| Return period | The design storm's frequency in years. Setting it derives the intensity from the IDF curve instead of using the typed rainfall. 0 keeps the typed number. |
| IDF curve (a, m, b, c) | The project's rainfall curve, i = a·T^m / (t+b)^c — intensity in mm/hr for a storm of t minutes at a return period of T years. |
| Storm duration | How long the design storm lasts. 0 derives it as twice the governing time of concentration, floored at 30 minutes. |
| Curve source | Who published those coefficients. Leave it empty and every run warns that the design rests on a placeholder. |
| Catchment area / imperviousness | A structure's contributing area, or a drawn catchment polygon, generates rainfall-runoff to that node. |
| Per-capita flow | Foul: water use in litres per person per day. 0 leaves the per-node demand in charge. |
| Return factor | The fraction of that water reaching the sewer rather than being drunk, evaporated or watered onto a garden. |
| Peaking factor | Harmon, Babbitt, Ten-State Standards, or a factor you state. |
| Infiltration | Groundwater allowance in litres per day per kilometre of sewer above each point. |
| Contributing population | The people one structure collects from (Properties of that structure). |
| Duration / routing step | SWMM simulation length and time step. |
The design storm
A storm network is designed for a storm of a stated frequency — a 1-in-10-year event, a 1-in-100-year one. Until you set a return period, yucad3d has no idea which: it simply uses the rainfall intensity you typed, and no report can say what the network was designed for. Setting a return period changes that. The intensity is then derived:
- Each catchment's time of concentration (Tc) is computed — how long the furthest drop takes to reach the outlet. Choose Kirpich (rural, channelised), the FAA formula (paved, shallow sheet flow), or state it yourself. It is floored at 5 minutes, as every authority requires.
- The longest Tc in the network governs: one rain gage serves them all, and the critical storm is the one that lasts long enough to bring the whole area on at once.
- The project's IDF curve is read at that duration and return period, giving the design intensity in mm/hr.
- The Rational method (
Q = C·i·A) gives a peak flow per catchment — the hand-check figure — while SWMM routes the same storm through the actual pipes.
Every one of those numbers is printed to the Event Viewer with the results, per
catchment: area, the runoff coefficient C used, Tc, and Q. Numbers
you did not supply are marked. A C derived from imperviousness says
"(from imperviousness)"; a Tc computed from an estimated flow length says
"(flow length assumed)". Set the catchment's own runoff C,
flow length and slope in its Properties to
replace the assumptions with your own figures.
The storm's shape
An IDF curve gives one number: the average intensity of a storm of a given length. Routing needs the storm's shape. A storm that rains at its peak intensity from start to finish has no peak at all, drops far more water than the curve describes, and makes nonsense of anything that attenuates flow, such as storage or detention.
yucad3d therefore builds a design hyetograph by the alternating block method: the IDF curve is read at every interval, the depths are differenced into the increment each interval adds, and those increments are laid out with the largest in the middle. The result has the property that makes it usable — for every duration centred on the peak, the average intensity equals the IDF curve's own value for that duration. SWMM then routes that shape through the real pipes.
The storm duration is not the simulation length. The simulation
must run on past the rain so the network can drain; if you set it shorter than
the storm, every run says so, because SWMM would otherwise cut the rain off
mid-storm and still report success. Left at 0, the storm duration is
derived as twice the governing time of concentration (at least 30 minutes) and
the report marks it as assumed. An authority that mandates a 6-hour or 24-hour
design storm is entered directly.
The report states the storm's block count, total depth and peak intensity, so the shape can be checked rather than taken on trust.
The built-in IDF coefficients are a placeholder, not an authority's rainfall. They exist so the machinery runs, and every solve warns while they are unsourced. Enter your project's published curve and name it in Curve source before the numbers mean anything. yucad3d ships no country's rainfall data.
Sanitary loading
A foul sewer can be loaded from the people it serves instead of a flow typed at each manhole. Set a per-capita rate and a return factor on the network, then give each structure its contributing population in Properties. The average dry-weather flow follows, and the report says exactly how each pipe's number was arrived at.
A peaking factor is not applied per manhole. Harmon, Babbitt and the Ten-State formula all take the population served at the point being designed, and all fall as that population rises, because the morning peaks of many small contributors do not coincide. Peaking each manhole's own handful of people and adding up the results over-sizes every pipe in the network, worst at the outfall where the population is largest and the true factor smallest. yucad3d therefore walks the network, accumulates population downstream, and applies the factor to the accumulated figure.
Which way a pipe drains is decided by its invert levels, not by the order it was drawn, so reversing a run's levels reverses the accumulation without touching a pipe. If the inverts describe a loop, which a gravity sewer cannot have, the run says so rather than silently under-counting.
Infiltration is charged against the length of sewer above each point and is never peaked: groundwater has no morning rush. A structure with an explicit per-structure demand keeps it, because a trade discharge or a pumped inflow is not a population.
Drawing a main that can be built: the compass
A pressure main clicked freehand lands wherever the mouse was — 27.6°, 37.2° — angles no bend is manufactured in. With Snap bends to standard fittings ticked in Create Network (on by default for a pressure discipline), each turn you draw is rotated onto the nearest angle a fitting exists for — 11.25, 22.5, 45 or 90°, or your project standard's own ladder — keeping the segment length you clicked. The rubber band shows where the vertex will land before you click, the status line says what it snapped from and to, and the committed network carries a Bend at each turn. The result passes Fitting Check by construction instead of failing it.
Within a degree of straight the turn snaps to exactly straight, because a main laid in one line still wanders by a fraction of a degree between clicks. The two ends stay valve chambers, which terminate a main legitimately. The box is disabled for gravity disciplines: a manhole turns any angle it likes.
Cover along the run, and a main that follows the ground
A pressure main is not designed by invert and slope. It follows the ground at a constant cover, dipping and rising with the terrain and turning through vertical bends where the grade changes. Until now yucad3d kept cover only at a pipe's two ends; between two structures the pipe was a straight line whatever the ground did — across a hollow it came within centimetres of daylight, and the long section could not show it, because it drew straight lines between the structures' rims and called that the ground.
Cover Check samples the terrain along every pipe of every network and reports the least cover, where it occurs, and each breach. Where no surface covers a pipe it measures against the rims instead and says so: cover against a straight line between two rims is a guess, and the report marks it as one.
Follow Cover re-profiles a pressure main: every pipe whose straight
run breaches is split at the point of least cover, at invert = ground −
required cover − bore, and the check repeats until no run breaches. The
inserted nodes are junctions named VB-n — vertical bends, placed
in the run between their neighbours so the long section still reads left to right.
One undoable step. Gravity networks are left alone: their inverts are a slope design,
and lowering a manhole to chase cover would break the fall Design Pipes set.
A shortfall at a structure is not the run's to fix: no split between two fixed ends raises the cover at either of them. Follow Cover therefore only splits where a pipe's interior falls below what its ends already keep, and reports a shallow structure once, by name (“lower that structure”). A main laid 10 cm shallow at every valve is left as it is, with four notes — not carved into sixteen pieces by ground wobble.
The long section now draws the sampled terrain along each pipe. A stretch with no surface under it is drawn dimmer, as the rim-to-rim guess it is; a crown that rises above ground minus the required cover is marked in red.
Tanks, pumps on their curve, valve status and fire flow
A pressurised network is more than a reservoir and demand junctions, and the pieces it was missing are now ordinary properties:
- Storage tank — a structure type. A tank is a cylinder standing on its invert (the floor); its Tank group holds the diameter and the minimum, maximum and initial water level above the floor. The extended-period solve fills and drains it, and when a network has a tank and the source is on auto, no reservoir is invented: the tank is the boundary. In the long section the tank's head is its water surface.
- Pump curve — when a pipe's link type is Pump, the
Pump curve group takes the three catalogue points (shutoff head, design
flow / head, maximum flow / head) and shows the curve they make,
h = h0 − r·q^n, with the flow at which the pump runs dry. A pump with no curve is the constant-power pump (kW) it always was; three points that do not describe a falling curve are rejected with the reason. - Valve status — a valve chamber is Open or Closed. Closed shuts every pipe meeting that chamber, so what hangs off it alone is cut from the source, exactly as closing the valve in the street does. A pipe has a Status of its own too — Closed keeps it in the model but shuts the link, an inline valve turned or a length out of service. Run the analysis with either closed to see what an isolation costs.
- Demand pattern — in Analysis settings, a comma list of multipliers spread evenly over the run (24 values over a 24 h run = hourly). Empty keeps the built-in diurnal day every run used before.
- Fire Flow Check (hydrants) — Utilities › Analysis. For each hydrant in turn the network's fire flow (Analysis settings, default 30 L/s) is drawn on top of normal demand and the residual pressure there is reported against the rule, with the lowest pressure anywhere else. The rule is the project water standard's fire residual where it publishes one (İLBANK: 15 m) and the network's own setting otherwise (default 14 m, about 1.4 bar); the line says which. Criticality uses the same rule. One hydrant at a time: two fires at once is not the design case. A network with no hydrant is told so — set a structure's type to Hydrant.
- Service pressure window — after every EPANET analysis, when the project water standard publishes one, each junction whose lowest pressure in the run falls under the minimum (İLBANK 5.9.1: 20 m, 30 m above 50,000 people) or whose highest pressure exceeds the static maximum (65 m) is warned about in the Event Viewer, with the standard's citation. The highest pressure of a demand-driven run is the nearest it gets to static pressure, and the warning says so. The source and tanks are boundaries and are not checked.
Criticality — which segment hurts most to shut
A main is operated in isolation segments: the pipes between two valve chambers are what a crew can take out of service together. Utilities › Analysis › Criticality finds those segments (every Valve chamber is a cut; a pipe between two valves is a segment of its own; a run with no valves is one segment), shuts each in turn on a copy, solves, and ranks them: most unmet demand first, then most nodes affected. Each line names the bounding valves, the pipes, the nodes left dry (inside the shut piece, or cut from the source), the nodes still served but below the residual rule, and the lowest pressure that remains. A network that comes back as one segment is told plainly that any shutdown is a total one — the fix is more valve chambers where the crew can actually close.
Surge — will the pipe survive a pump trip?
Utilities › Analysis › Surge Check (Joukowsky) is the design
check for water hammer, not a transient solver. For every pipe it works out the
wave speed its material and wall give
(a = √((K/ρ) / (1 + K·D/(E·e))) — a plastic main
brings it down to a few hundred m/s, steel keeps it near 1200), then the first
head rise Δh = a·Δv/g for the two events an operator
causes: a pump trip (the full flow stops) and a valve
closure over the network's Valve closure time (Analysis
settings; 0 = instantaneous; slower than the wave's round trip 2L/a relieves the
rise, Michaud). The velocity is the one the last analysis found, or a fresh steady
solve. The result is judged twice: the maximum head against the pipe's
pressure class (PN on the pipe, in bar; 0 = the material's
usual class, stated as built-in) and the minimum head against vapour (−10 m
— column separation, the downsurge that collapses back with a bang). Wall
thickness comes from the pipe when set, else a class-typical default the line also
states. A slower closure, a higher class or surge protection (air vessel, relief
valve) is the remedy the report points at.
The fitting drawn as the part it is
With View › Plan: Real-width footprints on, a bend is no longer a point where two lines meet. It is drawn as the catalogue part: the family baked at the pipe's bore and the turn's angle, with its own centreline radius from the Part Builder catalogue, laid in the same frame the 3D view uses. The two pipes stop short of the corner at the fitting's laying length (R tan δ/2), so the run reads pipe – fitting – pipe, in plan and in 3D alike. Tees, crosses, reducers and caps draw from their own families, flat in the pipe plane.
The centreline radius scales with the bore: the long-radius convention, R = 1.5 × DN (ASME B16.9's long-radius elbow), so a DN 600 bend is not drawn with a DN 100 bend's radius. The placement records which rule it used. In plan the bend is drawn as a true arc — inner and outer curves between the two tangent points — not a polygon.
One laying length, everywhere: the pipe's clear length (Properties, the quantities take-off, the solver's pipe length, the IFC export), the barrel width in the long section and the cross-section, and the plan and 3D drawings all end a pipe at the same tangent setback. A schedule that disagreed with the plan by twice the setback per bend is a schedule a contractor would argue with.
The drawn radius is not read from the project standard. The plan view has no access to the document's standard, and a radius the 3D view read but the plan did not would make the two disagree about where a pipe ends. Instead, where your water standard publishes a radius per DN, Fitting Check reports any bend drawn with a different one, citing the norm's table. A standard-driven drawing radius needs the plan view to carry the document first.
Can it actually be built?
A pressure network can be drawn, solved, reported and exported while being impossible to construct, and the hydraulics will never notice. Fitting Check asks the question the solve does not: is there a fitting that makes each joint?
| What it catches | Why it matters |
|---|---|
| A deflection no fitting makes | Pipes meeting at 37° at a bend. Catalogues carry 11.25, 22.5, 45 and 90. Either the geometry moves or two fittings are needed. |
| A turn with no bend fitted | Two pipes changing direction through a plain junction is a drawing, not a joint. |
| Diameters meeting with no reducer | A 300 mm main meeting a 200 mm one. Somebody has to buy the reducer. |
| The wrong branch count | A tee with four pipes, a cross with three, a cap with two. Each is a fitting that does not exist. |
| An open end | A main that simply stops. On a gravity run that is an outfall; on a pressure main it is a hole. A cap, hydrant or valve terminates it properly. |
The bend angles come from the project's water standard where it publishes them, and the report says which ladder it used. Every finding names the structure and the number, never a count — “7 problems” tells you nothing you can act on.
What the project's standard decides
Where the design standard you selected publishes a criterion, it governs, and the numbers in Design Rules are only the fallback. That is the right way round: a project on a norm should be designed to that norm, not to whatever was typed into a dialog.
The standards files already carry real, sourced criteria, and the design now reads them:
- Maximum fullness by diameter. The Turkish kanalizasyon norm allows four-tenths depth in a 200 mm pipe rising to eight-tenths in a 1400 mm one. A single project-wide figure cannot express that, and using one silently designs small pipes too full and large ones too empty.
- The slope window by diameter, and the self-cleansing velocity, which some norms also state against size rather than as one number.
- The peaking factor, where the authority publishes a curve against population rather than expecting a formula. Choose Project standard's curve as the peaking method to use it. İLBANK publishes one; its bands are read as bands, never interpolated, because a value between two published bands is a number the authority never wrote.
- The maximum velocity and the minimum cover. Where the standard publishes them, the design takes the stricter of the standard and your Design Rules: a project may ask for deeper cover or slower water than the norm, never for less.
- Storm sewers follow the storm rules. A Stormwater network reads the standard's storm criteria first and the general sewer ones only where no storm rule exists. For Turkish projects that is the 2017 storm regulation (Yağmursuyu Yönetmeliği, RG 23.06.2017, Ek-1): 0.5–5 m/s, up to 90 % full, the Çizelge 1.4 slope window per diameter and 1.2 m of cover. A foul network in the same project keeps the foul criteria (0.5–3 m/s, 40–80 % full by diameter). Hydraulic Check judges both against the same windows the design used.
Every line of the design report says where its governing number came from — the norm and its own table reference, or project default. A reviewer has to be able to tell a requirement from a preference, and only the report can tell them.
A norm published as a table of material against production quality — Manning's n in the Turkish Çizelge 2.10, for instance — is not consumed, because choosing a row needs a production quality the model does not carry. The material's own roughness stands instead. That is stated rather than guessed at.
Gullies: capture, spread and bypass
A gully on grade does not take everything that reaches it. Typically it catches two-thirds, and the rest runs on down the gutter to the next one. Inlet Capacity Check works that out by HEC-22, the FHWA method, and carries each gully's bypass to the one below.
Assuming full capture is wrong in the direction that hurts. It over-credits the gullies at the top of a run, under-loads every one below them, and most of all under-loads the last inlet before a low point — which in reality receives the accumulated bypass of the whole run and is the one that floods.
Spread is the width of water across the carriageway, and it, not pipe capacity, is what actually decides gully spacing: you are choosing how far water is allowed to encroach into a traffic lane. Set the allowable spread with the gutter crossfall, long slope and roughness in Design Settings, and the run reports the spread each gully produces against it.
Set each gully in its structure's Properties: the inlet kind (grate, kerb opening, or a sag inlet that cannot bypass because there is nowhere to bypass to), the grate pattern, its size, and any clogging you want to allow for. A clogging factor removes part of the inlet rather than scaling the answer, because a half-blocked grate behaves like a narrower grate, not like a full one catching half.
Two things worth knowing about the numbers. Spread goes as the flow to the power 0.375, so doubling the spread carries more than six times the flow — gully spacing is very sensitive. And the bypass is routed down the pipe network's own downstream order as a stand-in for the gutter, which is right whenever the gullies were laid along the road in the order they drain.
Designing the pipes
Design Pipes is the one that sets levels. It walks the network from the heads down to the outfall and chooses, for each pipe, the diameter and both inverts together — because they are one problem, not three. The diameter that carries the flow depends on the slope; the slope is limited at both ends; the invert is fixed above by what arrives and below by the cover the pipe must keep. Pick any one of them alone and the run then fails another.
It satisfies all of these at once, from Design Rules:
- carries the design flow at that point — taken from the network's own loading, the sanitary design flow for foul and the catchments' Rational flow for storm, both accumulated downstream. The fallback number in the command is used only where no loading is set;
- slope within the minimum and maximum;
- velocity above the self-cleansing minimum and below the scour maximum;
- cover under the rim at both ends;
- the structure drop applied, and the invert never rising downstream;
- crowns matched where the diameter grows, so a larger pipe cannot back water up into the one feeding it.
Design fill is how full a pipe may run at the design flow, and it
is a limit on depth, the way every authority states it: 0.75
means the water may reach three-quarters of the bore. Sizing to run completely full
leaves no freeboard at peak, which is exactly where surcharge starts.
Depth and flow are not the same fraction. A circular pipe at three-quarters depth carries about 91% of its full-bore flow, not 75% — the flow curve runs well above the depth curve, and actually peaks about 7.6% above full at around 0.94 depth, because the wetted perimeter keeps growing after the area has stopped gaining. A pipe carrying exactly its full-bore discharge runs only about 0.82 deep. Reading a depth rule as a flow rule over-sizes every pipe in the network.
The report therefore quotes what the pipe actually does at the design flow: the depth in millimetres, the proportional depth against your fill rule, and the real velocity of the water that is there — not the full-bore figure, which flatters a pipe running a quarter deep and condemns one running near the top. The self-cleansing check uses that real velocity.
A pipe marked SUPERCRITICAL has a Froude number above 1: the flow is shooting rather than tranquil. It is not an error and small pipes on steep-ish grades often are, but it is worth knowing, because supercritical flow arriving at a manhole can form a hydraulic jump.
Every rule it cannot satisfy is named per pipe in the Event Viewer, with the number and the structure involved. The pipes are still sized and levelled as closely as the rules allow — a design pass that silently produces a run it knows is too flat, too fast or too shallow would be worse than none.
Auto-Size Pipes is the older, simpler tool: it picks the smallest standard diameter that carries the design flow at each pipe's own slope and roughness. It is a single undoable step, so one Ctrl+Z puts the previous diameters back.
A pipe can also be a pump or a valve (PRV / FCV / TCV): set its Link type and a setting (pump kW or valve setting) in the pipe's Properties — the pressurised solve emits the matching element.
Running it
Utilities ▸ Analysis ▸ Run Analysis picks the right engine for the selected network's discipline (or runs every network), solves, and stores the result. The numbers also go to the Event Viewer.
A pipe the engine refuses — a zero or negative diameter, a material row with no roughness — is named in the warnings and is closed for the run, so it carries no flow. The pressures you read are then those of the network without it. Give it a diameter and a material and re-run.
Refresh Stale Results re-solves only the networks whose results an edit has made out of date, leaving everything else (and never-analysed networks) untouched — a quick way to bring the model back in sync after a round of edits.
Reading the results
- Properties — every pipe and structure gains an Analysis (last run) group: pressure / head / depth / surcharge for structures, flow / velocity / head loss / Froude / capacity for pipes. The network itself shows which engine and headloss formula produced the result, the continuity error, and a status (up to date / out of date / not run).
- Plan — pipes are tinted by the result you choose in Utilities → Analysis → Thematic Colouring…: velocity, % full, flow or pressure. A legend in the corner names the variable and the range, and the range is fitted to what the drawing actually holds — a network running at 0.6–1.6 m/s against a fixed 0–3 m/s scale would have been one flat colour. Every network is tinted on the same scale, so one legend serves the drawing.
- 3D — a gravity pipe with a result turns to a glassy shell with a blue water body filled to the computed depth (red when surcharged), so you can see how full each run is at a glance.
- Profile — the long-section, in the network's discipline colour, with a key naming every line and the hydraulic overlay from the last analysis: the HGL, the EGL (energy line, HGL + v²/2g per pipe, so it steps at each structure the way a structure loss does), and the flow state written per pipe — n% full, SURCHARGED when the bore is full, FLOODED when a structure at either end reached its rim, with supercritical added where the Froude number says so, and the velocity. A pipe too short on screen to hold its label is left unlabelled rather than labelled illegibly, and the key lists only the lines actually drawn — an EGL entry with no EGL under it would be a key that lies.
- A road's profile — every service that crosses that road is marked at the station it crosses, drawn invert to crown, with the cover to the road's design level. A negative cover means the pipe is above the road, which is a clash, and it says so.
- Sections — the pipes and structures this network puts across the active alignment appear beneath its cross-section, at true bore and true level, labelled with name and DN. A pipe crossing the road square-on is cut along its length (invert and crown); one crossing at a skew is cut through, as a circle. Only what lies within 30 m of the centreline is drawn — a road section is not a site plan.
- Long-section report — chainage runs along the pipes from each run's head structure, not through the structure list, so a branch is reported as its own run and anything not on a pipe is listed separately.
- Hydrograph dock — pick a pipe or structure to plot its time series (flow, depth or pressure). The slider scrubs the whole Plan and Profile back through time so you can watch the storm propagate.
Editing the network marks its result stale (the Hydrograph says so) until you re-run — the displayed numbers are never silently out of date.
The trench
A trench is not “outer diameter plus 300 mm times depth”. It has a bedding under the invert, a surround (the pipe zone) up to a stated height over the crown, a working clearance each side that sets the bottom width (never below a minimum), and below a stated depth vertical walls held by sheeting or a box, above it battered side slopes. All of that is the network’s Trench rules in Properties (Design rules group): 150 / 300 / 300 mm, 0.60 m, 1:1 above 1.5 m by default.
Trench Take-off (Utilities › Report) samples the depth along every pipe against the surface and integrates the section into volumes by depth band — 0–1.5, 1.5–3, 3–4.5, 4.5–6, > 6 m, the way a contractor prices it — and by material: excavation, bedding, surround, backfill, with the pipe’s own displaced volume stated. Network Quantities uses the same model. Where no surface covers a run the rims stand in and the report says so. Existing (record) networks are not dug and are not counted.
The Sections tab draws the trench around every pipe crossing of the active alignment: bottom at invert minus bedding, the walls per the rules, the top at the ground, the bedding line and the pipe-zone top dashed, and the bottom width and dig depth written under it — the section the drawing set needs.
Labels and tables
In Plan every pipe of a designed network carries DN · slope · length at its midpoint (DN · length on a pressure main) and every chamber its name, rim and invert — under the drawing’s LABELS toggle, and dropped as you zoom out so a plan is never a smear of numbers (pipes below 0.30 m/px, chambers below 0.15). A record (existing) network keeps only its name.
Utilities › Report › Structure & Pipe Tables opens the three
schedules of a network — the structure table (kind, coordinates, rim, invert,
sump, depth, connected pipes), the pipe table (from / to, DN, material, length,
slope, inverts, fall, class) and the manhole schedule (one row per pipe end at each
chamber: direction, DN, invert at the wall, drop below the rim — what the benching is
set from) — and exports them as CSV, one file each, for the drawing set or a
spreadsheet. Headless, utilities.report.tables with a folder writes the same
files for every network. Where a table sits on a sheet is the Layout tab’s decision.
Detention basins
Set a structure’s kind to Detention basin and it stops being a chamber: it becomes a pond with a storage curve. The Basin group in Properties takes the area at the floor, an area coefficient and exponent (surface area = area + coefficient × depthexponent, which is SWMM’s functional curve), the depth to the rim and the depth standing at the start of a run. The read-only Storage line shows what that curve actually holds.
What lets a basin out is a control link: set a pipe’s type to Weir, Orifice or Outlet and it loses its bore and gains a rating. A weir takes a crest shape (transverse, side-flow, V-notch, trapezoidal), the crest height above the node invert, the opening height, the crest length or side slope, and a discharge coefficient. An orifice takes side or bottom, round or rectangular, the opening’s invert and size, and its coefficient. An outlet is a bare rating, Q = coefficient × headexponent. The Rating line says what the link passes with the basin full. In plan a control link draws thin with a bar across it rather than as a pipe to scale, because it has no bore to draw.
Utilities › Report › Stage / Storage / Discharge tables each basin: at every stage from the floor to the rim, the water level, the surface area, the volume held and the total leaving through every control on it. That table is what a basin is sized against. A basin with no control link on it is called out rather than tabled as zeros.
All four go to the engine: a basin is written as a SWMM storage node, the controls as weirs,
orifices and outlets, and an imported .inp brings them back.
Culverts and open channels
A conduit is a circle until you say otherwise. The Section group on a gravity link offers box, arch and rectangular, trapezoidal or V-shaped channel, each with the dimensions it needs, plus a culvert entrance so the engine applies inlet control instead of routing on friction alone. Pick a shape and the bore stops answering: the plan band, the section outline, the trench, the quantities and the pipe schedule all read the section instead, at once. The read-only Carries line gives the full-bore capacity at the run’s own slope. An open channel is marked as open, because it spills rather than surcharges.
Utilities › Report › Conduit Sections lists every conduit with its flow area, hydraulic radius and capacity.
SuDS and LID
A catchment can carry a sustainable-drainage control: bio-retention cell, rain garden, green roof, permeable pavement, infiltration trench or vegetative swale. Choose one in the SuDS group and you are asked only about the layers that kind actually has — a rain garden is a bio-retention cell without the gravel, so it is never asked for a storage layer. Give each layer its thickness and its voids and the read-only Holds line reports the volume it can take before it overflows, in cubic metres and in millimetres over its own area.
Utilities › Report › SuDS / LID Controls lists each control, the share of its catchment it covers and the paved area it treats. The control and its placement are written to the SWMM model, so the run routes rainfall through it.
Scenarios
A network has one set of hydraulic settings, and every real design question is a comparison: this storm against that one, today’s population against the build-out, the pump on against the pump off. A scenario is a name plus its own copy of those settings.
Utilities › Analysis › Add Scenario makes one from the settings
as they stand, so the first costs nothing, and makes it active. The Scenario chooser
in the network’s Properties switches between them: the chosen one’s settings become
the network’s settings, so the solve, the reports and the .inp export all
keep reading the one place they always read. An edit made while a scenario is active is saved
back into it when you switch away, and a run folds it in first, so what you just typed is what
gets compared.
Utilities › Analysis › Run Scenarios runs every one of them in turn and lists them side by side: peak flow and the pipe it is in, peak velocity, the lowest pressure or the deepest chamber, and how many chambers surcharge. It then names which scenario governs for flow, which fills a pipe fullest, and which surcharges. The run leaves the design exactly as it found it, including which scenario was active.
Ponding
This is a bathtub approximation, not a flood model. It takes the volume the run says came out of a chamber, pours it onto the ground surface at that point, and finds the level at which the hollow there holds exactly that much. It solves nothing about momentum, flow paths or timing, and no figure it produces should be presented as two-dimensional overland routing. Every line it prints says so.
Utilities › Analysis › Ponding Footprint reports, for each chamber that flooded in the last run, the volume that came out, the level the water reaches, how far that is above the cover, the area it covers and how deep it gets. In Plan the wet region’s edge is drawn in pale blue with its area and depth beside it.
Two answers are not ponds, and are reported as such rather than dressed up as one. If the water reaches the edge of the area searched it does not pond there, it runs off, and the figures are a floor rather than an answer. If the hollow holds less than came out, the shortfall is stated and goes somewhere this cannot say. A chamber with no ground data under it produces no pond at all, instead of a flat guess.
Exchange
LandXML. File › Export LandXML now writes every utility
network as a <PipeNetworks> section beside the surfaces and alignments
— structures with rim, sump, centre and one invert per pipe end (a drop across a
chamber travels as the pipe’s own invert), pipes with diameter, wall, material,
length and slope, and the network type (storm / sanitary / water). File ›
Import LandXML reads the same section back, in metres or feet, and reconnects the
pipes by structure name. Civil 3D and the other products in this field speak this
dialect, so a pipe network drawn here lands there as a pipe network.
EPANET / SWMM .inp. Utilities › Report › Export EPANET / SWMM .inp writes one network as the input file the engine actually solved — a pressure network as EPANET (the very project the solve builds, saved by the toolkit), a gravity network as SWMM (the same text the bridge runs). Hand it to a colleague running the EPA tools and they see your model, not an approximation of it. Utilities › Create › Import EPANET / SWMM .inp reads the node / link core of either format back as a network: EPANET junctions, the reservoir (as the source at its head), tanks (as tanks), pipes, pumps and valves, with coordinates, units converted from the file’s (GPM / feet included); SWMM junctions, outfalls, storage, conduits, sections, inflows. What had to be assumed — a junction’s cover (an .inp carries none), a pump with a curve, a section that is not circular — is listed in the Event Viewer.
Existing utilities from a GIS layer. The services a design must avoid are usually record data — the authority’s water main, the telecom duct, the gas pipe — in a GeoJSON or a Shapefile. Utilities › Create › Import Existing Utilities reads either as one network: every line a run of structures at its vertices joined by pipes (lines meeting at a vertex share it), every point a structure. Attributes are mapped by the usual names (DIAMETER / DIA / DN in mm or m, MATERIAL / MAT, INVERT / INV, DEPTH / COVER, TYPE / DISCIPLINE / SERVICE, NAME / ID); the API call can name other fields. Where the layer says nothing the pipe is laid a stated default depth under the geometry, and the Event Viewer lists every assumption. The network arrives flagged Existing: drawn muted, skipped by Design Pipes / Apply Rules / Follow Cover and the take-off, held to no design rule — and the clash check runs your designed networks against it, which is what the layer is for. Two record layers are not checked against each other. The flag is a property (Existing) you can set on any network.
EPANET and SWMM are the US-EPA open-source engines, embedded under their permissive licenses; yucad3d drives them through their toolkit APIs.