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

Turbulence & the Reynolds Number

Osborne Reynolds discovered in 1883 that a single dimensionless parameter — the ratio of inertial to viscous forces — predicts whether a flow will be smooth and orderly or chaotic and turbulent. Despite over a century of research, turbulence remains one of the last unsolved problems of classical physics. Yet engineers harness empirical models to design aircraft, pipelines and weather systems every day.

1. The Reynolds Number

The Reynolds number Re compares the magnitude of inertial forces (which promote turbulence) to viscous forces (which suppress it):

Re = ρ·U·L / μ = U·L / ν ρ — fluid density [kg/m³] U — characteristic velocity [m/s] L — characteristic length (pipe diameter, chord length…) [m] μ — dynamic viscosity [Pa·s] ν = μ/ρ — kinematic viscosity [m²/s] (water: ν ≈ 1×10⁻⁶ | air: ν ≈ 1.5×10⁻⁵ m²/s at 20°C) Typical regimes: Re < 2 300 → laminar pipe flow (Hagen-Poiseuille) 2 300–4 000 → transitional Re > 4 000 → turbulent pipe flow Re > 5×10⁵ → turbulent flat-plate boundary layer

2. Laminar–Turbulent Transition

In his 1883 dye-stream experiment, Reynolds injected coloured water into a glass pipe and varied the flow rate. Below a critical Re the dye flowed in a smooth thread; above it the dye mixed chaotically throughout the cross-section.

Transition is not a sharp threshold — it depends on inlet disturbances, pipe roughness, and free-stream turbulence intensity. The Orr-Sommerfeld equation describes the linear stability: small perturbations grow when the eigenvalues of the associated operator have positive imaginary parts.

Orr-Sommerfeld (2D, parallel flow U(y)): (U−c)(φ'' − k²φ) − U''φ = (i/Re)(φ'''' − 2k²φ'' + k⁴φ) φ — stream-function perturbation k — wavenumber c — wave speed (complex; Im(c) > 0 → growing) Plane Poiseuille flow: critical Re ≈ 5 772 (linear) but transition observed at Re ≈ 1 000–3 000 (subcritical, nonlinear)

3. Kolmogorov Energy Cascade

In 1941 Kolmogorov proposed a statistical theory of fully developed turbulence. Energy is injected at large scales (integral scale L), cascades through a hierarchy of eddies, and dissipates as heat at the Kolmogorov microscale η:

Kolmogorov microscale: η = (ν³/ε)^(1/4) ε — turbulent kinetic energy dissipation rate [m²/s³] L/η ≈ Re^(3/4) → DNS grid points ∝ Re^(9/4) Energy spectrum (inertial subrange): E(k) ∝ ε^(2/3) · k^(−5/3) ← Kolmogorov -5/3 law Verified experimentally in jets, atmospheric flow, tidal channels. For Re = 10⁶: ratio L/η ≈ 10^4.5 → ~56 000 cells per dimension → Direct Numerical Simulation requires ~10^13 cells (on future exascale!)

4. Kármán Vortex Street

Flow past a bluff body (cylinder, bridge pier, chimney) sheds alternating vortices downstream at a characteristic frequency governed by the Strouhal number:

Strouhal number: St = f·D / U f — vortex shedding frequency [Hz] D — cylinder diameter [m] U — incoming flow speed [m/s] For a circular cylinder: St ≈ 0.2 (over Re 100–10⁵) Shedding frequency: f = 0.2 · U / D Tacoma Narrows Bridge (1940): D ≈ 2.4 m, U ≈ 19 m/s → f ≈ 1.6 Hz ≈ natural frequency → resonance → collapse Vortex-induced vibration is critical in: offshore risers, power cables, heat exchanger tubes, tall chimneys

5. Boundary Layers

Near a solid surface the no-slip condition forces velocity to zero. The boundary layer thickness δ grows with distance x from the leading edge:

Laminar (Blasius solution): δ ≈ 5 √(νx/U) = 5x / √Re_x Turbulent (empirical): δ ≈ 0.37x / Re_x^(1/5) Skin friction coefficient: Laminar: Cf = 0.664 / √Re_x Turbulent: Cf = 0.0594 / Re_x^(1/5) Turbulent BL is thicker but transfers more momentum → higher drag but also promotes pressure recovery on curved surfaces (delays separation → golf ball dimples exploit this!)

6. DNS, RANS and LES

DNS

Direct Numerical Simulation resolves all scales down to η. Exact but O(Re^(9/4)) cost. Used for Re ≤ 10 000 in research.

RANS

Reynolds-Averaged Navier-Stokes. Time-averages the equations, models all turbulence via a closure (k-ε, k-ω SST). Standard in industrial CFD.

LES

Large Eddy Simulation resolves large eddies directly, models only sub-grid scales (Smagorinsky model). 10–100× more expensive than RANS.

Hybrid RANS/LES

DES (Detached Eddy Simulation): RANS near walls, LES in free shear regions. Best balance of cost and accuracy for aerodynamics.

7. JavaScript Vortex Shedding Simulation

// 2D Kármán vortex street via point vortex method
class PointVortex {
  constructor(x, y, gamma) {
    this.x = x; this.y = y;
    this.gamma = gamma; // circulation (+ = CCW, - = CW)
  }
}

function inducedVelocity(vortices, px, py, core = 0.5) {
  let u = 0, v = 0;
  for (const vt of vortices) {
    const dx = px - vt.x, dy = py - vt.y;
    const r2 = dx*dx + dy*dy + core*core;
    u +=  vt.gamma * dy / (2*Math.PI * r2);
    v -=  vt.gamma * dx / (2*Math.PI * r2);
  }
  return {u, v};
}

function stepVortices(vortices, U_inf, dt) {
  const newPos = vortices.map(v => {
    const others = vortices.filter(w => w !== v);
    const {u, v: vel_v} = inducedVelocity(others, v.x, v.y);
    return {x: v.x + (U_inf + u) * dt, y: v.y + vel_v * dt};
  });
  newPos.forEach((p, i) => { vortices[i].x = p.x; vortices[i].y = p.y; });
}

// Kármán street: shed vortices alternately above/below cylinder
const vortices = [];
let time = 0, shedTimer = 0;
const U = 1, D = 20, St = 0.2;
const shedPeriod = D / (St * U); // T = D/(St·U)

function shed(sign) {
  const gamma = sign * 2 * Math.PI * U * D * 0.3;
  vortices.push(new PointVortex(0, sign * D * 0.6, gamma));
}

function update(dt = 0.5) {
  shedTimer += dt;
  if (shedTimer >= shedPeriod / 2) {
    shed(vortices.length % 2 === 0 ? 1 : -1);
    shedTimer = 0;
  }
  stepVortices(vortices, U, dt);
  time += dt;
  // Remove vortices that have left the domain
  while (vortices.length > 60) vortices.shift();
}

// Reynolds number monitor
function striationRe(U, D, nu = 1e-6) {
  return U * D / nu;
}

8. Engineering Applications

💧 Open SPH Fluid →