Convert Volumetric Flow to Molar Flow Rate for Gases or Liquids
Ideal Gas (Uses Pressure & Temperature)
Liquid / Solid (Uses Density & Molar Mass)
m³/s
m³/h
L/min
L/h
CFM (ft³/min)
ft³/h
atm
bar
Pa
kPa
psi
Celsius (°C)
Fahrenheit (°F)
Kelvin (K)
kg/m³
g/cm³
lb/ft³
g/mol
kg/kmol
Example: Water is approx 18.02 g/mol
Molar Flow Rate (SI)
0 mol/s
Alternative Units:
0 mol/h
0 kmol/h
0 lb-mol/h
How to Calculate Molar Flow Rate from Volumetric Flow Rate
In chemical engineering, process dynamics, and thermodynamics, converting volumetric flow rate to molar flow rate is a critical task. While volumetric flow measures the volume of space a substance occupies as it moves over time, the molar flow rate tracks the actual amount of substance (number of molecules) flowing, which is crucial for stoichiometry and mass balance calculations.
The Relationship Between Volumetric and Molar Flow
The fundamental relationship between molar flow rate ($\dot{n}$) and volumetric flow rate ($\dot{V}$) depends on the state of the matter (gas or liquid) and its properties (density, concentration, pressure, and temperature).
The general formula is:
$\dot{n} = \dot{V} \times C$
Where $C$ is the molar concentration (moles per unit volume).
Method 1: Calculating for Ideal Gases
For gases, the density and concentration change significantly with pressure and temperature. We typically use the Ideal Gas Law ($PV = nRT$) to bridge the gap.
The Formula:
$\dot{n} = \frac{P \cdot \dot{V}}{R \cdot T}$
Where:
$\dot{n}$ = Molar Flow Rate (mol/s)
$P$ = Absolute Pressure (Pa)
$\dot{V}$ = Volumetric Flow Rate (m³/s)
$R$ = Ideal Gas Constant ($8.314 \text{ J}/(\text{mol}\cdot\text{K})$)
$T$ = Absolute Temperature (Kelvin)
Calculation Example (Gas)
Imagine a nitrogen stream flowing at 100 m³/h at a pressure of 2 bar and temperature of 25°C.
For liquids, density is relatively constant regardless of moderate pressure changes. To calculate molar flow, you need the substance's density ($\rho$) and its molar mass ($M$).
The Formula:
$\dot{n} = \frac{\dot{V} \cdot \rho}{M}$
Where:
$\rho$ = Density (kg/m³)
$M$ = Molar Mass (kg/mol)
Calculation Example (Liquid)
Consider water flowing at 10 L/min. The density of water is approx $1000 \text{ kg/m}^3$ and Molar Mass is $18.02 \text{ g/mol}$.
Chemical reactions occur mole-to-mole, not volume-to-volume. When designing reactors, sizing pipes for stoichiometry, or reporting emissions, engineers must use molar flow rates to ensure mass balance is conserved. Volumetric flow rates can be misleading, especially with compressible gases where volume changes with environmental conditions.
// Toggle between Gas and Liquid input fields
function toggleInputs() {
var mode = document.getElementById("calcMode").value;
var gasInputs = document.getElementById("gasInputs");
var liquidInputs = document.getElementById("liquidInputs");
if (mode === "gas") {
gasInputs.classList.remove("hidden");
liquidInputs.classList.add("hidden");
} else {
gasInputs.classList.add("hidden");
liquidInputs.classList.remove("hidden");
}
// Hide previous results when switching modes
document.getElementById("result-container").style.display = "none";
document.getElementById("errorMsg").style.display = "none";
}
function calculateMolarFlow() {
// Clear errors
var errorMsg = document.getElementById("errorMsg");
errorMsg.style.display = "none";
errorMsg.innerHTML = "";
// 1. Get Common Input: Volumetric Flow
var volFlowRaw = parseFloat(document.getElementById("volFlow").value);
var volFlowUnit = document.getElementById("volFlowUnit").value;
if (isNaN(volFlowRaw)) {
errorMsg.innerHTML = "Please enter a valid Volumetric Flow Rate.";
errorMsg.style.display = "block";
return;
}
// Convert Vol Flow to SI Base Unit: m3/s
var volFlowSI = 0;
if (volFlowUnit === "m3_s") volFlowSI = volFlowRaw;
else if (volFlowUnit === "m3_h") volFlowSI = volFlowRaw / 3600;
else if (volFlowUnit === "l_min") volFlowSI = volFlowRaw / 60000;
else if (volFlowUnit === "l_h") volFlowSI = volFlowRaw / 3600000;
else if (volFlowUnit === "ft3_min") volFlowSI = volFlowRaw * 0.000471947;
else if (volFlowUnit === "ft3_h") volFlowSI = volFlowRaw * 0.0000078658;
var resultMolPerSec = 0;
var mode = document.getElementById("calcMode").value;
// 2. Logic Selection
if (mode === "gas") {
// — GAS CALCULATION (Ideal Gas Law: PV = nRT -> n_dot = (P * V_dot) / (R * T)) —
var pressureRaw = parseFloat(document.getElementById("pressure").value);
var pressureUnit = document.getElementById("pressureUnit").value;
var tempRaw = parseFloat(document.getElementById("temperature").value);
var tempUnit = document.getElementById("tempUnit").value;
if (isNaN(pressureRaw) || isNaN(tempRaw)) {
errorMsg.innerHTML = "Please enter valid Pressure and Temperature values.";
errorMsg.style.display = "block";
return;
}
// Convert Pressure to Pa
var pressurePa = 0;
if (pressureUnit === "atm") pressurePa = pressureRaw * 101325;
else if (pressureUnit === "bar") pressurePa = pressureRaw * 100000;
else if (pressureUnit === "pa") pressurePa = pressureRaw;
else if (pressureUnit === "kpa") pressurePa = pressureRaw * 1000;
else if (pressureUnit === "psi") pressurePa = pressureRaw * 6894.76;
// Convert Temperature to Kelvin
var tempK = 0;
if (tempUnit === "c") tempK = tempRaw + 273.15;
else if (tempUnit === "f") tempK = (tempRaw – 32) * (5/9) + 273.15;
else if (tempUnit === "k") tempK = tempRaw;
if (tempK <= 0) {
errorMsg.innerHTML = "Temperature must be greater than 0 Kelvin.";
errorMsg.style.display = "block";
return;
}
var R = 8.314462618; // Ideal Gas Constant J/(mol*K)
// Calculation: mol/s
resultMolPerSec = (pressurePa * volFlowSI) / (R * tempK);
} else {
// — LIQUID CALCULATION (Mass Flow via Density, then Molar Mass) —
var densityRaw = parseFloat(document.getElementById("density").value);
var densityUnit = document.getElementById("densityUnit").value;
var molarMassRaw = parseFloat(document.getElementById("molarMass").value);
var molarMassUnit = document.getElementById("molarMassUnit").value; // Assuming value logic handles this
if (isNaN(densityRaw) || isNaN(molarMassRaw)) {
errorMsg.innerHTML = "Please enter valid Density and Molar Mass values.";
errorMsg.style.display = "block";
return;
}
if (molarMassRaw 0.018 kg/mol
var molarMassSI = 0;
if (molarMassUnit === "g_mol" || molarMassUnit === "kg_kmol") {
// g/mol is numerically equivalent to kg/kmol
// To get kg/mol, divide by 1000
molarMassSI = molarMassRaw / 1000;
}
// Calculation:
// Mass Flow (kg/s) = Vol Flow (m3/s) * Density (kg/m3)
// Molar Flow (mol/s) = Mass Flow (kg/s) / Molar Mass (kg/mol)
var massFlow = volFlowSI * densitySI;
resultMolPerSec = massFlow / molarMassSI;
}
// 3. Output Results
var resultContainer = document.getElementById("result-container");
resultContainer.style.display = "block";
// Formats
var molPerSec = resultMolPerSec;
var molPerHour = molPerSec * 3600;
var kmolPerHour = molPerHour / 1000;
var lbMolPerHour = molPerHour / 453.59237;
document.getElementById("resultMolPerSec").innerText = formatNumber(molPerSec) + " mol/s";
document.getElementById("resultMolPerHour").innerText = formatNumber(molPerHour);
document.getElementById("resultKmolPerHour").innerText = formatNumber(kmolPerHour);
document.getElementById("resultLbMolPerHour").innerText = formatNumber(lbMolPerHour);
}
function formatNumber(num) {
if (num === 0) return "0";
// If very small or very large, use scientific notation
if (Math.abs(num) 1000000) {
return num.toExponential(4);
}
return num.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 4 });
}