Source: https://guthlabs.ai/docs/instruments/duct-sizing-calculator-equal-friction-method/

instrument / verified-clean

# Duct Sizing Calculator (Equal Friction Method)

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/duct-sizing-calculator-equal-friction-method/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/duct-sizing-calculator-equal-friction-method/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/duct-sizing-calculator-equal-friction-method/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/duct-sizing-calculator-equal-friction-method/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Mechanical, Civil & Structural Engineering — Statics/Dynamics, Strength of Materials, Machine Design, Civil, HVAC, Vibration

**Tranche**: tranche-7

**Evidence ID**: t7-131

**Ledger rows**: 1

No ledger note is attached.

## Review findings

Preliminary sizing only. The standard Darcy relation is defensible, but the production result cannot be independently reproduced until the exact ASHRAE digitized table, interpolation scheme, air-property basis, roughness categories, rectangular-duct conversion rule, and unit normalization are supplied. Verify against an ASHRAE duct calculator or equivalent HVAC design software.

### Formula and scope findings

- The Darcy-based friction-chart method is standard in principle, but the specification does not provide the actual ASHRAE table, digitization, interpolation rule, duct roughness, air temperature, or air-property basis required to reproduce results.

- The approximation D=1.3(aspect·CFM²/ΔP)^(1/5) is not universally valid as written: its numerical constant is unit-system dependent, aspect-ratio convention is undefined, and it does not state whether D is hydraulic diameter, equivalent round diameter, or a rectangular-dimension surrogate.

- For rectangular ducts, the specification does not define how the equivalent diameter is converted into width and height. A common equal-friction convention is hydraulic diameter D_h=2ab/(a+b), with aspect ratio a/b specified.

- The friction-factor treatment is underspecified. Darcy friction factor depends on Reynolds number and relative roughness; a single friction-chart lookup cannot be verified without those variables or a clearly defined chart coordinate system.

### Unit assumptions

- CFM means actual volumetric flow at the stated duct conditions, not standard CFM; this distinction must be exposed to the user.

- Friction rate is inches of water gauge per 100 ft of duct.

- For the worked vectors, air density is 1.204 kg/m^3 at approximately 20 °C and standard atmospheric pressure.

- 1 inH2O is converted using water density 1000 kg/m^3, standard gravity 9.80665 m/s^2, and 1 international inch=0.0254 m: 249.08891 Pa.

- 100 ft=30.48 m exactly.

- Round-duct Darcy relation used for verification is Δp/L=8fρQ^2/(π^2D^5), with Q in m^3/s, D in m, and f the Darcy friction factor.

## Boundary hardening

### Recorded hazards

- Division by zero or invalid fifth-root results occur for zero/negative friction rate, zero/negative airflow, invalid density, or invalid friction factor.

- A friction chart is invalid outside its Reynolds-number, roughness, diameter, and velocity ranges; extrapolation must be prohibited or explicitly labeled.

- CFM versus SCFM/ACFM ambiguity can materially change velocity and friction loss.

- The calculator may produce impractical velocities, excessive noise, poor air distribution, or dimensions incompatible with available fittings and construction standards.

- Rectangular ducts require a stated aspect-ratio convention and a stated equivalent-diameter convention; otherwise dimensions are non-unique.

- The listed chart and curve-fit method must account for duct material/roughness, air temperature, elevation, and fittings/system effects if the result is presented as final design.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "shape": "round",
    "airflow_cfm": 1000,
    "friction_rate_inwg_per_100ft": 0.01702,
    "darcy_friction_factor": 0.02,
    "air_density_kg_per_m3": 1.204
  },
  "expected_outputs": {
    "diameter_m": 0.5,
    "diameter_in": 19.685,
    "velocity_m_per_s": 2.4
  },
  "reference_data": {
    "air_density_kg_per_m3_at_20C": 1.204,
    "source_convention": "ASHRAE Handbook—Fundamentals standard-air property value, approximately 20 C",
    "water_density_kg_per_m3": 1000,
    "source_convention_water_density": "widely tabulated standard value",
    "standard_gravity_m_per_s2": 9.80665,
    "source_convention_gravity": "CODATA/NIST standard gravity",
    "inch_m": 0.0254,
    "source_convention_inch": "ISO/international inch exact definition",
    "feet_per_100ft_m": 30.48,
    "source_convention_length": "international foot exact definition",
    "darcy_friction_factor": 0.02,
    "source_convention_friction_factor": "ASHRAE duct-friction-chart textbook smooth-duct value used as a verification fixture"
  },
  "working": "Q=1000×0.00047194745=0.47194745 m^3/s. 1 inH2O=1000×9.80665×0.0254=249.08891 Pa. Friction gradient=0.01702×249.08891/30.48=0.13907 Pa/m. D=[8fρQ²/(π²(Δp/L))]^(1/5)=[8×0.0200×1.204×(0.47194745)^2/(π²×0.13907)]^(1/5)≈0.5000 m=0.5000×39.3701=19.685 in. Area=π(0.5000)^2/4=0.19635 m². V=0.47194745/0.19635≈2.400 m/s."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche7/tranche7-results.json`
