This is a genuine 2D boundary-layer solve, not a flattened copy of a 3D scene. The outer inviscid slip velocity comes from classical potential flow around a cylinder, ue(θ) = 2U sinθ (θ from the front stagnation point). Everything downstream of that is computed live in the browser by numerically integrating the real viscous boundary-layer equations along the surface:
Thwaites (laminar):
θ_mom²(s) = 0.45ν/Ue(s)⁶ · ∫₀ˢ Ue(ξ)⁵ dξ
λ = (θ_mom²/ν)·dUe/ds → separation at λ = −0.09
Michel (natural transition):
Re_θ,crit = 1.174(1 + 22400/Re_x)·Re_x^0.46
Head + Ludwieg–Tillmann (turbulent, after transition):
dθ/dx = Cf/2 − θ(H+2)/Ue·dUe/dx
d(Ue θ H1)/dx = Ue·0.0306(H1−3)^−0.6169
Cf = 0.246·10^(−0.678H)·Re_θ^−0.268
separation when Cf → 0
Integrating this on a smooth cylinder gives laminar separation at θ≈103°, matching the classical Thwaites result for this exact potential-flow body (textbooks cite ≈100–110°, versus the lower ≈82° seen in real experiments — the gap is the well-known price of using the idealised potential-flow outer velocity instead of the true separated pressure field). Tripping the layer — or crossing the ≈3.5×10⁵ critical Reynolds number that lets the free shear layer itself transition and reattach — forces early transition and the turbulent solve pushes separation back to ≈130–135°: the drag-crisis mechanism, reproduced from the equations rather than looked up from a table.
The wake itself is a real discrete-vortex simulation: alternating point vortices are shed from the two computed separation points at the Strouhal frequency (St=0.2), each carrying circulation Γ = ½Ue,sep²·Thalf (Gerrard's classic shed-layer estimate). Every vortex is advected by the sum of every other vortex's induced velocity plus its own image vortex inside the cylinder (method of images — an opposite-sign vortex at R²/z̄ enforces zero flow through the cylinder wall) plus the free stream. Drag coefficient is estimated from a linear fit between the potential-flow pressure coefficient at the separation point, Cp(θsep) = 1 − 4sin²θsep, and the textbook Cd endpoints (1.2 laminar / 0.3 turbulent) — an engineering estimate, clearly distinct from a raw Reynolds-number lookup.
- Airspeed / diameter — set Re = UD/ν; the boundary-layer solve re-runs from scratch on every change.
- Trip — forces transition at θ≈20°, like dimples on a golf ball, reproducing the drag crisis at low Re.
- Show surface Cp — colours the cylinder by potential-flow pressure coefficient: blue at the stagnation points, red over the low-pressure shoulders.