Vortex Street — how wind becomes a force that shakes a structure

A from-scratch incompressible Navier–Stokes solver (finite-volume MAC grid, Chorin projection), checked against Ghia 1982 and Williamson's shedding law.
clockwise
counter-clockwise
100Reynolds number
0.17Strouhal St
1.5drag CD
0.4lift amplitude

A round pillar sits in a steady wind. Above a certain speed the flow can no longer stay attached, and it peels off in alternating swirls, first up, then down. Each swirl tugs the pillar sideways, so the wind delivers a rhythmic push. That rhythm is what topples chimneys and makes cables gallop.

u/∂t + (u·∇)u = −∇p + ν∇²u,  ∇·u=0
Solved by Chorin projection on a staggered MAC grid; the cylinder is an immersed boundary (volume penalization), whose penalty reaction gives the drag/lift directly.
St = f·D/U  ≈  0.198 (1 − 19.7/Re)
Shedding frequency f → a sideways lift force at St·U/D. Verified: cavity centrelines match Ghia 1982 to RMS 2·10⁻³; St follows Williamson (residual offset = quantified domain blockage).
inverse:  U = f·D / St(Re)  ←  recover the wind from the wobble
FFT the wake → peak f → invert St(Re) → flow speed U, with a 95% CI from sensor-noise: a simulate→recover round-trip with uncertainty.
Same solver, run backwards — read the wind speed off the wobble
The point of the project. A bluff body sheds at f = St·U/D, so the wake frequency encodes the flow speed — this is how industrial vortex flow-meters work. It is inverted here on the solver: known U → it sheds → recover U with a 95% CI.
Checked against references (Ghia et al. 1982; Williamson 1996). Blockage from the finite domain is reported. The vorticity field shown is generated by the solver.