Flows add up
Ideal flow has an unusual property for a subject about fluids: its equations are linear. Add two solutions together and the result is another solution.
That is not true of fluid mechanics in general — the full equations are famously nonlinear, and the nonlinearity is where turbulence lives. It is true here because throwing away viscosity and assuming the flow is irrotational reduces the problem to Laplace’s equation, which is as linear as anything gets.
The consequence is a construction kit.
The elementary pieces
Four solutions do nearly all the work, and each is simple enough to write in a line.
A uniform stream. Constant velocity everywhere. The background against which everything else is placed.
A source. Fluid emerging radially from a point, its speed falling off as one over the distance so that the same flux crosses every circle. A sink is the same with the sign reversed.
A doublet. A source and a sink brought infinitely close together while their strengths grow to keep the product finite. It looks like a point that pushes fluid out one side and draws it in the other.
A vortex. Fluid circulating round a point, its speed falling off as one over the distance. Irrotational everywhere except at the centre, which is the strange and important part.
Each satisfies the equations exactly. Each has a singularity somewhere, which is fine as long as the singularity ends up inside a body where no fluid goes.
The cylinder that appears
Take a uniform stream and add a doublet at the origin, with the doublet’s strength tuned to the stream speed and a chosen radius.
The result has a closed circular streamline of exactly that radius. No fluid crosses it — it is a streamline, and nothing crosses a streamline. So the flow outside is indistinguishable from the flow past a solid cylinder.
There is no cylinder. There is a stream and a mathematical singularity, and the circle is an emergent feature of their sum. But since the flow outside is identical to the flow past a solid body of that shape, the construction is the solution to the cylinder problem.
That is the trick the whole of classical aerodynamics is built on: do not solve the flow past a given body. Find a combination of singularities whose dividing streamline happens to be the body wanted.
Adding circulation
The cylinder solution has no lift, by symmetry. Add a vortex at the centre and the symmetry breaks.
The circular streamline survives — a vortex’s velocity is purely tangential, so it does not carry any fluid across a circle centred on it — so the body is still a cylinder. But the flow is now faster on one side and slower on the other, and the force is .
So lift enters this construction as one more term in a sum, with the same status as the doublet that made the body in the first place. Nothing about the geometry changed.
The dividing streamline
The idea that makes all of this work deserves stating on its own, because it is doing more than it appears to.
In any of these constructions there is a particular streamline — the dividing streamline — that separates fluid which came from upstream from fluid which came out of the source. It passes through the stagnation points, and in the closed cases it forms a loop.
Because no fluid crosses a streamline, the loop is impermeable. Everything inside stays inside; everything outside stays outside. So the outside flow cannot tell whether the inside contains circulating fluid, a singularity, or solid steel.
That indifference is the whole licence for the method. Solving the flow past a body means finding a flow whose dividing streamline has the body’s shape, and the interior can then be filled with anything at all.
It also explains why the singularities have to be inside. A source in the open flow would be visibly manufacturing fluid; a source inside the dividing streamline is manufacturing fluid into a region no external fluid ever visits, and the exterior solution is untroubled by it.
Building an oval
The simplest closed body is worth constructing explicitly, because it shows the mechanism with nothing hidden.
Place a source at and an equal sink at , in a uniform stream running left to right.
Near the source, its outflow dominates and pushes the oncoming stream aside. Somewhere upstream the stream’s velocity exactly cancels the source’s outflow, and that point is a stagnation point. Symmetrically, there is a second one downstream of the sink.
The streamline through those two points closes on itself, forming an oval — a Rankine body — that contains both singularities. Everything the source emits, the sink swallows; the exterior flow runs round the outside.
Move the two together and the oval becomes rounder. In the limit, with the strengths raised to keep the product fixed, it becomes a circle and the pair becomes a doublet — which is where the cylinder in these figures comes from.
What the solver computed
Every panel is an exact evaluation of a closed-form expression, not a numerical solution.
lib/flow.js builds a potential flow as a list of parts — sources, doublets and vortices, each with a
strength and a position — and evaluates the complex velocity by summing their contributions. The
uniform stream is one more term.
The check that matters is the same one everywhere on this site: mass conservation to , and for the cases with a body, velocity tangent to the surface to about seven parts in . If the doublet’s strength were slightly wrong, the circle would not be a streamline and the tangency check would fail immediately.
One bug worth recording came from this construction. The doublet’s strength must rotate with the free-stream’s angle of attack — the correct potential carries a factor — and taking it as a real number produced a body that was a perfect streamline at zero incidence and leaked badly at four degrees. The tangency assertion reported a normal velocity of ninety percent of the local speed, which is not a small error and was completely invisible in the picture.
Why linearity is so valuable
It is worth being explicit about what superposition buys, because it is more than convenience.
Problems can be decomposed. The flow past a body at incidence is the flow past it at zero incidence plus a circulation term, and each can be understood separately.
Solutions can be catalogued. A small library of elementary flows generates an enormous family of compound ones, and the library is finite.
Complicated bodies are reachable. Distribute sources along a line with varying strength and almost any streamlined shape can be produced. Distribute vortices along a camber line and thin aerofoil theory falls out.
Boundary conditions become algebra. Finding the flow past a given body reduces to choosing singularity strengths so that the body’s surface is a streamline, which is a linear system.
That last one is the basis of panel methods, which were the workhorse of aerodynamic design from the 1960s until computational fluid dynamics displaced them, and which are still used because they are fast and their errors are understood.
Where linearity comes from, and what it costs
The linearity is not free, and it is worth knowing exactly what was traded for it.
Two assumptions do the work. Inviscid removes the viscous term. Irrotational removes the nonlinear convective term, because a flow with no vorticity can be written as the gradient of a potential, and substituting that into continuity gives Laplace’s equation.
Both assumptions are false in a real flow, and both are excellent almost everywhere. What they cost is everything that lives in the thin layer where they fail: drag, separation, stall, and the mechanism that generates circulation in the first place.
So the construction kit is exact within its assumptions and silent about the phenomena those assumptions removed. It gives lift correctly and drag as zero, which is a strange combination and a fair summary of the whole ideal theory.
From a circle to a wing
The step that made this practical rather than pretty is worth describing, because it is where the construction kit becomes aerodynamics.
The flow past a circle is known exactly. The flow past a wing section is not. Joukowski’s observation was that a conformal map — a transformation of the plane that preserves angles — carries solutions of Laplace’s equation to solutions of Laplace’s equation.
So: solve the easy problem, then bend the plane. The map turns a circle into a shape with a rounded nose and a sharp tail, which is recognisably a wing section, and it carries the whole flow field with it.
Two details make it work. The circle must pass through the map’s critical point, or the trailing edge comes out rounded instead of sharp — and without a sharp edge there is no Kutta condition and no determinate lift. And velocities transform by dividing by the map’s derivative, which vanishes at that critical point, so the trailing edge is a singular point of the transformed field.
That singularity is not a defect. It is exactly the infinite velocity that the Kutta condition exists to rule out, and it is why the condition can be stated as a requirement on the circulation.
The catalogue, and what each piece is for
Worth having in one place, since the four pieces recur throughout the site.
| piece | what it does | what it is used for |
|---|---|---|
| uniform stream | constant velocity | the free stream everything sits in |
| source / sink | radial in or out | building closed bodies with a partner |
| doublet | source and sink merged | making a circle appear in a stream |
| vortex | pure circulation | supplying lift, and nothing else |
Only the vortex contributes to lift, and only the doublet and source-sink pairs contribute to shape. That separation is unusually clean and it is why the construction is easy to reason about: the body and the lift are set by different terms and can be varied independently.
Where the model stops
Only ideal flow is linear. The full Navier–Stokes equations are not, and nothing here transfers to them.
Singularities must stay inside bodies. A source in the open flow means fluid appearing from nowhere, which is unphysical; the construction only works when the singularity ends up where no fluid goes.
Not every body is reachable. Simple combinations give ovals, circles and Joukowski sections. A prescribed arbitrary shape generally needs a numerical distribution of singularities rather than a closed form.
Superposition does not extend to the boundary layer. Adding two viscous solutions gives nothing, which is why the two-region approach is needed rather than a single unified sum.
What a vortex is, and is not
The vortex needs a paragraph of its own, because it is the strangest of the four elementary flows and the one that carries the lift.
Its velocity is purely circular and falls off as one over the distance from the centre. Fluid goes round and round. And yet it is irrotational everywhere except at the centre — a paddle wheel floating in it would orbit the centre without spinning about its own axis.
That sounds contradictory and is not. Rotation in the technical sense is about local shear, not about whether the path is curved. The vortex’s velocity falls off at exactly the rate that cancels the spinning that curvature would otherwise impose, and it is the only radial profile that does.
The consequence is that a vortex can be added to an irrotational flow without spoiling its irrotationality, which is why the whole linear construction survives its presence. All the vorticity is concentrated at the singular point, hidden inside the body.
In a real flow that concentration is spread over the boundary layer instead — which is where the vorticity actually comes from — and the point vortex is an idealisation of a thin sheet of it wrapped round the wing.
Counting what determines a solution
A closing observation about why this construction is more than a catalogue of tricks.
Laplace’s equation with the boundary condition of no flow through a surface does not have a unique solution in a region with a hole in it — and the region outside a body is exactly that. The non-uniqueness is one number: the circulation.
So the construction kit is not merely a convenient way to write solutions. It is a complete parameterisation of them: stream plus doublet gives the body, and the vortex strength ranges over the one remaining degree of freedom. Every solution of the problem is in the family.
That is why selecting the circulation is the whole of the lift question, and why it needs a physical principle imported from outside the equations rather than a better mathematical treatment. The mathematics has already said everything it can.
Who built it, and when
The elementary solutions are eighteenth and nineteenth century — Euler, Laplace, Rankine, whose ovals are the source-and-sink construction above and are still called Rankine bodies.
The conformal mapping that turns a circle into an aerofoil is Joukowski’s, in 1910, and it is the point at which the construction kit became a design tool rather than a curiosity: it converts a problem nobody can solve, the flow past an arbitrary wing section, into one already solved, the flow past a circle.
The panel methods that generalise all this are from the 1960s, and they are essentially the same idea run on a computer with a few hundred singularities instead of two.
What it feels like to use
A last note on why this construction is worth learning even though computational methods have long since overtaken it.
Working with elementary flows builds an intuition that survives the arrival of better tools. A practitioner who has assembled a cylinder from a stream and a doublet knows, thereafter, that the speed at the shoulders is twice the free stream and why; that adding circulation slides the stagnation points round; that the pressure recovers perfectly at the back and that this is where the theory goes wrong.
None of that comes from running a solver. It comes from having built the solution out of parts small enough to hold, and it is the reason these constructions are still taught after a century of better numerics.
The same argument applies to this site: the figures could all have been produced by a general-purpose code, and they are produced instead by expressions small enough that their correctness can be argued about — and, more to the point, asserted.
The ladder from here
Nearby: the velocity potential and stream function in detail; Rankine ovals; the Joukowski transform worked through; and panel methods as the numerical descendant.
Then across to what the construction gives correctly and what it gets catastrophically wrong.