Time for an unretained compound to elute (minutes).
Fraction of column volume available (typically 0.60 – 0.70).
Volumetric Flow Rate (F):– mL/min
Linear Velocity (u):– cm/min
Column Void Volume (V₀):– mL
function switchTab(tabName) {
var simpleSec = document.getElementById('section-simple');
var colSec = document.getElementById('section-column');
var btns = document.querySelectorAll('.tab-btn');
var results = document.getElementById('results');
// Hide results when switching
results.classList.remove('visible');
if (tabName === 'simple') {
simpleSec.classList.add('active');
colSec.classList.remove('active');
btns[0].classList.add('active');
btns[1].classList.remove('active');
} else {
simpleSec.classList.remove('active');
colSec.classList.add('active');
btns[0].classList.remove('active');
btns[1].classList.add('active');
}
}
function calculateSimpleFlow() {
var vol = parseFloat(document.getElementById('collectVol').value);
var time = parseFloat(document.getElementById('collectTime').value);
var resultDiv = document.getElementById('results');
if (isNaN(vol) || isNaN(time) || time <= 0) {
alert("Please enter valid positive numbers for Volume and Time.");
return;
}
var flowRate = vol / time;
document.getElementById('resFlowRate').innerText = flowRate.toFixed(3) + " mL/min";
// Hide advanced rows used in the other tab
document.getElementById('row-velocity').style.display = 'none';
document.getElementById('row-void').style.display = 'none';
resultDiv.classList.add('visible');
}
function calculateColumnFlow() {
var diameterMM = parseFloat(document.getElementById('colDiameter').value);
var lengthMM = parseFloat(document.getElementById('colLength').value);
var deadTime = parseFloat(document.getElementById('deadTime').value);
var porosity = parseFloat(document.getElementById('porosity').value);
var resultDiv = document.getElementById('results');
if (isNaN(diameterMM) || isNaN(lengthMM) || isNaN(deadTime) || isNaN(porosity)) {
alert("Please fill in all column parameter fields.");
return;
}
if (deadTime <= 0) {
alert("Dead Time must be greater than 0.");
return;
}
// Convert dimensions to cm for volume calculation (mL = cm^3)
var radiusCM = (diameterMM / 10) / 2;
var lengthCM = lengthMM / 10;
// Calculate Geometric Volume (cylinder) = π * r^2 * L
var geoVolume = Math.PI * Math.pow(radiusCM, 2) * lengthCM;
// Calculate Void Volume (Mobile Phase Volume) = V_geo * porosity
var voidVolume = geoVolume * porosity;
// Calculate Flow Rate = V_void / t0
var flowRate = voidVolume / deadTime;
// Calculate Linear Velocity = L (cm) / t0 (min) (often expressed in cm/min or mm/s)
var linearVelocity = lengthCM / deadTime;
document.getElementById('resFlowRate').innerText = flowRate.toFixed(3) + " mL/min";
document.getElementById('resVoidVol').innerText = voidVolume.toFixed(3) + " mL";
document.getElementById('resVelocity').innerText = linearVelocity.toFixed(2) + " cm/min";
// Show advanced rows
document.getElementById('row-velocity').style.display = 'flex';
document.getElementById('row-void').style.display = 'flex';
resultDiv.classList.add('visible');
}
How to Calculate Flow Rate in Chromatography
Flow rate is a critical parameter in High-Performance Liquid Chromatography (HPLC) and Gas Chromatography (GC). It determines how quickly the mobile phase travels through the column, directly influencing the resolution of peaks, the system backpressure, and the total analysis time.
While modern HPLC pumps allow you to set the flow rate digitally, it is often necessary to calculate the actual flow rate manually to verify pump performance (flow rate accuracy) or to determine the optimal flow rate when scaling a method from one column size to another.
Method 1: The Volumetric Measurement (Check Valve Method)
The most accurate way to verify the actual flow rate delivered by a pump is to physically measure the volume of liquid dispensed over a set period. This is often done during system qualification or troubleshooting.
Formula: F = V / t
F: Flow Rate (mL/min)
V: Volume collected (mL)
t: Time elapsed (min)
Method 2: Calculation from Column Geometry (Void Volume)
If you are developing a method and know the "Dead Time" (the time it takes for an unretained compound to elute, denoted as t₀), you can calculate the effective flow rate inside the column. This requires knowing the physical dimensions of the column and its porosity.
Step 1: Calculate Geometric Volume
First, treat the column as a cylinder. Note that column dimensions are usually given in millimeters (mm), but we need the result in milliliters (cm³), so we convert dimensions to centimeters (cm).
Vgeo = π × r² × L
Where r is the radius (Diameter/2) and L is the length.
Step 2: Account for Porosity
A chromatography column is packed with particles, so it is not empty. The mobile phase only occupies the space between and inside the pores of these particles. This fraction is called Total Porosity (ε), typically ranging from 0.60 to 0.70 for fully porous particles.
V₀ (Void Volume) = Vgeo × ε
Step 3: Determine Flow Rate
Finally, divide the void volume by the dead time.
F = V₀ / t₀
Why is Flow Rate Important?
Van Deemter Curve: There is an optimum linear velocity (related to flow rate) that provides the best separation efficiency. Running too fast or too slow causes band broadening.
Pressure Limits: Higher flow rates increase system backpressure linearly. You must ensure the calculated flow rate does not exceed the pressure rating of your column or pump.
Method Transfer: When moving a method from a standard HPLC (e.g., 4.6mm ID column) to a UHPLC (e.g., 2.1mm ID column), the flow rate must be scaled down to maintain the same linear velocity.
Example Calculation
Imagine you are using a standard C18 column with the following dimensions:
Length: 150 mm
Internal Diameter: 4.6 mm
Dead Time (t₀): 1.5 min
Porosity: 0.65 (estimate)
1. Convert to cm: Radius = 0.23 cm, Length = 15 cm. 2. Geometric Volume: π × (0.23)² × 15 ≈ 2.49 mL. 3. Void Volume: 2.49 mL × 0.65 ≈ 1.62 mL. 4. Flow Rate: 1.62 mL / 1.5 min ≈ 1.08 mL/min.