Meters per Second (m/s)
Feet per Second (ft/s)
Miles per Hour (mph)
Kilometers per Hour (km/h)
Please enter valid positive numbers for diameter and velocity.
Volumetric Flow Rate (SI)
0.00 m³/h
Volumetric Flow Rate (Imperial)
0.00 CFM (ft³/min)
0
Liters / min
0
m³ / sec
0
Gallons / min (US)
0
Cross-Section Area (m²)
Gas Flow Rate Calculation Formula Explained
Calculating the flow rate of gas through a pipeline or duct is a fundamental task in engineering, HVAC, and fluid dynamics. The most common method to determine the volumetric flow rate ($Q$) is by using the relationship between the cross-sectional area of the pipe ($A$) and the velocity of the gas ($v$).
Q = A × v
Where:
Q is the Volumetric Flow Rate (e.g., $m^3/s$ or CFM).
A is the Cross-Sectional Area of the pipe (e.g., $m^2$ or $ft^2$).
v is the Velocity of the gas (e.g., $m/s$ or $ft/s$).
Step 1: Calculate the Cross-Sectional Area
Most pipes are cylindrical. To find the area of the circle representing the pipe's internal cross-section, we use the geometric formula based on the diameter ($D$) or radius ($r$):
A = π × (D / 2)²
Important: Ensure your units are consistent. If you are calculating flow in cubic meters per second ($m^3/s$), your diameter must be converted to meters ($m$) before calculating the area.
Step 2: Calculate the Flow Rate
Once you have the Area ($A$) and the Velocity ($v$), simply multiply them together.
Example Calculation
Suppose you have a natural gas pipe with an internal diameter of 100 mm (0.1 meters) and the gas is traveling at a velocity of 10 m/s.
Convert to Hourly Flow: $0.07854 \times 3600 \approx 282.7\ m^3/h$
Common Gas Flow Units
Unit
Abbreviation
Common Usage
Cubic Feet per Minute
CFM
Standard in HVAC and US industrial systems.
Cubic Meters per Hour
m³/h
Standard in Metric industrial gas meters.
Liters per Minute
L/min
Used for medical gas or smaller flow applications.
Standard Cubic Feet per Hour
SCFH
Used when correcting for standard temperature and pressure.
Factors Affecting Gas Flow
While the formula $Q = Av$ provides the actual volumetric flow rate, real-world gas flow calculations often require corrections for:
Pressure: Gases are compressible. Higher pressure increases the density and the mass flow for the same volume.
Temperature: Higher temperatures cause gas expansion, increasing volume but decreasing density.
Friction: Roughness inside the pipe can reduce velocity near the walls (boundary layer), affecting the average velocity profile.
This calculator provides the Actual Flow Rate based on the inputs provided. For "Standard" flow rates (SCFM or Nm³/h), you would apply the Ideal Gas Law to correct for system pressure and temperature versus standard conditions.
function calculateGasFlow() {
// 1. Get DOM elements
var diameterInput = document.getElementById('pipeDiameter');
var diameterUnit = document.getElementById('diameterUnit').value;
var velocityInput = document.getElementById('gasVelocity');
var velocityUnit = document.getElementById('velocityUnit').value;
var errorMsg = document.getElementById('error-message');
var resultsArea = document.getElementById('results-area');
// 2. Parse values
var dVal = parseFloat(diameterInput.value);
var vVal = parseFloat(velocityInput.value);
// 3. Validation
if (isNaN(dVal) || isNaN(vVal) || dVal <= 0 || vVal < 0) {
errorMsg.style.display = 'block';
resultsArea.style.display = 'none';
return;
}
errorMsg.style.display = 'none';
// 4. Normalize inputs to base SI units (Meters and Meters/Second)
// Convert Diameter to Meters
var diameterInMeters = 0;
if (diameterUnit === 'mm') {
diameterInMeters = dVal / 1000;
} else if (diameterUnit === 'cm') {
diameterInMeters = dVal / 100;
} else if (diameterUnit === 'm') {
diameterInMeters = dVal;
} else if (diameterUnit === 'inch') {
diameterInMeters = dVal * 0.0254;
}
// Convert Velocity to Meters per Second
var velocityInMPS = 0;
if (velocityUnit === 'mps') {
velocityInMPS = vVal;
} else if (velocityUnit === 'fps') {
velocityInMPS = vVal * 0.3048;
} else if (velocityUnit === 'kmh') {
velocityInMPS = vVal * (1000 / 3600);
} else if (velocityUnit === 'mph') {
velocityInMPS = vVal * 0.44704;
}
// 5. Calculation Logic
// Area = pi * r^2 = pi * (d/2)^2
var areaM2 = Math.PI * Math.pow((diameterInMeters / 2), 2);
// Flow (Q) in m^3/s = Area (m^2) * Velocity (m/s)
var flowM3s = areaM2 * velocityInMPS;
// 6. Conversions for Output
var flowM3h = flowM3s * 3600;
var flowLmin = flowM3s * 60000; // 1 m3 = 1000 L, 60 sec in min
var flowCFM = flowM3s * 2118.88; // 1 m3/s approx 2118.88 CFM
var flowGPM = flowM3s * 15850.3; // US Gallons per minute
// 7. Display Results
document.getElementById('res-m3h').textContent = flowM3h.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res-cfm').textContent = flowCFM.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res-lmin').textContent = flowLmin.toLocaleString(undefined, {minimumFractionDigits: 1, maximumFractionDigits: 1});
document.getElementById('res-m3s').textContent = flowM3s.toExponential(4);
document.getElementById('res-gpm').textContent = flowGPM.toLocaleString(undefined, {minimumFractionDigits: 1, maximumFractionDigits: 1});
document.getElementById('res-area').textContent = areaM2.toExponential(4);
// Show results area
resultsArea.style.display = 'block';
}