A transparent lab channel with a stepped inlet and an obstacle. Raise the Reynolds number and watch smooth blue and orange streams roll up into vortices, while the energy spectrum E(k) and the grid-convergence study show what the numbers mean.
Window: downstream part of the channel. Dashed references: k-5/3 (white) and k-3 (orange).
The science
Method. A 2-D D2Q9 lattice-Boltzmann (BGK) solver advances nine particle populations fi per cell: fi(x+ci,t+1) = fi − (fi − fieq)/τ, fieq = wiρ[1 + 3 ci·u + 4.5 (ci·u)² − 1.5 u²]. In the low-Mach limit this reproduces the incompressible Navier-Stokes equations ∂u/∂t + (u·∇)u = −∇p/ρ + ν∇²u, ∇·u = 0 with kinematic viscosity ν = (τ − ½)/3 (lattice units). Walls and the obstacle use half-way bounce-back (no slip), the inlet imposes the equilibrium of a prescribed profile, the outlet copies populations (zero gradient).
Reynolds number and regimes. Re = U D/ν. A cylinder sheds a regular vortex street at Re of about 50-300 with Strouhal number St = f D/U ≈ 0.2 (0.16-0.2 in free flow, higher in a blocked channel); at Re of a few thousand the wake and the shear layer behind the inlet step roll up and break into many scales.
Spectrum. The spectrum is the radial sum of the 2-D Fourier power of u and v in a downstream window (no mean flow, no window function, so some spectral leakage). In three dimensions an inertial range follows E(k) ∝ ε2/3 k−5/3 (Kolmogorov). This flow is two-dimensional, where vortex stretching is absent: the energy goes to large scales (inverse cascade, k−5/3) and enstrophy to small scales (forward cascade, E(k) ∝ k−3). Both reference lines are drawn; the fitted slope in the table is for the chosen wavenumber range only. The Kolmogorov length η = (ν³/ε)1/4 is far below one cell at high Re, so the grid cannot resolve it: that is why the Smagorinsky model (τeff from the non-equilibrium stress, Cs = 0.12) is used.
Grid convergence. The study decays a Taylor-Green vortex, umax ∝ exp(−2νk²t), on N×N grids and compares the measured viscosity with (τ − ½)/3; the error shrinks with N (second-order scheme).
Simplifications. 2-D only (the 3-D tank is a visual frame; the flow is drawn in the mid-plane with two faint parallax layers), low-Mach compressibility error (peak lattice speed about 0.14), impulsive start, coarse grid (288×96), and the dye and tracers are passive. Not a CFD design tool. Models built with Blender, scene by Three.js.