MS

MEP Suits — Building Services Mechanical Toolkit

Built by an engineer, for the plant room — SI + IP

09 TOOLS I ACTUALLY REACH FOR0 HIDDEN FUDGE FACTORSEVERY NUMBER SHOWS ITS WORKING — CHECK ME

Size it like you’ll be the one running it.

Eight calculators with the working shown — Darcy–Weisbach, psychrometrics, ASHRAE 62.1 — live, checked against design bands, with a calculation record for QA.

Standards & method

The books on my shelf — what I sized this from

VentilationASHRAE 62.1 — Ventilation Rate Procedure, Table 6.1 / 6.2
Moist airASHRAE Fundamentals psychrometrics · Buck saturation correlation · Stull wet-bulb
Duct & pipe frictionDarcy–Weisbach · Colebrook via Haaland · Huebscher equivalent diameter
Pipe dimensionsASME B36.10 Schedule 40 — design on true internal diameter
Design bandsCIBSE AM12 / ASHRAE practice ranges, shown as checks on every result
Input controlEvery calculator input is clamped to declared limits in the LIMITS table (applied at runtime before any calculation); non-finite entries fall back to the design default

Straight talk: this is my design-stage aid, not a substitute for judgement. Don't issue anything for construction until a qualified engineer has checked it against the project spec, your local code and the manufacturer's real data. And yes — uncontrolled when printed, same as every calc I've ever filed.

Pick a tool, enter your actual conditions, and read three things: the headline number, the check pills, and the worked method. Design-stage numbers — final selection still needs manufacturer data and your project spec.

Calculation Record

Your paper trail for a design review.

Your paper trail — the bit that saves you in a design review

I added this because “trust me, I ran the numbers” doesn't survive a QA audit. It captures the headline result from every calculator, with the date, the standards basis and the check status. Run each tool first — the record only writes down what's actually on screen.

What the 3D view is for

Four jobs this view earns its keep on. Each one opens the viewer already set up for the job.

1 · Fit check: will it fit the void?

The classic plant-room failure: the main run is sized for airflow, then the ceiling void turns out to be 400 mm deep and the duct is not. Size the run in the Duct Sizer, then open the Section view. The clip plane cuts the run so you read the true section and its height against the 1 m grid, before a single line is drawn in CAD.

2 · Coordination: do the runs clash?

Duct over pipes looks fine on two separate drawings and clashes on site. Here both systems share one room: orbit it and check the branch take-offs against the pipe risers and the pump set with your own eyes. Ten seconds of orbiting beats a clash found by the installer.

3 · Sizes at a glance

Plan view, drawing style. The tags carry the live section and bore, the dimension reads the duct size off the model itself, and the strip at the top states both velocities. It is the quickest honest answer to "what size is that run, and how fast is it moving?"

4 · Show it to someone who does not read drawings

Clients and project managers do not read GA plans, and they should not have to. Realistic view, flow particles on: air moving through the duct, water through the pipes, at speeds set by your calculated velocities. The design explains itself in one look.

The rule behind all four

The room is not a picture of your design, it is generated from your design: change a duct section or a pipe bore in the calculators and the model rebuilds itself. So the check runs both ways: if the room looks wrong, a number upstream is wrong. It stays a design-stage aid, not for construction, and final verification stays with a qualified engineer.

Duct Sizer

Equal-friction or velocity sizing for round and rectangular duct.

Your numbers — punch them in

From my notebook: 90° radius bend ≈ 0.25 · tee branch ≈ 0.6–1.2 · damper ≈ 0.3–3. This is where most duct calcs quietly go wrong — count your fittings honestly.
Method & standards
The maths — no black box
De = 1.30·(a·b)^0.625 / (a+b)^0.25  (Huebscher)
Δp/L = f·(ρV²/2)/De  ·  Δpfit = Σζ·(ρV²/2)
1/√f = −1.8·log₁₀[(ε/3.7D)^1.11 + 6.9/Re]  (Haaland)
Total pressure drop
—
Velocity
—
Friction rate
—
straight duct only
Velocity pressure
—

Section — drawn to scale, not sketched

Equivalent diameter
—
Free area
—
Required Ø at target rate
—
Compare spiral sizes

Off-the-shelf spiral sizes at this airflow — what you'd actually order

Ø mmVelocity m/sPa/mMy call

What I tell juniors (ASHRAE / CIBSE AM12 behind it): mains 6–10 m/s, branches 4–6 m/s, final runouts 2.5–4 m/s if anyone has to sleep or concentrate near them; 0.8–1.2 Pa/m is the equal-friction band I design to. And flex duct — its drop can be 2–4× the straight prediction if it's sagging like a hammock. Keep flex short, pulled tight, or don't come crying to me about a starved grille.

Psychrometrics

Air state from dry-bulb plus humidity, wet-bulb, or dew point.

Pin your state point

Sea level 101.325 · 500 m ≈ 95.5 · 1,000 m ≈ 89.9 · 1,500 m ≈ 84.6
Method & standards
The maths — no black box
pws = 0.61121·exp[(18.678 − T/234.5)·T/(257.14+T)] kPa (Buck)
W = 0.621945·pw/(p − pw)  ·  h = 1.006·T + W·(2501 + 1.86·T)
Wet-bulb by Stull (2011) empirical solution
Enthalpy
—
kJ per kg dry air
Humidity ratio
—
kg water / kg dry air
Dew point
—
Wet-bulb
—
Density
—
Vapour pressure
—

The chart — your point, live, against saturation & RH curves

Now do something with it — cool / heat this air to…

Total load
—
Sensible
—
Latent
—
SHR
—

Sensible comes off the ΔT, total off the Δh — what's left is latent, and latent is the bit that catches people out. Negative means you're heating or humidifying, not cooling.

Ventilation — ASHRAE 62.1

ASHRAE 62.1 breathing-zone outdoor airflow.

The zone — be honest about occupancy

Method & standards
The maths — no black box
Vbz = Rp·Pz + Ra·Az
Voz = Vbz / Ez
System intake Vot then needs Ev (system ventilation efficiency) from Table 6.3 — and the worst zone governs, every time.
Zone outdoor airflow Voz
—
Breathing zone Vbz
—
Per person
—
Per m²
—
Outdoor-air ACH
—
People component
—

Where that air is actually going — people vs building

Reference spaces

The spaces I get asked about most — at default density

SpaceRpRaDefault densityTotal at density

Traps I've watched people fall into: 62.1 is a minimum for air quality, not your cooling quantity — supply air is usually far larger, don't confuse the two. Multi-zone systems must apply Ev (often 0.7–0.9 on VAV), which pushes intake above the simple sum of Voz. And CO₂ demand control can trim the people component in operation, but never below Ra·Az — the building itself still breathes.

Pipe Hydraulics

Darcy–Weisbach pipe sizing with a Hazen–Williams cross-check.

Your numbers — punch them in

From my notebook: 90° elbow ≈ 0.9 · tee through ≈ 0.6 · tee branch ≈ 1.8 · gate valve ≈ 0.15 · globe valve ≈ 10 (yes, ten — globe valves are head-eaters) · check valve ≈ 2.5
Method & standards
The maths — no black box
Δp = f·(L/D)·(ρV²/2) + Σζ·(ρV²/2) · head = Δp/(ρg)
Hazen–Williams: Δp/L = 10.67·ρg·Q^1.852/(C^1.852·D^4.87)
Pump duty head
—
Velocity
—
Pressure drop / 100 m
—
straight pipe, Darcy
Pump shaft power
—
Reynolds number
—
Hazen–Williams check
—
total Δp by H–W (straight only)
Compare sizes

One size up, one size down — because that's the real decision

SizeID mmm/skPa / 100 mMy call

How I size pipe (CIBSE AM12 / ASHRAE behind it): 0.9–2.4 m/s where people can hear it — faster gets noisy and starts eating the pipe — and 100–350 Pa/m as the economic gradient; past ~400 Pa/m you're just buying pump energy forever. Closed loops owe nothing for height, only open systems (tanks, towers) pay for lift. And don't forget control-valve authority — add ≥ 30–50 % of the branch drop on top of index-run friction, or your valves will hunt and you'll be back on site.

Water & Coil Loads

Flow from load, coil duty, and COP ↔ EER ↔ kW/ton.

Water-side flow — load in, flow out

Method & standards
Q = ṁ · cp · ΔT  →  flow (L/s) ≈ Q / (ρ·cp·ΔT) × 1000
Water shortcut: L/s ≈ kW / (4.19 × ΔT)

Chiller speak, translated — COP ↔ EER ↔ kW/ton

Method & standards
COP = kWcool/kWin · EER (BTU/Wh) = COP × 3.412 · kW/ton = 3.517/COP
Required flow
—
Load in tons
—
Mass flow
—
ΔT
—
COP
—
EER
—
BTU per Wh
kW / ton
—
Capacity
—
tons of refrigeration

Air-side coil duty — straight off the psych states

Total coil duty
—
Sensible
—
Latent
—
Condensate
—
litres per hour

Low-ΔT syndrome — I've chased this fault more than any other: measure 3–4 K across a coil designed for 6 K and your flow balloons for the same load, and pump energy climbs with the cube of that flow. Don't take my word for it — run 6 K, then run 3.5 K at the same kW above and watch the flow. That's the penalty, in numbers you can take to the client.

Fan Laws & Power

Affinity laws for speed, flow, pressure, and power.

Where the fan sits today — condition 1

Method & standards
Affinity laws — tattoo these on your brain
Q₂ = Q₁·(N₂/N₁) · Δp₂ = Δp₁·(N₂/N₁)² · P₂ = P₁·(N₂/N₁)³
Shaft power = Q·Δp / η
Shaft power at speed 2
—
Flow at speed 2
—
Pressure at speed 2
—
Power at speed 1
—
air power & shaft

Power vs speed — watch that cube climb

Energy at speed 1
—
kWh / year
Energy at speed 2
—
kWh / year
Annual saving
—

Why I push VSDs on every retrofit: knock 20 % off the speed and you've halved the fan power (0.8³ = 0.51). Throttle a damper instead and you keep the speed, burn the pressure as pure loss, and save almost nothing for the same flow. One honest caveat from experience: the cube law assumes a fixed, all-friction system curve — with a big fixed static head in the system, it will flatter the savings. Check before you promise.

Room Cooling Load Estimator

Room cooling load build-up, every gain editable.

The room, as it really is

Peak vertical-surface values I start from: E ≈ 500–650 · S ≈ 350–500 · W ≈ 550–700 (northern hemisphere, summer). West glass in the afternoon is the usual villain.
Total cooling load
—
Sensible
—
Latent
—
W / m²
—

Where the load is really coming from

So what does that mean for the plant?

My gut-check, before I trust any of this: offices land around 100–160 W/m² in hot climates, 60–110 W/m² in temperate ones. Land far outside your building type's band and I go straight back to the solar and fresh-air inputs — that's where the mistake is hiding, nine times out of ten. Fresh air is worked on enthalpy difference here, because in a humid climate it's routinely the biggest single load in the room.

Unit Converter

Exact factors between SI and IP units.

The exact factors I used — no rounded “close enough”: 1 in = 25.4 mm · 1 ft³/min = 0.471947 L/s · 1 BTU/h = 0.293071 W · 1 ton refrig. = 12,000 BTU/h = 3.51685 kW · 1 psi = 6.89476 kPa · 1 in w.g. = 248.84 Pa (at 4 °C) · 1 US gal = 3.78541 L.

Properties & Reference Data

The property tables the calculators stand on.

Water — saturated liquid properties

°Cρ kg/m³cp kJ/kgKν ×10⁻⁶ m²/s

Dry air at 101.325 kPa

°Cρ kg/m³cp kJ/kgKν ×10⁻⁶ m²/s

Steel pipe — Schedule 40 (ASME B36.10)

DNOD mmID mmArea cm²

Copper tube (EN 1057) and plastic systems differ — design on the internal diameter, never the nominal. That mistake has embarrassed better engineers than me.

Quick-checks I run before I believe a design

CHW temperatures6 / 12 °C typical (ΔT 6 K)
LTHW temperatures82 / 71 °C legacy · 60 / 40 °C condensing
Condenser water29.5 / 35.5 °C typical
Office design condition23 ± 1 °C · 40–60 % RH
Duct friction design band0.8 – 1.2 Pa/m
Pipe gradient design band100 – 350 Pa/m
Coil face velocity2.0 – 2.5 m/s (carryover > 2.75)
Filter final Δp (G4/F7)≈ 250 / 450 Pa typical allowance
Human sensible/latent (office)≈ 70 W / 45 W per person
CO₂ proxy for 62.1 rates≈ 700 ppm above outdoors at steady state

3D System Viewer

A parametric plant room, rebuilt live from your Duct and Pipe numbers.

Play with it

Airflow particles
Water flow particles
View
Detail level
Visual style
Systems
Air system
Water system
Supports & hangers
Pipe insulation
Duct insulation
Component properties
Click a component in the view: the unit, the duct run, the pipe pair, the pump set.
How it is wired
Wired straight to your calcs
Duct section & velocity ← Duct Sizer
Pipe bore & velocity ← Pipe Hydraulics
Change a number over there and this room rebuilds itself.

Plant room: AC unit · duct run · pipes

Warming up the 3D engine…
If the room doesn't appear, your connection may have hiccupped - reloading usually fixes it, and every calculator still works perfectly in 2D either way.
PLANT ROOM · 3D SYSTEM VIEW|Duct - at -|Pipe - at -|Sizes live from the Duct Sizer and Pipe Hydraulics
DUCT - AIR - PIPE - WATER -
PLANT ROOM - 3D SYSTEM VIEWMEP Suits · Not for construction
airwaterParticle speed follows your calculated velocity
DRAG orbit · SCROLL zoom · CLICK a component for its properties
Parametric plant room, generated live from your numbers. Click a component for its properties.

The room is generated in your browser from primitives: no downloaded models. The duct network follows your Duct Sizer section, the pipe pair follows your Pipe Hydraulics bore, and both rebuild when the numbers change. Take pressure drops from the calculators, never from the picture. Particle speed is proportional to the real velocity in each system.

Earlier versions of this viewer loaded downloaded CC0 models (Poly Haven sets, see ASSETS.md). They were static props: retired 2026-10-21 in favour of the parametric system above, which is sized by the calculators and can be sectioned, restyled and interrogated like a BIM view.