↑ ↓ to move · enter to open

E04 · Physics · Lift, pressure, drag, glide

why planes fly

A wing is a tilted, curved surface that pushes a huge amount of air downward every second. The air pushes back up on the wing just as hard. That push is lift. Three labs: watch a wing bend the airflow, use the lift equation to find how fast a plane must go, and see how drag sets the best speed and how far a plane can glide with its engine off.

LAB 1

turning air downward

Air is a fluid with weight: a cubic yard of it near the ground weighs about 2 lb. Tilt a wing slightly nose-up into the oncoming air (that tilt is the angle of attack) and the air bends to follow the wing's shape. It rises ahead of the wing and leaves the back edge heading slightly downward. To bend air downward the wing must push it down, so the air pushes the wing up. The same push shows up as lower pressure on top of the wing (blue) and higher pressure underneath (amber). Green lines are streamlines, the paths air follows.

idealized flow
low pressure (suction)
high pressure
— streamlines● top parcel● bottom parcel (started next to the top one)→ local wind direction··· a row of air released at the same instant
6°
3% 112 mph

Try this: press Release air parcels and watch the gold one reach the trailing edge well before the amber one.

Idealized model: inviscid, incompressible 2D potential flow around a Joukowski airfoil (a circle mapped into a wing shape), with circulation chosen by the Kutta condition. Real air has viscosity, a thin boundary layer and, past about 15°, separation. This model never stalls.
—
Lift per unit span, L′ = ρVΓ
—
Holds up, per unit span
—
Circulation Γ
—
Lift coefficient CL
—
Flow angle one chord behind
—
Top parcel arrives first by

Joukowski + Kutta

z = ζ + c²/ζ (circle → airfoil)
Γ = 4πaV·sin(α + β) (Kutta: smooth flow off the sharp tail)
L′ = ρ·V·Γ (Kutta–Joukowski)

Here a is the radius of the circle that maps onto the wing, β is set by the camber (zero for a symmetric wing), α is the angle of attack, ρ is the air density (1.225 kg/m³) and V the airspeed. Γ, the circulation, measures how much faster air goes over the top than underneath, summed around the wing. The chord (front-to-back length) is .

The equal-transit-time myth

A popular explanation says air going over the curved top travels farther, so it must speed up to meet its partner from underneath at the back edge at the same moment. No law of physics makes the two parcels meet. Press Release air parcels: whenever the wing makes lift, the top parcel reaches the back edge first and keeps going, well ahead of its partner.

Air on top really is faster, and its pressure really is lower (Bernoulli's principle). The cause is the wing bending the flow. The equal-time idea also predicts far too little speed difference to hold up a plane, and it can't explain flat paper planes or aircraft flying upside down.

CodePython

import numpy as np
rho, V = 1.225, 50.0                # air density kg/m³, airspeed m/s
alpha = np.radians(6)               # angle of attack
c, eps, my = 1.0, 0.10, 0.06        # Joukowski constant, thickness and camber offsets
z0 = complex(-eps, my)              # circle center
a = abs(c - z0)                     # circle passes through zeta = c: sharp tail
beta = np.arcsin(my / a)
Gamma = 4*np.pi*a*V*np.sin(alpha + beta)   # Kutta condition

zeta = z0 + a*np.exp(1j*np.linspace(0, 2*np.pi, 2000))
z = zeta + c**2/zeta                # the airfoil outline
chord = z.real.max() - z.real.min()
k = 1.5 / chord                     # scale so the chord is 1.5 m
L = rho * V * Gamma * k             # Kutta-Joukowski, N per m of span
CL = 2*Gamma / (V*chord)

def velocity(zeta):                  # returns u + i v at the image point z
    zp = zeta - z0
    dW = V*(np.exp(-1j*alpha) - a**2*np.exp(1j*alpha)/zp**2) + 1j*Gamma/(2*np.pi*zp)
    return np.conj(dW / (1 - c**2/zeta**2))

print(f"L' = {L:.0f} N/m, CL = {CL:.3f}")
LAB 2

the lift equation

Lift grows with four things: how dense the air is, the square of the speed (twice as fast gives four times the lift), the wing's area, and how hard the wing turns the air, which is captured by one number called the lift coefficient CL. For small angles CL grows in step with the angle of attack. Tilt too far and the air can no longer follow the top of the wing: it breaks away, lift collapses, and the wing has stalled. Set a plane's weight and find the speed it needs.

lift vs speed
— lift at this angle- - weight● you are here— stalled● on the weight line: speed needed to stay level
—
—
— —
—

How to read this: the gold curve shows how much the wing can hold up at each speed. Where it crosses the dashed weight line is the speed you need; if the amber dot sits above the line, the plane climbs. The second, smaller chart shows how hard the wing works at each tilt (its lift coefficient). It climbs steadily until about 15°, then falls off in the red zone: that's a stall.

Try this: drag Angle of attack past 15° and watch the dot turn red.

—
Air density at this altitude
—
Lift coefficient CL
—
Lift can hold up
—
Plane weighs
—
Speed needed at this angle
—
Stall speed (CL at ~15°)

Lift equation

L = ½ · ρ · V² · S · CL
CL ≈ 2π·α (α in radians, thin wing, below stall ≈ 15°)
Vneeded = √( 2W / (ρ·S·CL) )

ρ is air density, V airspeed, S wing area, W = m·g the weight (g = 9.81 m/s²). Density falls with height. This lab uses the standard atmosphere for the lowest layer of the sky (up to about 36,000 ft): temperature drops 6.5 K per km, and pressure and density follow from that.

T = 288.15 − 0.0065·h p = 101325·(T/288.15)5.2559 ρ = p / (287.05·T)

Why it's approximate

CL = 2πα comes from thin-airfoil theory for a symmetric 2D wing at small angles. Real wings are curved, so they make some lift at α = 0, and finite wings with tips have a somewhat smaller slope. The stall angle varies by wing; about 15° is a common figure. Past it, this lab draws lift falling off only as an illustration. Real stalls vary from gentle to abrupt.

Air thinning with height ties into W02 · Highs & lows. Higher up, a plane must fly faster to make the same lift, which is one reason airliners cruise so fast.

CodePython

import math
g = 9.81

def density(h):          # standard atmosphere, 0-11 km, h in m
    T = 288.15 - 0.0065*h
    p = 101325 * (T/288.15)**5.2559
    return p / (287.05*T)

def CL(alpha_deg, stall=15):    # thin airfoil, capped at stall
    return 2*math.pi*math.radians(min(alpha_deg, stall))

m, S, h, alpha = 1110, 16.2, 0, 8    # kg, m², m, degrees
W, rho = m*g, density(h)
V_need  = math.sqrt(2*W / (rho*S*CL(alpha)))
V_stall = math.sqrt(2*W / (rho*S*CL(15)))
print(f"rho={rho:.3f}  need {V_need:.1f} m/s  stall {V_stall:.1f} m/s")
LAB 3

the four forces

In steady level flight four forces balance: lift up equals weight down, and engine thrust forward equals drag backward. Drag comes in two kinds. Parasitic drag is air rubbing and pushing on the plane, and it grows with speed squared. Induced drag is the cost of making lift: at low speed the wing must tilt steeply, flinging air down and leaving swirling vortices at the wingtips, so it shrinks as speed goes up. Their sum has a lowest point. Cut the engine and the plane glides, trading height for distance.

level flight
— parasitic ∝ V²— induced ∝ 1/V²— total drag● minimum drag¦● your current airspeed
—
—

The glide picture at the bottom is drawn with height stretched so you can see it; the real slope is much shallower.

Try this: press Fly best glide speed to jump to the bottom of the gold curve.

—
Drag = thrust needed
—
Engine power needed (D·V)
—
Minimum-drag speed
—
Best glide ratio L/D
—
Glide ratio at this speed
—
Glide distance at this speed

Drag polar

D = ½ρV²S·CD0 + 2W² / (ρV²S·πeA)
Vmd = √(2W/(ρS)) · (πeA·CD0)−¼ (L/D)max = ½·√(πeA / CD0)
glide distance = altitude × L/D

CD0 is the parasitic drag coefficient, A the aspect ratio (wingspan² / area, long thin wings score high), and e a wing efficiency factor near 0.7 to 0.9. Setting the derivative of D to zero gives the minimum-drag speed, which is exactly where the two kinds of drag are equal.

Why gliding works

With no thrust, a little of the weight acts along the flight path and pulls the plane forward to balance drag. In a steady glide the slope is D/L, so each unit of height buys L/D units of distance in still air. The best glide comes at the minimum-drag speed. Flying faster or slower than that both shorten the glide. The best ratio depends only on the wing and the airframe, so a heavier plane glides just as far, only faster.

Long thin wings cut induced drag, which is why gliders look the way they do. The wind resistance a cyclist feels is the parasitic kind; for how the bike itself stays upright, see E01 · Why bikes stay up.

CodePython

import math
g = 9.81
# typical light aircraft: mass kg, wing area m², aspect ratio, e, CD0
m, S, A, e, CD0 = 1110, 16.2, 7.5, 0.75, 0.040
rho = 0.909                          # density at 3,000 m, kg/m³
W = m*g

def drag(V):
    q = 0.5*rho*V**2                 # dynamic pressure
    parasitic = q*S*CD0
    induced = 2*W**2 / (rho*V**2*S*math.pi*e*A)
    return parasitic + induced

V_md = math.sqrt(2*W/(rho*S)) * (math.pi*e*A*CD0)**-0.25
LD_max = 0.5*math.sqrt(math.pi*e*A/CD0)
print(f"V_md {V_md:.1f} m/s, L/D {LD_max:.1f}, W/D {W/drag(V_md):.1f}")
print(f"glide from 3000 m: {3000*LD_max/1000:.1f} km")