Wing AerodynamicsWing AerodynamicsOpen playground →

How the demo computes it

The playground is not playing back an animation — it solves the flow around whatever shape you give it, in real time, with a panel method. Here is exactly how, so the numbers feel earned rather than magic.

Potential flow: one equation for the outer flow

Outside the thin boundary layer the flow is very nearly inviscid and irrotational, so the velocity can be written as the gradient of a scalar velocity potential ϕ\phi, and mass conservation reduces to Laplace’s equation:

2ϕ=0,V=ϕ\nabla^2 \phi = 0, \qquad \vec{V} = \nabla\phi(1)

Laplace’s equation is linear, which is the key that unlocks everything: we can build a complicated flow by adding up simple building-block solutions.

Building blocks: sources and vortices

Two elementary solutions of (1) do all the work. A source pushes fluid out radially — it gives a body thickness. A vortex swirls the flow around — it provides the circulation, and therefore the lift. Smear these continuously over the wing’s surface and we have enough freedom to represent any shape generating any amount of lift.

Discretise: chop the surface into panels

● nodes● control points— panel normals
Fig. 1. The outline is broken into flat panels. Each carries an unknown vortex/source strength; flow tangency is enforced at each panel’s midpoint (control point).

We split the outline into NN short straight panels. Each carries an unknown distribution of vorticity (our solver uses a linearly varying vortex strength along each panel, the classic method of Kuethe & Chow). The unknowns are the strengths at the panel nodes.

The conditions that pin down the answer

Two physical requirements make the unknown strengths solvable:

  • Flow tangency (a Neumann boundary condition): nothing flows through the solid surface, so the velocity normal to each panel is zero at its midpoint (the “control point”) — one equation per panel:
    (V+Vinduced)n^=0\left(\vec{V}_\infty + \vec{V}_{\text{induced}}\right)\cdot \hat{n} = 0
  • The Kutta condition: the flow must leave the sharp trailing edge smoothly. This supplies the one extra equation that fixes the circulation — without it, the lift would be undetermined (Article 3).

Together these are N+1N + 1 linear equations in N+1N + 1 unknown strengths — a matrix system:

Ax=bA\,\mathbf{x} = \mathbf{b}(2)

where AA holds the geometric influence of every panel on every control point, b\mathbf{b} comes from the freestream, and x\mathbf{x} is the list of strengths. The solver builds AA and solves it by Gaussian elimination every time you move a slider.

From strengths to everything you see

Once x\mathbf{x} is known, the surface velocity at each panel follows immediately; Bernoulli (as Cp=1(V/V)2C_p = 1 - (V/V_\infty)^2) gives the pressure coefficient; integrating pressure around the surface gives CLC_L; and adding the building-block velocities at any point in the field lets us trace the streamlines and advect the particles. Every visual in the demo is a view of this one solution.