# Inputs

Source: https://meptools.com/tools/duct-pressure-drop-calculator/docs/inputs/

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.

## 01 — Airflow & duct run

| 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.

## 02 — Duct geometry

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](/tools/duct-pressure-drop-calculator/docs/method#rectangular-ducts-and-the-huebscher-equivalent-diameter)
for what that means for the reported velocity.

## 03 — Material & air properties

| 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.325` kPa 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.

## 04 — Fittings

Two mutually exclusive modes, covered in full on
[Fittings](/tools/duct-pressure-drop-calculator/docs/fittings):

- **Manual Σ K** — one combined coefficient, plus the **Duct role (advisory)** selector.
- **Schedule** — a table of fittings whose Σ K is computed for you.

Σ K may not be negative in either mode.

![Fitting schedule in Schedule mode with two rows, the computed Σ K, and the duct schematic beneath](./_assets/duct-fittings-schedule.png)

## When Calculate is blocked

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.

![Duct Pressure Drop Calculator with a blocked Calculate attempt, showing an inline field error](./_assets/duct-inputs-blocked-validation.png)

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](/tools/duct-pressure-drop-calculator/docs/exporting-and-saving#pdf-calculation-record).
