How to Calculate Air Volume Flow Rate

Air Volume Flow Rate Calculator (CFM/CMH) body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; margin: 0; padding: 20px; background-color: #f4f7f6; } .calculator-container { max-width: 800px; margin: 0 auto; background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); } h1 { text-align: center; color: #2c3e50; margin-bottom: 30px; } h2 { color: #2c3e50; margin-top: 30px; border-bottom: 2px solid #eee; padding-bottom: 10px; } p { margin-bottom: 15px; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-weight: 600; color: #555; } select, input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; box-sizing: border-box; } select:focus, input:focus { border-color: #3498db; outline: none; } .btn-calc { display: block; width: 100%; padding: 15px; background-color: #3498db; color: white; border: none; border-radius: 4px; font-size: 18px; cursor: pointer; font-weight: bold; transition: background 0.3s; } .btn-calc:hover { background-color: #2980b9; } #result-area { margin-top: 25px; padding: 20px; background-color: #e8f6f3; border: 1px solid #d1f2eb; border-radius: 4px; display: none; } .result-row { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 18px; } .result-value { font-weight: bold; color: #27ae60; } .hidden { display: none; } .info-box { background-color: #f8f9fa; padding: 15px; border-left: 4px solid #3498db; margin: 20px 0; font-size: 14px; } .formula-display { background: #2c3e50; color: #fff; padding: 15px; border-radius: 5px; font-family: monospace; margin: 10px 0; overflow-x: auto; }

Air Volume Flow Rate Calculator

Imperial (Inches, FPM, CFM) Metric (mm, m/s, CMH)
Rectangular / Square Round
Average air speed measured inside the duct.

Calculation Results

Duct Cross-Section Area:
Volume Flow Rate (Primary):
Alternative Units:

How to Calculate Air Volume Flow Rate

Calculating the air volume flow rate, often expressed as CFM (Cubic Feet per Minute) in imperial units or CMH (Cubic Meters per Hour) in metric units, is a fundamental task in HVAC engineering, aerodynamics, and industrial ventilation.

The calculation determines how much air moves through a specific point in a duct or passageway within a given timeframe. This metric is crucial for ensuring proper ventilation, heating, and cooling efficiency in residential and commercial buildings.

The Flow Rate Formula

The basic physics behind air flow calculations relies on the continuity equation. The fundamental formula is:

Q = A × v

Where:

  • Q = Volumetric Flow Rate (e.g., CFM or m³/s)
  • A = Cross-sectional Area of the duct (e.g., ft² or m²)
  • v = Velocity of the air (e.g., FPM or m/s)

Step-by-Step Calculation Guide

1. Determine the Duct Area (A)

First, you must calculate the area of the duct's cross-section. The math depends on the shape of the duct:

  • Rectangular Ducts: Area = Width × Height.
    Note: If measuring in inches, divide the result by 144 to get square feet.
  • Round Ducts: Area = π × (Diameter / 2)².
    Note: If measuring in inches, divide the result by 144 to get square feet.

2. Measure Air Velocity (v)

Velocity is typically measured using an anemometer or pitot tube traversing the duct. In the imperial system, this is measured in Feet Per Minute (FPM). In the metric system, it is measured in meters per second (m/s).

3. Calculate the Flow Rate (Q)

Multiply the Area by the Velocity.

Example (Imperial):
A 12″ x 12″ duct has an area of 1 square foot.
If the air velocity is 500 FPM:
Q = 1 ft² × 500 FPM = 500 CFM.

Why Air Flow Rate Matters

Correct airflow ensures that HVAC systems operate within their design specifications. Low airflow can lead to frozen evaporator coils, overheated heat exchangers, and poor temperature control. Excessive airflow can cause noise issues and inefficient humidity removal.

Common Unit Conversions

  • 1 CFM ≈ 1.699 m³/h (CMH)
  • 1 m³/s = 3600 m³/h
  • 1 m/s ≈ 196.85 FPM
// Variable declarations var unitSystemSelect = document.getElementById('unitSystem'); var ductShapeSelect = document.getElementById('ductShape'); var rectInputs = document.getElementById('rectInputs'); var roundInputs = document.getElementById('roundInputs'); var widthLabel = document.getElementById('widthLabel'); var heightLabel = document.getElementById('heightLabel'); var diameterLabel = document.getElementById('diameterLabel'); var velocityLabel = document.getElementById('velocityLabel'); var widthInput = document.getElementById('ductWidth'); var heightInput = document.getElementById('ductHeight'); var diameterInput = document.getElementById('ductDiameter'); var velocityInput = document.getElementById('airVelocity'); function toggleUnits() { var system = unitSystemSelect.value; if (system === 'imperial') { widthLabel.textContent = "Duct Width (inches)"; heightLabel.textContent = "Duct Height (inches)"; diameterLabel.textContent = "Duct Diameter (inches)"; velocityLabel.textContent = "Air Velocity (FPM)"; // Set placeholders for imperial context widthInput.placeholder = "e.g., 12"; heightInput.placeholder = "e.g., 10"; velocityInput.placeholder = "e.g., 500"; } else { widthLabel.textContent = "Duct Width (mm)"; heightLabel.textContent = "Duct Height (mm)"; diameterLabel.textContent = "Duct Diameter (mm)"; velocityLabel.textContent = "Air Velocity (m/s)"; // Set placeholders for metric context widthInput.placeholder = "e.g., 300"; heightInput.placeholder = "e.g., 250"; velocityInput.placeholder = "e.g., 2.5″; } } function toggleShape() { var shape = ductShapeSelect.value; if (shape === 'rectangular') { rectInputs.className = "; // remove hidden class roundInputs.className = 'hidden'; } else { rectInputs.className = 'hidden'; roundInputs.className = "; // remove hidden class } } function calculateAirFlow() { var system = unitSystemSelect.value; var shape = ductShapeSelect.value; var velocity = parseFloat(velocityInput.value); var area = 0; var flowRate = 0; var flowRateAlt = 0; var resAreaText = ""; var resFlowText = ""; var resAltText = ""; // Validation if (isNaN(velocity) || velocity < 0) { alert("Please enter a valid air velocity."); return; } // Calculate Area based on shape if (shape === 'rectangular') { var w = parseFloat(widthInput.value); var h = parseFloat(heightInput.value); if (isNaN(w) || isNaN(h) || w <= 0 || h convert to Feet for Area // Area in sq ft = (w / 12) * (h / 12) = (w*h)/144 area = (w * h) / 144; } else { // Width/Height in mm -> convert to Meters for Area // Area in sq m = (w / 1000) * (h / 1000) area = (w * h) / 1000000; } } else { // Round var d = parseFloat(diameterInput.value); if (isNaN(d) || d <= 0) { alert("Please enter a valid duct diameter."); return; } if (system === 'imperial') { // Diameter in inches // Area in sq ft = pi * (r_ft)^2 // r_in = d/2. r_ft = d/24. // Or: (pi * (d_in)^2) / (4 * 144) area = (Math.PI * Math.pow(d, 2)) / 576; } else { // Diameter in mm // Area in sq m area = (Math.PI * Math.pow(d / 1000, 2)) / 4; } } // Calculate Flow Rate Q = A * V if (system === 'imperial') { // Area is sq ft, Velocity is FPM // Flow is CFM flowRate = area * velocity; // Alt units: convert CFM to CMH (approx 1.7) flowRateAlt = flowRate * 1.69901; resAreaText = area.toFixed(4) + " sq ft"; resFlowText = flowRate.toFixed(2) + " CFM"; resAltText = flowRateAlt.toFixed(2) + " m³/h (CMH)"; } else { // Metric // Area is sq m, Velocity is m/s // Flow is m³/s (CMS) var flowCMS = area * velocity; // Primary Output for HVAC usually m³/h or L/s // Let's show m³/h (CMH) as primary for metric flowRate = flowCMS * 3600; // CMS to CMH // Alt unit: L/s flowRateAlt = flowCMS * 1000; // CMS to L/s resAreaText = area.toFixed(4) + " m²"; resFlowText = flowRate.toFixed(2) + " m³/h"; resAltText = flowRateAlt.toFixed(2) + " L/s"; } // Display Results document.getElementById('resArea').textContent = resAreaText; document.getElementById('resFlow').textContent = resFlowText; document.getElementById('resFlowAlt').textContent = resAltText; document.getElementById('result-area').style.display = "block"; document.getElementById('result-area').scrollIntoView({behavior: "smooth"}); }

Leave a Comment