Fluid Dynamics
Kutta Condition & Lift
Why circulation around a wing makes it fly
The Kutta condition is the rule that real flow must leave an airfoil's sharp trailing edge smoothly, and that single requirement fixes the circulation around the wing — which, by the Kutta-Joukowski theorem, is exactly what generates lift. Inviscid theory by itself permits infinitely many flow patterns around a wing; the Kutta condition selects the one nature actually picks. It explains how aircraft wings, propellers, turbine blades and sails all turn forward motion into a force perpendicular to it.
- Lift per spanL' = ρ · V · Γ (Kutta-Joukowski)
- CirculationΓ = ∮ V · dl (units: m²/s)
- Thin-airfoil resultΓ = π · V · c · α → c_ℓ = 2π·α
- Trailing edgeRear stagnation point pinned, finite velocity
- Conserved quantityTotal Γ = 0 (Kelvin's theorem) → starting + bound vortex
- Named forM. Wilhelm Kutta (1902), N. Joukowski (1906)
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
The problem the Kutta condition solves
Steady, incompressible, inviscid flow around a 2D body is governed by potential theory: the velocity field is the gradient of a potential φ that satisfies Laplace's equation ∇²φ = 0, subject to the wall being a streamline and the flow approaching a uniform freestream V far away. Here is the catch — that boundary-value problem does not have a unique solution for a lifting body. You can add any amount of pure circulating flow (a vortex centered on the body) and still satisfy every equation and boundary condition. Each choice gives a different circulation Γ, a different stagnation-point location, and a different lift.
So which one does nature pick? An ideal inviscid fluid would happily whip around the razor-sharp trailing edge at infinite speed — mathematically allowed, physically impossible. Real air has viscosity. It cannot turn a 180-degree corner at infinite velocity; the boundary layer would separate immediately. The flow instead detaches cleanly, leaving the trailing edge tangentially. The Kutta condition is the statement that captures this: the flow must leave the sharp trailing edge smoothly, so velocity there stays finite. Equivalently, the rear stagnation point sits exactly at the trailing edge.
That one constraint removes the ambiguity. Of the infinite family of inviscid solutions, exactly one has finite trailing-edge velocity. The Kutta condition selects it — and with it, a unique circulation and a unique lift.
Circulation, defined
Circulation Γ is the line integral of velocity around a closed loop enclosing the body:
Γ = ∮ V · dl (units: m²/s)
Physically, Γ measures the net "swirl" of the flow around the wing. For a lifting airfoil the flow over the top is faster than the flow underneath, so going around the loop you accumulate a net positive circulation. Note Γ does not mean air loops bodily around the wing — individual parcels move past it. Γ is the bookkeeping of the velocity difference between top and bottom integrated around the contour.
The Kutta-Joukowski theorem
Once you know the circulation, the lift follows immediately. The Kutta-Joukowski theorem says the lift per unit span on a 2D body in steady inviscid flow is:
L' = ρ · V · Γ
where ρ is fluid density, V the freestream speed, and Γ the circulation. Lift is directly proportional to circulation. Remarkably, the result is independent of the body's shape — only Γ, ρ, and V matter. The drag in this idealization is exactly zero (d'Alembert's paradox); real drag comes from viscosity and, in 3D, from the trailing vortices the theorem doesn't include.
This is why the Kutta condition is the linchpin. Kutta-Joukowski tells you lift = ρVΓ but says nothing about what Γ is. The Kutta condition supplies the missing value of Γ. Together they form the backbone of classical airfoil theory.
Thin-airfoil theory: a closed-form Γ
For a thin, slightly cambered airfoil of chord c at small angle of attack α, applying the Kutta condition to a vortex sheet along the chord yields a clean answer. For a flat plate:
Γ = π · V · c · α (α in radians)
c_ℓ = L' / (½ ρ V² c) = 2π · α
The famous result c_ℓ = 2π·α (lift slope ≈ 0.11 per degree) drops straight out of the Kutta condition. It predicts lift for a real wing at low angle of attack to within a few percent — until the flow stalls and the inviscid assumption collapses. Camber simply shifts this line up by a constant, adding lift at zero angle of attack.
Real numbers
Consider a small aircraft cruising at V = 60 m/s, wing chord c = 1.5 m, air density ρ = 1.225 kg/m³, at α = 4° (0.0698 rad). Thin-airfoil theory gives:
Γ = π · V · c · α = π · 60 · 1.5 · 0.0698 ≈ 19.7 m²/s
L' = ρ · V · Γ = 1.225 · 60 · 19.7 ≈ 1450 N per metre of span
A 10 m wing then carries roughly 14.5 kN — about 1.5 tonnes — enough for a light aircraft. The numbers below compare a few regimes:
| Scenario | Circulation & lift estimate |
|---|---|
| Light aircraft, V = 60 m/s, c = 1.5 m, α = 4° | Γ ≈ 19.7 m²/s, L' ≈ 1450 N/m |
| Same wing, α doubled to 8° | Γ ≈ 39.4 m²/s, L' ≈ 2900 N/m (lift ∝ α) |
| Airliner cruise, V = 250 m/s, c = 5 m, α = 2° | Γ ≈ 137 m²/s, L' ≈ 42 kN/m |
| Glider, V = 25 m/s, c = 1 m, α = 5° | Γ ≈ 6.9 m²/s, L' ≈ 210 N/m |
| Beyond stall (α ≳ 15°) | Flow separates; Kutta condition & ρVΓ no longer apply |
Where the circulation comes from: the starting vortex
It feels like cheating to just assert circulation appears. It doesn't appear from nothing — and tracing where it comes from is one of the most satisfying arguments in fluid dynamics.
The key is Kelvin's circulation theorem: in an inviscid flow, the total circulation around any material loop is conserved. Before the wing moves, the air is still — total circulation is zero. So it must stay zero forever.
When the wing accelerates from rest, the inviscid solution momentarily tries to whip flow around the sharp trailing edge (the rear stagnation point sits on the upper surface). Viscosity won't allow it: the flow rolls up and a concentrated starting vortex sheds off the trailing edge and drifts downstream. By Kelvin's theorem, the air left around the wing must carry an equal and opposite bound vortex — and that bound circulation is precisely the lift-producing Γ that satisfies the Kutta condition. You can see the starting vortex in a wind tunnel or even in a teacup: start a spoon (a crude airfoil) and a vortex peels off the edge.
| Vortex | Role |
|---|---|
| Starting vortex | Sheds at trailing edge as wing accelerates; floats downstream; carries −Γ |
| Bound vortex | Stays attached to the wing; carries +Γ; produces lift via L' = ρVΓ |
| Wingtip / trailing vortices (3D) | Close the vortex loop spanwise; cause downwash and induced drag |
Two consequences worth knowing
- "Equal transit time" is a myth. The popular story that air over the top must "rejoin" air from the bottom at the trailing edge is wrong. Top-surface air actually arrives sooner. Lift is set by circulation and the Kutta condition, not by any rejoining requirement.
- A sharp trailing edge is essential. The Kutta condition pins the rear stagnation point to a unique sharp point. Round the trailing edge and there is no unique point — the circulation, and hence lift, becomes ambiguous and viscosity-dependent. This is exactly why every airfoil is built with a thin, sharp trailing edge.
Python — circulation and lift from the Kutta condition
import math
RHO = 1.225 # air density, kg/m^3
def thin_airfoil_circulation(V, chord, alpha_deg):
"""Circulation from thin-airfoil theory + Kutta condition (flat plate)."""
alpha = math.radians(alpha_deg)
return math.pi * V * chord * alpha # Gamma, m^2/s
def kutta_joukowski_lift(V, gamma, rho=RHO):
"""Lift per unit span: L' = rho * V * Gamma."""
return rho * V * gamma # N per metre of span
def lift_coefficient(alpha_deg):
"""Ideal thin-airfoil lift coefficient: c_l = 2*pi*alpha."""
return 2 * math.pi * math.radians(alpha_deg) # dimensionless
# Light aircraft at cruise
V, chord, alpha = 60.0, 1.5, 4.0
gamma = thin_airfoil_circulation(V, chord, alpha)
Lp = kutta_joukowski_lift(V, gamma)
print(f"Gamma = {gamma:6.2f} m^2/s") # ~19.74
print(f"L' span = {Lp:7.1f} N/m") # ~1451
print(f"c_l = {lift_coefficient(alpha):.3f}") # ~0.439
print(f"span 10 m -> {Lp*10/1000:.1f} kN total") # ~14.5 kN
# Lift scales linearly with angle of attack (until stall ~15 deg)
for a in (0, 2, 4, 8, 12):
g = thin_airfoil_circulation(V, chord, a)
print(f"alpha={a:2d} deg Gamma={g:6.2f} L'={kutta_joukowski_lift(V, g):7.1f} N/m")
Where the Kutta condition shows up
- Aircraft wings. The founding application — predicting lift slope, optimal camber, and the stall boundary where the model breaks.
- Propellers and rotors. Each blade section is an airfoil; blade-element theory stacks Kutta-Joukowski strips along the radius.
- Turbine and compressor cascades. Jet-engine and wind-turbine blades are designed with the trailing-edge Kutta condition built into the cascade flow.
- Sailing. A sail is a flexible airfoil; the Kutta condition explains how a boat sails upwind by generating sideways lift.
- Hydrofoils and ship rudders. Same physics in water — circulation around a foil produces the steering or lifting force.
- Vortex-lattice & panel methods. Computational aerodynamics enforces a numerical Kutta condition at every trailing-edge panel to close the system.
Common mistakes
- Believing lift needs viscosity to be computed. The Kutta-Joukowski result is inviscid; viscosity only enters to justify the Kutta condition itself, not to compute the lift once Γ is known.
- The equal-transit-time fallacy. Air does not need to "rejoin" at the trailing edge. Lift comes from circulation, set by the Kutta condition.
- Forgetting circulation must net to zero. The bound vortex is matched by a shed starting vortex (Kelvin's theorem). Ignoring this hides where Γ comes from.
- Applying it past stall. Once the boundary layer separates over the upper surface (α ≳ 15°), the flow no longer leaves the trailing edge cleanly. The Kutta condition and L' = ρVΓ stop predicting lift.
- Assuming it works on a blunt trailing edge. A rounded or thick trailing edge has no unique sharp point, so the circulation is not pinned and lift is ill-defined.
- Confusing 2D and 3D. Kutta-Joukowski gives lift per unit span in 2D. A real finite wing also sheds trailing vortices that create downwash and induced drag — extra physics on top.
Frequently asked questions
What is the Kutta condition?
The Kutta condition is the requirement that flow over an airfoil leaves the sharp trailing edge smoothly, so the velocity stays finite there. Inviscid theory alone allows infinitely many flow patterns around a wing, each with a different circulation. The Kutta condition picks the single physically realizable one — the case where the rear stagnation point sits exactly at the trailing edge.
How does the Kutta condition create lift?
Forcing the flow off the trailing edge smoothly requires a specific net circulation Γ of air around the wing. By the Kutta-Joukowski theorem, lift per unit span equals L' = ρ·V·Γ, where ρ is air density and V is flight speed. No circulation means no lift; the Kutta condition is what fixes Γ to a non-zero value at positive angle of attack.
What is the Kutta-Joukowski theorem?
The Kutta-Joukowski theorem states that the lift per unit span on any 2D body in a steady, inviscid, incompressible flow is L' = ρ·V·Γ, where ρ is fluid density, V is freestream speed, and Γ is the circulation around the body. Lift is directly proportional to circulation — the central result of classical airfoil theory.
Where does the circulation come from physically?
When a wing starts moving, the flow initially curls violently around the sharp trailing edge. Viscosity cannot sustain that, so a starting vortex sheds and floats downstream. By Kelvin's circulation theorem, total circulation must stay zero, so an equal and opposite bound vortex is left around the wing. That bound circulation is the lift-producing Γ; the Kutta condition tells you exactly how strong it is.
Does the Kutta condition need viscosity?
Yes, indirectly. The Kutta condition is an idealization of what viscosity actually does. Real air is viscous, so it cannot whip around a sharp 180-degree corner at infinite speed. The boundary layer instead separates cleanly at the trailing edge. The Kutta condition encodes that physics into otherwise inviscid potential-flow theory, letting it predict lift correctly.
Why does a rounded trailing edge fail to fix the circulation?
The Kutta condition relies on a sharp trailing edge to pin the rear stagnation point. A rounded trailing edge has no unique sharp point, so the flow can leave at a range of positions and the circulation is not uniquely defined — lift becomes ambiguous and sensitive to viscous details. This is why airfoils are designed with thin, sharp trailing edges.