Fluid Dynamics
Poiseuille Flow
Steady viscous flow through a pipe — parabolic profile, quartic in radius
Poiseuille flow is the steady, laminar motion of a viscous fluid through a cylindrical pipe. The velocity profile is a parabola; flow rate Q scales as the fourth power of pipe radius.
- Profileu(r) = (ΔP / 4μL)(R² − r²)
- Flow rateQ = πR⁴ ΔP / (8μL)
- Radius sensitivity2×R ⇒ 16×Q at same ΔP
- ValidityNewtonian, laminar (Re < ~2300), incompressible, fully developed
- Mean velocityū = u_max / 2
- DiscoveredHagen (1839) & Poiseuille (1840-46); derived Hagenbach (1860)
Interactive visualization
Press play, or step through manually.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Derivation
Take a long cylindrical pipe, radius R, length L. Drive an incompressible Newtonian fluid (viscosity μ) through it with a pressure difference ΔP. Use cylindrical coordinates (r, φ, z) with z along the pipe axis. Assume steady, axially symmetric, fully developed flow: velocity has only a z-component u(r) that depends only on r.
The Navier-Stokes equation in z reduces to:
0 = -dP/dz + mu * (1/r) d/dr (r du/dr)
With constant pressure gradient dP/dz = −ΔP/L and boundary conditions u(R) = 0 (no-slip), du/dr|_(r=0) = 0 (axial symmetry):
u(r) = (DeltaP / (4 mu L)) * (R^2 - r^2)
That is the parabolic profile. The maximum velocity (centerline) is u_max = ΔP R² / (4μL).
Integrate over the cross-section:
Q = integral 0 to R of u(r) * 2*pi*r dr
= (pi DeltaP / (2 mu L)) * integral 0 to R of r*(R^2 - r^2) dr
= (pi DeltaP / (2 mu L)) * (R^4/2 - R^4/4)
= pi R^4 DeltaP / (8 mu L)
The mean velocity ū = Q / (πR²) = ΔP R² / (8μL) = u_max / 2.
The r⁴ sensitivity
Doubling the radius at the same pressure drop multiplies flow by 16. This is one of the most consequential scalings in nature:
| R (mm) | Relative Q | Example |
|---|---|---|
| 0.004 | 1 unit | Capillary (~ 8 μm) |
| 0.01 | 39 units | Arteriole, constricted |
| 0.05 | 24,400 | Arteriole, relaxed |
| 0.5 | 2.4 × 10⁷ | Aortic arch in a mouse |
| 10 | 3.9 × 10¹² | Aorta in human (~ 20 mm) |
Same pressure, twelve orders of magnitude in flow rate. Arterioles regulate blood distribution by changing radius modestly — the cardiovascular system gets enormous control from small geometric changes.
Worked example: blood through a capillary
Take a capillary 8 μm diameter (R = 4 μm = 4 × 10−⁶ m), length L = 0.5 mm = 5 × 10−⁴ m, pressure drop ΔP = 2 mmHg = 266 Pa. Blood plasma viscosity μ ≈ 1.2 mPa·s = 1.2 × 10−³ Pa·s.
u_max = DeltaP * R^2 / (4 mu L)
= 266 * (4e-6)^2 / (4 * 1.2e-3 * 5e-4)
= 266 * 1.6e-11 / 2.4e-6
≈ 1.77e-3 m/s ≈ 1.8 mm/s
Mean velocity ≈ 0.9 mm/s — consistent with measured blood velocity in capillaries. Transit time through a 0.5 mm capillary is about half a second — enough time for oxygen and CO₂ to diffuse across the wall. Whole-blood viscosity is higher than plasma viscosity (factor of 2-3 due to red cells), so actual capillary flow is slower, but the order of magnitude is right.
Where laminar flow breaks down
Define the Reynolds number Re = ρ ū D / μ. Below Re ≈ 2300 flow remains laminar (Poiseuille valid). Above Re ≈ 4000 flow is fully turbulent. Between them is a transition region.
| System | Re | Regime |
|---|---|---|
| Capillary blood flow | ~ 0.003 | Deeply laminar |
| Arteriole blood flow | ~ 1 | Laminar |
| Aortic blood flow (peak systole) | ~ 4000 | Marginal; pulsatile |
| Microfluidic channel | ~ 0.1 - 100 | Laminar |
| Oil pipeline (10 cm, 1 m/s) | ~ 10,000 | Turbulent |
| Tap water in household pipe | ~ 30,000 | Turbulent |
JavaScript — Poiseuille flow calculator
// Hagen-Poiseuille flow rate
function poiseuilleFlow({ R_m, L_m, dP_Pa, mu_Pa_s }) {
return Math.PI * Math.pow(R_m, 4) * dP_Pa / (8 * mu_Pa_s * L_m); // m^3/s
}
// Centerline velocity
function maxVelocity({ R_m, L_m, dP_Pa, mu_Pa_s }) {
return dP_Pa * R_m * R_m / (4 * mu_Pa_s * L_m); // m/s
}
// Mean velocity (Q / A)
function meanVelocity(opts) { return maxVelocity(opts) / 2; }
// Reynolds number
function reynolds({ rho_kg_m3, u_mean_m_s, D_m, mu_Pa_s }) {
return rho_kg_m3 * u_mean_m_s * D_m / mu_Pa_s;
}
// Example: capillary
const cap = { R_m: 4e-6, L_m: 5e-4, dP_Pa: 266, mu_Pa_s: 1.2e-3 };
console.log('u_max:', maxVelocity(cap).toFixed(4), 'm/s'); // ~0.00177 m/s = 1.77 mm/s
console.log('Q:', poiseuilleFlow(cap).toExponential(2), 'm^3/s');
console.log('Re:', reynolds({
rho_kg_m3: 1060, u_mean_m_s: meanVelocity(cap), D_m: 2 * cap.R_m, mu_Pa_s: cap.mu_Pa_s
}).toFixed(4));
// ~0.003 -- deeply laminar
// Verifying r^4 dependence: double the radius
const doubled = { ...cap, R_m: cap.R_m * 2 };
console.log('Q ratio (2R/R):', poiseuilleFlow(doubled) / poiseuilleFlow(cap));
// 16.0 -- the famous r^4 result
// Pressure drop needed to push 1 mL/min through a 1 mm pipe of length 1 m, water at 20C
const water = { mu_Pa_s: 1.002e-3, rho_kg_m3: 998 };
function dPForQ({ R_m, L_m, Q_m3_s, mu_Pa_s }) {
return 8 * mu_Pa_s * L_m * Q_m3_s / (Math.PI * Math.pow(R_m, 4));
}
const Q = 1e-6 / 60; // 1 mL/min -> m^3/s
console.log('dP:', dPForQ({ R_m: 0.5e-3, L_m: 1, Q_m3_s: Q, mu_Pa_s: water.mu_Pa_s }).toFixed(1), 'Pa');
// ~680 Pa (~ 7 cm of water)
Where Poiseuille flow matters
- Cardiovascular physiology. Arteriolar resistance regulation via smooth-muscle constriction; r⁴ dependence is the heart of blood pressure control.
- Microfluidics. Lab-on-a-chip designs operate at Re ~ 1; Poiseuille flow is the workhorse.
- Oil and gas pipelines. Initial design uses laminar formulas; corrected with turbulent friction factors for high-Re cases.
- IV drips. Drip rate set by viscosity, tubing radius, height differential -- straight Poiseuille.
- Lubrication. Oil in narrow gaps between machine parts -- Poiseuille analog.
- Capillary viscometers. Measure fluid viscosity by timing volume through a calibrated capillary at known ΔP.
- Permeability and Darcy's law. Flow through porous media is bundled Poiseuille flow in micro-channels.
Common mistakes
- Applying Poiseuille at high Re. Above Re ≈ 2300 you need turbulent flow formulas (Darcy-Weisbach + Moody chart).
- Forgetting the no-slip boundary. Velocity at the wall is zero. Without no-slip the profile would be flat -- the parabola comes from boundary friction.
- Assuming the mean equals the max. ū = u_max / 2 for parabolic profile. Get this wrong and flow estimates are off by a factor of 2.
- Using it for blood through capillaries naively. Whole blood is non-Newtonian; red cells (8 μm) are similar to capillary diameter. Poiseuille is approximate.
- Ignoring entrance length. In short pipes, the developing flow region (L_e ≈ 0.06 Re D) is a significant fraction of total length and the pressure drop exceeds the Poiseuille prediction.
- Confusing R (radius) and D (diameter). Q ∝ R⁴ means Q ∝ D⁴/16. Easy to drop the factor when reading literature.
Frequently asked questions
Why is the velocity profile parabolic?
Two reasons. First, no-slip: fluid at the pipe wall sticks to the wall, so velocity = 0 there. Second, in steady fully-developed flow with no acceleration, the viscous shear must balance the pressure gradient. Newton's law of viscosity gives shear proportional to du/dr, and the balance integrates to u(r) = (ΔP / 4μL)(R² − r²). Parabolic in r because two integrations of a linear shear profile give a quadratic velocity.
Where does the r⁴ come from?
The volumetric flow rate Q = ∫_0^R u(r) 2πr dr. Plug in the parabolic profile and integrate: Q = πΔP R⁴ / (8μL). Two powers of r come from the area element 2πr dr; two more come from the parabolic profile R² − r². Doubling R gives 16 times the flow.
When does Poiseuille's formula apply?
Five conditions: Newtonian fluid, laminar flow (Re < ~2300), steady, fully developed (far from inlets), and incompressible. Air at high speed violates incompressibility; blood and polymers violate Newtonian; rough pipes at high flow violate laminar.
How does this apply to blood flow?
Most circulatory resistance is in arterioles (diameter 10-100 microns), where Poiseuille applies reasonably well. Smooth-muscle constriction by a factor of 2 increases resistance 16-fold — the basis for blood pressure regulation. Through a capillary 8 μm diameter at 2 mmHg pressure drop, mean velocity is about 1 mm/s.
What about turbulent flow?
Above Re > ~2300-4000, laminar flow becomes unstable and breaks down into turbulence. The profile flattens (plug-like core, thin viscous sublayer) and flow rate scales differently: roughly Q ~ ΔP^(4/7) with prefactor depending on pipe roughness. Use Darcy-Weisbach with empirical friction factors instead.
Who discovered the formula?
Gotthilf Hagen derived the r⁴ dependence empirically in 1839 from experiments on water in brass tubes. Independently, Jean Leonard Marie Poiseuille — a French physician studying capillary blood flow — published the same result in 1840-46. The theoretical derivation from Navier-Stokes was completed by Hagenbach in 1860.
What is the entrance length?
When fluid first enters a pipe its velocity profile is roughly flat. The no-slip wall slows fluid near the wall while the core accelerates. The transition to the fully-developed parabolic profile takes the entrance length L_e ≈ 0.06 Re D for laminar flow. In short pipes the developing region dominates and Poiseuille underestimates pressure drop.