Physics · aerodynamics

Wind Tunnel

A live flow simulation around a wing: angle of attack, slat, flap, spoiler, separation and shock waves.
—
—

The tunnel

low speed
The distance from the nose to the tail. With the airspeed it sets the Reynolds number: bigger and faster gives a thinner boundary layer.

Smoke in the tunnel

Right now
Detail

The boundary layer on the top surface

Speed two cells off the surface, along the chord. Where it drops below zero the air has turned round: that is separation.

Lift coefficient over time

How it works

Two real solvers, one wing

A flow, not a film

Nothing is scripted. The low-speed mode solves the air’s motion with its viscosity on a grid, so the stall, the wake and the swirls come out of the equations.

Move the wing, the air decides

Slat, flap and spoiler only change the shape. How the flow reacts, including through the gaps, is not drawn by hand.

See the boundary layer part company

Switch on Boundary layer to draw the air’s speed profile on the wing, with a ring where the layer next to the surface turns back and lifts off. Streamlines show where it goes.

High speed shows the shocks

A second solver treats the air as compressible, so shock waves, expansion fans and the sonic line appear, from Mach 0.7 to 3.

Lift per radian of angle, from classical theory. Below Mach 1 the Prandtl–Glauert rule multiplies the low-speed 2π = 6.28 by 1 ÷ √(1 − M²), so the lift for a given angle climbs to 10.5 at Mach 0.8. Above Mach 1 Ackeret’s 4 ÷ √(M² − 1) takes over and it falls away: 6.03 at Mach 1.2, 2.31 at Mach 2 and 1.41 at Mach 3. Both formulas fail close to Mach 1, where real wings peak lower. The solvers on this page show the shocks that theory cannot.
Field notes

What you are looking at

~0.11per degree

Lift grows with angle, until it cannot

For a thin wing the lift coefficient rises about 0.11 for each degree of angle of attack. It stops when the air can no longer follow the suction peak near the nose: the boundary layer separates from the back forward, lift falls short of the line and drag climbs. Real wings stall somewhere between roughly 12 and 18 degrees, depending on the section and the Reynolds number.

Reading the boundary layer

Right against the surface the air is held still by friction; a little way out it is up to speed. The row of arrows at each point on the wing is that climb, and the white curve through their tips is the velocity profile. While the air is being pushed forward by the flow outside, the profile is steep at the wall. As the pressure rises towards the tail the layer slows and the profile flattens. When the speed at the wall reaches zero the layer is about to separate, and past that point the arrows next to the surface point backwards (red): the air there is running upstream, and the streamlines curl into a pocket. That ring on the wing is the separation point.

Move the angle up and the ring walks forward from the tail towards the nose. That is stall, seen from the inside.

Smoke, streamlines and particles

Smoke is released upstream and drawn where it has been carried, so each filament is a streakline: the path of everything that came from one spot. Streamlines are the paths the air is following right now, frozen at one instant. In a steady flow they are the same lines; when the flow is unsteady, smoke shows the history and streamlines the moment. Particles are individual specks of air with streaks as long as their speed. Their number per area follows the air’s density, so in the shock view they bunch up where the air is squeezed, and thin out behind an expansion.

What a slat does

A slat sits ahead of the nose and leaves a gap. Air from under the wing is forced through the gap and speeds up, which gives the layer on the upper surface fresh energy and lets it hold on to a steeper angle. That raises the stall angle by several degrees. The cost is a little extra drag.

What a flap does

Lowering the flap adds camber, so the wing makes more lift at the same angle, and sliding it back adds area. Drag rises with it, which is why flaps are for take-off and landing. A gap between the flap and the wing lets high-pressure air through, which keeps the flow attached over the flap.

What a spoiler does

A raised plate on the upper surface trips the flow into separation behind it. The suction there collapses, so lift falls and drag rises. Pilots use it to lose height without gaining speed, to put weight on the wheels after landing, and, one side at a time, to roll the aircraft.

M 0.8where shocks begin

The air over the wing is faster than the air beside it

Air speeds up over the curved upper surface, so a wing flying at Mach 0.8 can have a pocket of supersonic flow over it. That pocket ends in a shock, and the drag rises steeply: this is why airliners cruise at about Mach 0.8 and why their wings are thin and swept.

Shocks have a shape

A sharp edge turns the flow through a straight, slanted shock whose angle depends on the Mach number and the turning angle. A round nose cannot, so the shock bends and stands off ahead of it as a bow wave. Behind a shoulder the flow turns away and expands in a fan. Switch to the Schlieren view to see all three.

What this cannot do

The picture is two-dimensional, so there are no wingtip vortices and no three-dimensional stall cells. The low-speed flow runs at a Reynolds number of 100 to 2,000, thousands of times below a real wing’s, so its boundary layer is thick compared with the wing, the drag coefficient is far too high and the lift coefficient too low. The turbulence is a model of the average flow. The high-speed solver has no viscosity at all, so it cannot show separation, including the shock-induced kind. The lift and drag numbers are for comparing set-ups here, not for a real aircraft.

Questions

What people ask

What is angle of attack?

The angle between the wing’s chord line, the straight line from nose to tail, and the direction of the oncoming air. More angle deflects more air downward and makes more lift, up to the stall.

Why does a wing stall?

As the angle rises, the air speeds up over the nose and then has to slow and rise in pressure along the rest of the surface. Past a certain angle the layer next to the surface can no longer push against that rising pressure, so it lifts off. The wing then behaves more like a blunt plate: lift drops and drag climbs.

What do slats and flaps do?

A slat holds the flow to the nose at a higher angle, so the wing can fly slower before it stalls. A flap adds camber and area, so the wing makes more lift at the same angle. Together they let an airliner land at a speed a clean wing could not.

What does a spoiler do?

It forces the flow to separate behind it, which cuts lift and adds drag. It is used to descend, to slow down after touching down, and for roll control.

What is a shock wave, and why do wings make them?

A shock is a thin surface across which the pressure, density and temperature jump and the flow slows suddenly. Anything moving faster than sound in the air makes them, and a subsonic wing makes them too when the air speeding over its upper surface passes the speed of sound locally.

Why can the high-speed mode not show flow separation?

Separation comes from viscosity, which that solver leaves out. It gets the shocks right, because they come from compressibility, but a shock that makes the flow lift off the surface, as real transonic shocks often do, is beyond it.

Is this a real simulation?

Yes. The low-speed mode solves the Navier–Stokes equations with the lattice Boltzmann method, and the high-speed mode solves the Euler equations of compressible flow with a finite-volume scheme. Both run on your device, on grids coarse enough to run live, which is why they are for understanding and not for design.

What is the difference between smoke, streamlines and particles?

Smoke leaves a trail of where air has been, and streamlines show where the air is heading at this instant; in steady flow they coincide. Particles are specks carried by the flow, drawn as streaks; where the air is compressed, as at a shock, they crowd together, so they show density as well as direction.

What does Simulation detail change?

The size of the grid the air is solved on. Fast is coarse and runs on a slow device. Standard is the default. High, in the low-speed mode, adds a patch of grid twice as fine around the wing and its wake; the layer next to the wing is then close to what the finest grid would give, and the lift and separation point change a little: a coarser grid separates later and makes less lift. In the shock mode High is a grid one and a half times finer in each direction, so the shocks are sharper, and it takes about two and a quarter times as long per step.

What is the boundary layer?

The thin layer of air next to a surface, where friction slows the air from the full stream speed down to zero at the wall. Its thickness and how it behaves decide the drag and when the wing stalls. Switch on the Boundary layer view to see its speed profile along the top of the wing.

How can you tell where the air separates?

Look at the air right next to the wall. In attached flow it moves along the surface, slowly. At the separation point its speed at the wall falls to zero, and beyond it the air next to the surface runs backwards, towards the nose. The chart under the picture plots exactly that, along the chord, and the ring on the wing marks where the line crosses zero.

Why does the simulation run at a lower Reynolds number than the real one?

The grid has to resolve the thin layer of slowed air next to the wing. For a real wing, at a Reynolds number of millions, that layer is a hundredth of the chord or less; a grid fine enough to show it would be millions of times larger. So the page works out the real Reynolds number from your airspeed and wing size, and runs the nearest it can: 200 to 1,000 for a laminar layer, 500 to 2,000 with the turbulence model on, in the same order, so faster or bigger always gives a thinner layer. The picture is the same kind of flow, not the same flow.

What does the airspeed slider change?

In the low-speed mode it sets the speed in metres per second, with kilometres per hour, knots and the Mach number beside it. With the wing size it gives the Reynolds number, the speed times the chord divided by the air’s stickiness. Raising it thins the boundary layer, so it clings to the wing longer and the separation point moves back. The lift per metre of span is the simulation’s lift coefficient times the dynamic pressure and the chord, so it grows with the square of the speed. In the high-speed mode the slider is the Mach number, with the speed it means at sea level beside it.

What is the difference between a laminar and a turbulent boundary layer?

A laminar layer is smooth: the air slides in sheets. It is thin, but it has little push to spare against a rising pressure, so it lets go of the surface at a low angle. A turbulent layer is churned by small eddies that carry fast air down to the wall, so it is fuller and thicker, makes more friction, and holds on to the surface to a much higher angle. A smooth wing trips to turbulent by itself above a Reynolds number of about 300,000; golf balls and vortex generators trip it on purpose. The Auto setting follows that rule, and Laminar and Turbulent let you force either to see the difference.

How does the page model turbulence?

It shows the average flow, not the eddies. Near the wing the solver adds an eddy viscosity from the mixing-length idea: the eddies mixing air at a distance d from the wall are about 0.41 d across, which adds a viscosity of (0.41 d) squared times the strain, fading out by a fifth of a chord from the wing. That makes the layer fuller, as a real turbulent one is, and it delays separation. It is a classroom model, not a prediction for a real wing.

What does the wing chord do?

It is the distance from nose to tail, from 5 cm to 6 m. It does not change the picture’s shape, which is scaled to fit, but with the airspeed it sets the Reynolds number and the force: a bigger wing at the same speed has a thinner layer relative to its size and makes more lift.

A teaching simulation, not a design tool. It is two-dimensional, the low-speed flow runs at a Reynolds number thousands of times below a real wing’s, and the high-speed solver has no boundary layer. Do not take lift, drag or stall angles from it for a real aircraft.
Version history · 5 releases
  1. v6.982026-10-23Wind Tunnel drawn at full resolution: the wing from its exact outline, the picture as sharp as the screen, smoke on a grid twice as fine, the surface halo removed
  2. v7.02026-10-24Wind Tunnel: streamlines that no longer lag, every view drawn at twice the resolution, particles, crisp smoke, a soft start without the ripples, and a faster stream
  3. v7.12026-10-24Wind Tunnel: a Simulation detail control (Fast, Standard, High) in both modes, and in the low-speed tunnel a patch of grid twice as fine around the wing and its wake, checked against the fine grid everywhere
  4. v7.22026-10-24Wind Tunnel: airspeed in metres per second with the Reynolds number beside it, a wing-size control, and a laminar, turbulent or automatic boundary layer with a mixing-length turbulence model
  5. v7.32026-10-24Wind Tunnel: the shock solver runs about 1.4 times as fast (its flux routine no longer allocates), with identical results

Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.

Rules of thumb are approximations, offered to get you to the right order of magnitude fast. Check anything load-bearing against its source or the exact tool. Privacy · Terms

© 2026 Rules of Thumb · Runs entirely in your browser