Article
Biophysics · Fluid Dynamics · ⏱ ≈ 12 хв читання

Blood Flow & Poiseuille's Law — The Fluid Mechanics of Circulation

Jean-Louis Poiseuille spent years in the 1830–40s measuring water flow through fine glass tubes, establishing the fourth-power law that now bears his name. Applied to blood vessels, it explains why a 50% narrowing of an artery reduces blood flow by 94% — a fact central to understanding atherosclerosis, stenosis, and cardiovascular disease. Combined with the Windkessel model of arterial compliance, Poiseuille's law gives a surprisingly accurate picture of the heart as a pump.

1. Poiseuille Flow Derivation

For a viscous, incompressible, steady, laminar flow in a cylindrical tube, the Navier-Stokes equations reduce to a radial ODE:

Setup: tube radius R, length L, pressure drop ΔP = P₁ − P₂ Viscosity η, flow in z-direction, no-slip at wall (v=0 at r=R) Navier-Stokes (z-component), fully developed: 0 = −dP/dz + η · (1/r)·d/dr[r·dv/dr] Integrating twice with BC v(R)=0, finite at r=0: v(r) = (ΔP / 4ηL) · (R² − r²) ← parabolic profile Maximum velocity (centreline r=0): v_max = ΔP·R² / (4ηL) Average velocity: ⟨v⟩ = v_max / 2 = ΔP·R² / (8ηL)

2. The Fourth-Power Law

Volumetric flow rate Q = ∫₀ᴿ v(r) · 2πr dr Poiseuille-Hagen equation: Q = π·R⁴·ΔP / (8·η·L) Hydraulic resistance (analog to Ohm's law, ΔP = Q·R_h): R_h = 8ηL / (πR⁴) The critical consequence: Q ∝ R⁴ → doubling the radius = 16× the flow! 50% narrowing (R → R/2): Q → Q/16 (94% reduction) 10% narrowing: Q → (0.9)⁴ = 0.66 (34% reduction) For series resistances (blood vessel segments): R_total = R₁ + R₂ + … (like electrical resistors in series) For parallel: 1/R_total = Σ (1/Rᵢ)

3. Blood as a Non-Newtonian Fluid

Whole blood does not obey Newton's law of viscosity (η = constant) — it is a shear-thinning suspension:

Plasma viscosity : η_plasma ≈ 1.2 mPa·s (≈ water) Whole blood: η_blood ≈ 3–4 mPa·s (large vessels, high shear) Fahraeus-Lindqvist effect (small vessels d < 500 μm): Apparent viscosity DECREASES as vessel diameter decreases, because red blood cells (8 μm) migrate to vessel centre, leaving a cell-free plasma layer at the wall. Casson model (empirical shear-thinning): √τ = √τ_y + √(η_∞ · dv/dr) τ_y ≈ 0.04 dyn/cm² (Casson yield stress for blood) This matters most in arterioles (d < 100 μm) and pathological states (high haematocrit, cold temperatures increase viscosity significantly).

4. Vascular Tree and Murray's Law

Murray's Law (1926) — optimal branching: r_parent³ = r₁³ + r₂³ Derived by minimising total metabolic + cardiac work: W = Q·ΔP + metabolic_cost·L = const·(r⁴ / η) + k·r²·L For symmetric bifurcation (r₁=r₂=r_d): r_parent / r_d = 2^(1/3) ≈ 1.26 This predicts: - Area ratio: (r₁² + r₂²) / r_p² = 2^(1/3) ≈ 1.26 - Flow velocity decreases at each branching - Cross-sectional area increases 26% per generation → velocity drops Cardiovascular system generations: Aorta (r≈1.5cm) → major arteries → arterioles → capillaries (r≈3μm) ~17 branching generations, velocity from ~1 m/s to ~1 mm/s in capillaries

5. Windkessel Model of Arterial Compliance

Two-element Windkessel (Frank 1899): Capacitor C (arterial compliance) in parallel with resistor R (peripheral resistance) Pressure P(t) obeys: C·dP/dt = Q_heart(t) − P/R During systole (heart ejects Q_in): P rises (capacitor charges), excess flow stored in elastic walls During diastole (heart valve closed, Q_in=0): P(t) = P_diastolic · e^(−t/(RC)) (exponential decay) Parameters: C ≈ 1.0 mL/mmHg (total arterial compliance) R ≈ 1.0 mmHg/(mL/s) (total peripheral resistance) RC ≈ 1 s (Windkessel time constant ≈ one cardiac cycle) Three-element Windkessel adds aortic characteristic impedance Z_c: better fits pressure waveform shape during systole.

6. Turbulence and Heart Sounds

Reynolds number in vessels: Re = ρ·v·D / η Aorta at peak systole: Re ≈ 4 000 (mildly turbulent) Normal arteries: Re < 1 500 (laminar) Capillaries: Re < 0.001 (deep laminar) Heart sounds (Korotkoff sounds, sphygmomanometry): When cuff pressure > systolic: flow stopped, silence When cuff pressure between systolic & diastolic: partial flow through compressed brachial artery → turbulence → sound First sound (systolic BP): turbulence begins Sounds disappear (diastolic BP): flow becomes fully laminar again Stenosis murmur: Re > 300 downstream of narrowing Jet velocity: v_jet = v_normal · (D_normal/D_stenosis)² Pressure: Bernoulli ΔP = ½ρ(v_jet² − v_normal²)

7. JavaScript Vascular Network Simulator

// Vascular network modelled as resistor network
// Nodes: pressure values; Edges: vessel segments with Poiseuille resistance

function poiseuille_resistance(radius, length, viscosity = 0.003) {
  // η_blood ≈ 3 mPa·s, returns resistance [Pa/(m³/s)]
  return (8 * viscosity * length) / (Math.PI * radius ** 4);
}

// Simple branching tree: heart → aorta → arteries[2] → arterioles[4]
function buildVascularTree(r0 = 0.015, L0 = 0.3, generations = 4) {
  const vessels = [];
  function branch(r, L, parentPressure, depth) {
    const R_h = poiseuille_resistance(r, L);
    vessels.push({ r, L, R_h, depth });
    if (depth < generations) {
      const r_child = r / Math.pow(2, 1/3); // Murray's law, bifurcation
      branch(r_child, L * 0.7, parentPressure, depth + 1);
      branch(r_child, L * 0.7, parentPressure, depth + 1);
    }
  }
  branch(r0, L0, 13330, 0); // 100 mmHg aortic pressure in Pa
  return vessels;
}

// Windkessel 2-element model
function windkessel({
  C = 7.5e-9,    // arterial compliance [m³/Pa]
  R = 1e8,       // peripheral resistance [Pa·s/m³]
  P0 = 10600,    // diastolic pressure [Pa] ≈ 80 mmHg
  HR = 70,       // heart rate [bpm]
  SV = 70e-6     // stroke volume [m³] = 70 mL
}, steps = 2000) {
  const dt = 0.001; // 1 ms
  const T = 60 / HR; // cardiac period [s]
  const t_sys = T * 0.35; // systolic duration ≈ 35% of cycle
  const Q_peak = SV / (t_sys * 0.5); // triangular ejection

  let P = P0, t = 0;
  const record = [];

  for (let i = 0; i < steps; i++) {
    const t_in_cycle = t % T;
    let Q_in = 0;
    if (t_in_cycle < t_sys) {
      // Triangular pulse: rise to Q_peak then fall
      Q_in = Q_peak * (1 - Math.abs(2*t_in_cycle/t_sys - 1));
    }
    const dP = (Q_in - P/R) / C;
    P += dP * dt;
    t += dt;
    if (i % 10 === 0) record.push({t: t.toFixed(3), P_mmHg: (P/133.3).toFixed(1)});
  }
  return record;
}

const pulse = windkessel({});
console.log(`Peak P: ${Math.max(...pulse.map(p => +p.P_mmHg)).toFixed(0)} mmHg (systolic)`);

8. Clinical Pathology

Atherosclerosis

Plaque narrows the vessel lumen. A 70% stenosis (radius×0.3) → R_h increases 123×, reducing flow by 99% if not compensated. Collateral vessels must develop to maintain perfusion.

Hypertension

Chronic elevated ΔP forces ↑Q·R_h. Vessel walls thicken (increase η_wall, reduce compliance), heart hypertrophies. Compensation eventually fails → heart failure.

Aneurysm

Local vessel dilation (R increases) drops pressure according to Laplace law T = P·R. Larger radius → higher wall tension → further dilation → rupture risk grows exponentially.

Microfluidics

Lab-on-chip channels operate fully in Poiseuille regime (Re ≪ 1). Flow is highly controllable by channel geometry. Used for PCR amplification, cell sorting, DNA sequencing chips.

💧 Open SPH Fluid →