Yova's Wind Tunnel

Interactive Flow Simulator
LIVE -- fps
Velocity magnitude
lowhigh
Drop 3D model to load
Initialising tunnel…
Drag coefficient
Cd
Cd = D / (½ ρ V² A)
How it is built up
Resulting loads
Cd vs angle of attack
Cd reference
This model
Current geometry
Published values
00.71.4
Where these come from
White, F. M. Fluid Mechanics, 7th ed., Table 7.3 — bluff-body and streamlined-body drag coefficients.
Hoerner, S. F. Fluid-Dynamic Drag, 1965 — the standard compendium for shape and interference drag.
Hucho, W.-H. (ed.) Aerodynamics of Road Vehicles, 4th ed. — vehicle Cd and frontal-area conventions.
Blevins, R. D. Applied Fluid Dynamics Handbook, ch. 10 — tabulated Cd by cross-section.
Munson, Young & Okiishi. Fundamentals of Fluid Mechanics — Reynolds-number dependence of Cd.
Read this as an estimate. The number on the left is a parametric fit driven by the model's bounding box, incidence, Reynolds number and Mach number — not a solved flow field. Real Cd comes from a wind-tunnel run or a validated RANS/LES solve, and can differ by 20–30% for the same silhouette.
AeroJAX · 2D Navier–Stokes
idle
Simulated with AeroJAX
Field
1.0×
Solver setup
30%
2
Geometry, freestream speed, fluid, angle of attack and model rotation are read live from the tunnel. Press Re-read geometry after you rotate or swap the model.
Solved force coefficients
Cd · corrected
Cl · corrected
Strouhal
Drag force
Cd / Cl history
Cd Cl
Wake & surface diagnostics
Cp minimum
peak suction
Wake deficit
at 2·D downstream
Separation
fraction of chord
Stagnation
fraction of height
Cross-check against the parametric estimate
Regime
Physical Re
from tunnel conditions
Solver Re
Timestep pipeline
Convergence
RMS ∇·u after projection dt
Time integration
dt
CFL
max |u|·dt/h
Sim time
Throughput
solver steps/s
The trace viewer reads the solver state after each substep, so the numbers below the equations are the actual residuals for the timestep on screen — not a reconstruction.
What is running
A JavaScript port of the numerical pipeline in AeroJAX, a real-time, differentiable CFD framework by Arno Meijer, built on JAX. github.com/arriemeijer-creator/AeroJAX · LGPL-3.0.
Governing equations
∂u/∂t + (u·∇)u = −(1/ρ)∇p + ν∇²u − (χ/ε)(u − us)
∇·u = 0
Incompressible Navier–Stokes with a Brinkman penalisation term. The mask χ is a smoothed Heaviside of the model silhouette; ε is the penalisation parameter — as ε→0 the porous region approaches a rigid no-slip body.
Discretisation
Grid. MAC staggered arrangement — u on vertical faces, v on horizontal faces, p and χ at cell centres. This is what removes pressure–velocity decoupling and the checkerboard modes a collocated grid suffers from.
Advection. Semi-Lagrangian backtrace, Euler / RK2 / RK3, unconditionally stable in the advective term.
Diffusion. Explicit 5-point Laplacian on ν + νt, with a Smagorinsky eddy viscosity νt = (CsΔ)²|S|, Cs = 0.17.
Projection. Chorin fractional step: ∇²p = (ρ/Δt)∇·u*, then u = u* − (Δt/ρ)∇p. Poisson solved by geometric multigrid V-cycle, red–black SOR, or Jacobi.
Boundaries. Dirichlet inlet, convective outflow with p = 0, and either free-slip or moving-ground walls.
Time step. CFL- and diffusion-limited, optionally trimmed by a PID controller driven by the divergence residual rather than a fixed CFL number.
Forces
Drag and lift are obtained by integrating the momentum removed by the penalisation term each step, F = Σ χ/ε (u − us) dV, then non-dimensionalised on the projected height of the silhouette.
Validation
Know the limits. This is a 2D slice through a 3D body, so it cannot capture trailing vortices, wheel wakes or any spanwise flow — the tunnel's 3D pressure integration and this solver answer different questions. Brinkman penalisation smears the surface over roughly one cell, so Cd and Cl are trend-accurate rather than quantitative. Road-car Reynolds numbers are ~10⁶–10⁷; the solver clamps Re into a range it can resolve and reports both numbers on the Analysis tab.