Every input field, its unit, its default, and the rules that must be satisfied before a result appears.
All four input cards feed one calculation. Values are stored internally in SI units; the unit shown next to a field is the unit you type in.
| Field | Symbol | Unit | Default | Rule |
|---|---|---|---|---|
| Airflow | Q | m3/s, L/s or m3/h | empty, m3/s | Required, greater than zero |
| Duct length | L | m | empty | Required, greater than zero |
The airflow unit selector sits inside the field and defaults to m3/s. It is a unit
conversion only (L/s ÷ 1000, m3/h ÷ 3600) — the stored airflow is always m³/s.
Duct length is the straight-run length only. It scales the friction loss and nothing else: fitting losses do not depend on it. Zero is not accepted — a zero-length run has no friction term to solve, so the tool asks for a positive length rather than reporting a fittings-only figure that could be mistaken for a duct run.
Choose Rectangular (width × height) or Circular (diameter). The tool keeps whichever values you typed for the other shape, so you can switch back without re-entering them, but only the active shape's fields are validated and used.
| Field | Symbol | Unit | Required for |
|---|---|---|---|
| Width | w | mm | Rectangular |
| Height | h | mm | Rectangular |
| Diameter | D | mm | Circular |
All three must be greater than zero when their shape is active. Rectangular ducts are solved through the Huebscher circular-equivalent diameter — see Method for what that means for the reported velocity.
| Field | Symbol | Unit | Default |
|---|---|---|---|
| Roughness preset | — | — | Galvanised steel |
| Roughness | ε | mm | 0.15 |
| Air temperature | T | °C | 20 |
| Air pressure | p | kPa | 101.325 |
The roughness presets are absolute roughness heights:
| Preset | ε (mm) |
|---|---|
| Galvanised steel | 0.15 |
| Mild steel | 0.09 |
| Stainless / aluminium | 0.015 |
| Plastic smooth | 0.0015 |
| Concrete | 3.0 |
| Custom | you enter it |
Selecting a preset writes its roughness into the ε field and locks the field read-only. To type your own value, choose Custom first — the field then becomes editable and starts empty. Roughness may not be negative.
Air temperature and pressure define the air state. Density comes from the ideal gas law and viscosity from Sutherland's law, so both fields move the answer: hotter air is less dense, which lowers both the friction loss and the fitting loss. Pressure must be greater than zero, and temperature must be above absolute zero (−273.15 °C).
These are air-state inputs, not a duct pressure class. Entering
101.325kPa does not mean the duct operates at atmospheric pressure relative to the room — it means the air inside it is at roughly sea-level absolute pressure.
Two mutually exclusive modes, covered in full on Fittings:
Σ K may not be negative in either mode.

Nothing computes until you press Calculate. If any rule below fails when you press it, the calculation does not run: the failing field is marked invalid and gets its own inline message right under it (for example "Enter airflow to calculate pressure drop." or "Duct length cannot be negative."), and the action rail reports how many fields still need a value with a "marked in red below" hint. Fix each highlighted field and press Calculate again.

The full list of rules the calculation enforces:
| Rule | Applies to |
|---|---|
| Airflow is present and greater than zero | always |
| Duct length is present, not negative, and not zero | always |
| Width and height are present and greater than zero | rectangular |
| Diameter is present and greater than zero | circular |
| Roughness is not negative | always |
| Air temperature is above absolute zero | always |
| Air pressure is greater than zero | always |
| Σ K is not negative | always |
| Every schedule row resolves to a K value | schedule mode |
Print and Export PDF are disabled until Calculate has produced a result — you cannot export or print an incomplete or invalid calculation. See Exporting and saving.