Wind Tunnels, Similarity & Computational Aerodynamics

How aerodynamic data is actually obtained. Learn dimensional analysis and similarity (Reynolds, Mach, Froude), wind-tunnel types and measurements (balances, pressure taps, PIV), corrections, potential flow and panel methods, the CFD workflow (geometry, mesh, solver, turbulence models, convergence, validation), levels of fidelity (panel → Euler → RANS → LES), and flight testing — with Python for cylinder pressure and model-scale similarity.

Aircraft are designed with three complementary tools: computation (CFD), experiment (wind tunnels) and flight test. Each validates the others. Getting data right requires matching the physics — the dimensionless numbers — not just the shape.

CFD now handles most design iteration, but a modern airliner programme still runs thousands of wind-tunnel hours, and certification relies on flight test.

An analogy

CFD is like a weather forecast for air around a vehicle: the world is chopped into millions of cells and the equations of motion are stepped until the flow settles. A wind tunnel is the controlled experiment that tells you whether the forecast can be trusted.

Why similarity matters

A 1:10 model at the same speed has one-tenth the Reynolds number, so its boundary layers and stall behave differently. Matching Mach number captures compressibility; matching Re captures viscous effects; they are hard to match together. Engineers use transition trips, corrections and CFD to bridge the gap.

Wind tunnels

Types and measurements:

The CFD workflow

Clean the CAD geometry, generate a mesh (structured, unstructured, overset) with fine cells near walls, choose physics (inviscid Euler, RANS with a turbulence model, LES), set boundary conditions, run the solver to convergence (residuals and forces flat), check mesh independence, then validate against experiments. Common tools: OpenFOAM, SU2, ANSYS Fluent, STAR-CCM+, NASA FUN3D/CFL3D.

Fidelity, uncertainty and flight test

Panel and vortex-lattice methods (seconds) for early design; Euler (minutes–hours) for transonic shocks; RANS (hours) for attached viscous flow; LES/DES (days, supercomputers) for separated and acoustic flows. CFD struggles with stall, buffet and transition, where wind tunnels remain essential. Flight testing measures what matters for certification — performance, handling, flutter, stall — using instrumented prototypes.

Formulas

Worked example: Model Reynolds number

Given: Full-scale chord 1.5 m at 70 m/s; 1:10 model

Find: Model Re at the same speed.

Answer: 7.2e5 — risk of laminar separation and unrealistic stall

Worked example: Stagnation pressure

Given: C_p at θ = 0 for any body

Find: C_p.

Answer: C_p = 1

Worked example: Time step

Given: Δx = 1 mm, u = 200 m/s, CFL = 0.8

Find: Δt.

Answer: 4 µs

Potential-flow pressures and Reynolds matching

import math
# Potential flow around a cylinder: Cp = 1 - 4 sin^2(theta)
for deg in (0, 30, 60, 90, 120, 180):
    th = math.radians(deg)
    print(f"theta {deg:3d} deg: Cp = {1 - 4*math.sin(th)**2:+.2f}")
# Dynamic similarity for a 1:10 wind-tunnel model at the same Mach number (air at 288 K)
V_full, L_full, nu = 70.0, 1.5, 1.46e-5
Re_full = V_full * L_full / nu
Re_model = V_full * (L_full / 10) / nu
print(f"full-scale Re = {Re_full:.2e}, 1:10 model at same speed Re = {Re_model:.2e}")
print(f"pressure needed to match Re (same V, T): {Re_full/Re_model:.0f} atm (cryogenic/pressurised tunnels)")
# theta   0 deg: Cp = +1.00
# theta  30 deg: Cp = +0.00
# theta  60 deg: Cp = -2.00
# theta  90 deg: Cp = -3.00
# theta 120 deg: Cp = -2.00
# theta 180 deg: Cp = +1.00
# full-scale Re = 7.19e+06, 1:10 model at same speed Re = 7.19e+05
# pressure needed to match Re (same V, T): 10 atm (cryogenic/pressurised tunnels)

Ideal potential flow is symmetric front-to-back, so it predicts zero drag (d'Alembert's paradox) — reality has separation and a wake. Small models run at too low a Reynolds number; pressurised or cryogenic tunnels (e.g. NASA NTF, ETW) raise density or lower viscosity to match flight Re.

Common mistakes

Applications

Key takeaways

Going further