Flows and fields

A flow confined to a blob has two parts that reach everywhere

Push a patch of fluid along and leave the rest at rest. Nothing moves outside the patch, and yet the field's Helmholtz parts both fill the entire plane, falling as one over the distance squared and cancelling exactly wherever the fluid is still. The solenoidal part is a bar magnet's field and the gradient part is its demagnetising field, and for a blob of elliptic contours the energy divides between them in the same ratio that sets an ellipse's added mass. That is not a coincidence, and it says where half the energy goes when water is kicked.

Worth reading first: Every flow is two flows.

Every flow is two flows took the theorem Helmholtz’s name is on, that a velocity field can be written as the gradient of a potential plus the curl of a stream function, and stated its central embarrassment: the split is not unique until boundaries are named, and pure strain can be either part entirely. Those were cases where the two parts were the same, and they were all on fields that went on for ever.

The opposite case is cleaner and has stranger consequences. Take a field that is simply absent over most of the plane. Choose a blob of radius one and give the fluid in it a velocity along xx, largest at the centre and falling smoothly to nothing at the edge; beyond the edge nothing is moving, by construction, to all figures. Now ask for its two parts. It would be natural to expect the parts of nothing to be nothing, and that the split would be a matter that concerned only the blob. They are not, it does not, and the reason is why every incompressible solver has to communicate over its whole grid at every step.

Where the flow stops, its two parts do not: each carries on and cancels the other. Along the line of the push (left) and across it (right): the field, and its gradient and solenoidal parts' components along the push. At the blob's centre the two parts are 0.496 and 0.499. At twice the blob's radius, where nothing is moving, they are -0.0372 and 0.0372 along the line, and 0.0372 and -0.0372 across it.
Fig. 1 Along the line of the push and across it: the field, the gradient part and the solenoidal part. At the centre the parts are 0.497 and 0.499, nearly half each. At twice the radius, where the field is zero, they are ∓0.037\mp 0.037 along the line and ±0.037\pm 0.037 across it.

What the division does

The split is easiest in Fourier space, which is also how it was computed here. If u^(k)\hat{\mathbf u}(\mathbf k) is the field’s transform, then the gradient part is the component along k\mathbf k and the solenoidal part is the rest:

u^ϕ=k(k⋅u^)k2,u^ψ=u^−u^ϕ.\hat{\mathbf u}_\phi = \frac{\mathbf k(\mathbf k\cdot\hat{\mathbf u})}{k^2}, \qquad \hat{\mathbf u}_\psi = \hat{\mathbf u} - \hat{\mathbf u}_\phi .

A field of compact support has a transform that is smooth everywhere, and at k=0\mathbf k=0 it has the value P=∫u dA\mathbf P=\int\mathbf u\,dA, the field’s total impulse. The transform is as harmless as a function can be, and that settles the outcome. Multiplying by kxkx/k2k_xk_x/k^2 introduces a function with no limit at the origin: approach k=0\mathbf k=0 along kxk_x and it equals one, along kyk_y and it equals zero. A smooth function multiplied by something discontinuous at a point has a transform that decays slowly, and that one point sets its far field. The result is

uϕ∼P2πr2 (cos⁡2θ, sin⁡2θ),\mathbf u_\phi \sim \frac{P}{2\pi r^2}\,(\cos2\theta,\ \sin2\theta),

the field of a two-dimensional dipole. It depends on the blob through only one number, its impulse PP. The solenoidal part must then be the negative of the same thing out there, because the two sum to zero.

Outside the blob both parts are the plane dipole, and depend on the blob only through its impulse. Size of the solenoidal part beyond the blob along the push and across it, against the plane dipole P/(2πr²) with P = 0.934. The gradient part is equal and opposite at every point out there. At r = 2 they are 0.0372 and 0.0372 against 0.0372.
Fig. 2 The solenoidal part beyond the blob, along the push and across it, against the plane dipole with P=0.934P = 0.934: at r=2r = 2 all three are 0.037, and they fall together as r−2r^{-2}. The gradient part is equal and opposite at every point.

So the two parts have enormous reach. Their kinetic energy outside the blob is a quarter of each part’s total, and it is not a small correction: 26 per cent of the solenoidal part’s energy is carried by motion that isn’t there. Numerically the sum is exact to rounding error, 5.5×10−175.5\times10^{-17} as the largest value anywhere on a grid of a quarter of a million points, so what looks like cancellation is really an identity. The parts are bookkeeping fields, each perfectly well defined, and neither is what the fluid is doing.

There is a subtlety about what the box does. The calculation is on a periodic square of side 32, so each blob has images, and the k=0\mathbf k=0 mode goes to neither part by the projector’s definition. That shifts each part by half of the mean velocity over the box, about 5×10−45\times10^{-4}, which is removed in the figures and stated here. The dipole formula assumes an infinite plane. The two agree to the third figure at twice the radius.

A magnet in a fluid’s clothing

The structure is already familiar to anyone who has calculated with a bar magnet. Inside a magnetised body, three fields are in play, connected by M=B/μ0−H\mathbf M = \mathbf B/\mu_0 - \mathbf H. The magnetisation M\mathbf M is confined to the body. B\mathbf B has no divergence, ever, so it is purely solenoidal. H\mathbf H has no curl if no current flows, so it is purely a gradient. So the magnet’s magnetisation is a field of compact support, and B/μ0\mathbf B/\mu_0 and −H-\mathbf H are its Helmholtz parts.

A push confined to a blob makes a solenoidal part that returns round the outside, the field of a bar magnetThe streamlines of the solenoidal part of a push along x confined to an ellipse of half-length 1 and half-width 1. The fluid inside moves forward and the return runs outside, through fluid the original field does not touch. It holds 50.1 per cent of the field's energy, of which 26 per cent lies outside the blob.-4-2024-3-2-10123x, along the pushythe blob's edgea velocity field of compact support and its Helmholtz parts, by Fourier on a large periodic boxkinematic, with no dynamics in it; one instant of one field, at any Reynolds number
Fig. 3 Streamlines of the solenoidal part of a push along xx confined to a round blob: forward through the blob, and back round the outside through fluid the field does not touch. It holds 50.1 per cent of the energy. Dialled to a blob half as long, 33.4 per cent; twice as long, 66.8 per cent.

That is why the picture looks like iron filings. The field lines are the lines of B\mathbf B around a uniformly magnetised bar, running straight through the inside and returning outside, where there’s no iron at all. Outside the magnet M=0\mathbf M=0, so B/μ0=H\mathbf B/\mu_0=\mathbf H: the two are equal, and in the identity’s terms the parts cancel. Everyone knows a bar magnet has a field in the space around it where nothing is magnetised. The velocity split is the same statement with the words changed.

The magnetic analogy also supplies a number. Inside a uniformly magnetised ellipse with semi-axes aa along the magnetisation and bb across, the demagnetising field is uniform and exactly b/(a+b)b/(a+b) of M\mathbf M, a classical result from Poisson. So the gradient part is b/(a+b)b/(a+b) of the field inside, and the solenoidal part a/(a+b)a/(a+b).

How the energy divides is a magnet's demagnetising factor, and an ellipse's added mass. The share of the field's energy in the solenoidal part, against the blob's length over width along the push: 0.2, 0.334, 0.501, 0.668, 0.803 at 0.25, 0.5, 1, 2, 4. For any bump with elliptic contours the share is exactly a/(a + b), which is one minus the demagnetising factor and also 1/(1 + m) for a cylinder of elliptic section whose added mass over its displaced mass is m = b/a.
Fig. 4 The solenoidal part’s share of the energy against the blob’s length over width: 0.2, 0.334, 0.501, 0.668 and 0.803 at 0.25, 0.5, 1, 2 and 4, beside a/(a+b)a/(a+b).

This blob is not uniform, and the shares still match to three figures. The reason can be seen directly: a bump with elliptic contours has a transform with elliptic contours, and the share of the energy along k\mathbf k is an average of kx2/k2k_x^2/k^2 weighted by the transform’s square. Stretching the coordinates turns the bump into a round one and that average into the same angular integral whatever the profile. So the share is a/(a+b)a/(a+b) for any bump with elliptic contours. It does not depend on the profile, the amplitude, or the size. Only the aspect counts, and only because a flat blob pushed across its long side has most of its motion in the part that the pressure would take away. A slender blob pushed along its length has very little in it.

The same ratio as an added mass

Here is the fluid-mechanical surprise, and it comes from asking what a kick actually does. Give an incompressible fluid a body force over the blob for a moment, a delivered impulse per unit mass u\mathbf u. The fluid responds, in the same instant, by the projection every incompressible solver performs: the pressure takes away the gradient part, and the velocity left behind is the solenoidal part alone. The kick was local, and the response fills the plane. The fluid inside the blob ends up at a/(a+b)a/(a+b) of what it was pushed to, and what used to be still fluid around it is moving in the dipole’s return flow.

Now compare a solid cylinder of elliptic section, of the fluid’s own density, kicked with the same impulse. It accelerates less than its own mass would say, because it must also set the surrounding fluid moving, by the mass it has to borrow. Its added mass along the axis aa is ρπb2\rho\pi b^2, so the added mass ratio over its own displaced mass ρπab\rho\pi ab is m=b/am=b/a, and its velocity after the kick is

U1+m=aa+b U.\frac{U}{1+m} = \frac{a}{a+b}\,U .

The fluid blob and the solid cylinder move off at the same fraction of the kick. That is the same number in the same formula, one from a magnet’s demagnetising factor and one from Lamb’s added mass, and the reason is that they’re the same statement. A round cylinder has added mass equal to its displaced mass, and a kicked round blob of fluid moves at half of what it was kicked to. For a sphere in three dimensions, the factors are one third and one half, and a kicked spherical blob moves at two thirds of the kick: 1/(1+12)1/(1+\tfrac12), which is one minus a demagnetising factor of one third. Nobody needs a solid surface for added mass: a parcel of fluid being pushed through its neighbours already has it, and it has the same value, because the outer flow does not know whether the thing being pushed is solid.

The energy shows what happens to the rest. The kick, per unit mass of the fluid in it, supplied 12∫u2\frac12\int u^2. What remains after projection is the solenoidal part’s share. For a round blob it is half. So half of the kick’s energy has gone.

Where the other half goes

In a strictly incompressible fluid, it goes nowhere that can be pointed to: the pressure impulse does negative work on the blob, and the energy just disappears from the account, because a perfectly incompressible fluid is the limit of something stiff and the stiff thing’s response has been discarded. That is the reasonable reading of a pressure with no speed: the gradient part’s energy was carried off by something the model cannot represent.

Put back a speed of sound and the mystery solves itself. A kicked blob of real water makes a compression in front and a rarefaction behind, and that is a sound pulse. Linear acoustics has no vorticity and is therefore all gradient, so the gradient part of the kick leaves the blob at the speed of sound, as a ring of sound, carrying its energy to infinity. The solenoidal part cannot leave, because a linear sound field cannot carry any vorticity. It stays, and that is the incompressible flow that remains behind. So what the incompressible split does with a formula, a compressible fluid does with a time history: it separates the two parts in space, at the speed of sound. A sudden kick of a round blob radiates half its energy as sound, and if the kick is slow compared with the time sound takes to cross the blob, the fluid has time to adjust while it is pushed, and little sound is made at all.

And it answers the question of causality. Far away from the blob, before the sound has arrived, the total velocity must be zero. It is. Yet the two parts are non-zero there, at all times from the first, in the compressible flow as well: their definitions are non-local and they cancel beyond the sound’s front, with the gradient part spreading ahead of itself and being cancelled by the solenoidal part’s far field. Only the sum obeys causality; neither of the parts is a physical signal. Electromagnetism has the same fact, with light as its sound, in the Coulomb gauge: its instantaneous potential arrives everywhere at once, and the transverse current carries the matching non-local field that keeps the sum causal. Students of Maxwell are warned about it. Students of fluids usually are not.

A confined flow cannot carry momentum

The bump is not itself incompressible, and it has to be that way round. A field of compact support and zero divergence has zero impulse, and one line proves it:

∫ui dA=∫uj ∂xi∂xj dA=−∫xi ∇ ⁣⋅u dA=0.\int u_i\,dA = \int u_j\,\frac{\partial x_i}{\partial x_j}\,dA = -\int x_i\,\nabla\!\cdot\mathbf u\,dA = 0 .

So an incompressible flow can be confined to a blob, as closed circulations can, but it can then have no net momentum in any direction, and no far field either. Conversely any incompressible flow that carries impulse must have a velocity that extends through all space. A ring moving under its own impulse has a far field that goes on for ever because it has to: a dipole, falling as the cube of the distance in three dimensions. That is what makes a real vortex ring’s flow non-local, and everything about the start except one vector is the same dipole seen as a memory: a body’s history is summarised, far away, by the one number the theorem above says cannot be confined. It also explains why a single stream function is enough to draw the return flow here, and why the return flow must be drawn.

Why a solver must talk to every cell

This is what makes incompressible flow numerically costly. The step that projects a provisional velocity back onto a divergence-free one must reach every grid point, whatever size or position the disturbance has, because the projection’s kernel falls off as a power. Any region of a computation where something changes has its impulse, and that impulse has a far field. So a Poisson solve can never be local, and it is what the projection every incompressible solver performs costs at scale. The same non-locality is why a stream function or a pressure in a simulation always shows a large-scale structure near a small event: it is showing the bookkeeping, which was never local.

A related trap: the total impulse of the solenoidal part is a conditionally convergent integral. In a circle round a round blob, the solenoidal part carries half of PP inside the blob, and the dipole integrates to zero over any circular annulus, so it stays at half for any radius, however large. Over a long box aligned with the push the answer is different, and over a wide one, different again. This is a real instance of the momentum with no value. The ledger’s whole-box figure counts one such convention: the periodic box hands its mean to the solenoidal part. No integral of a part over “everything” means anything until the shape of everything is named.

What the picture cannot show

The figures show kinematics: one instant of one field. Nothing in them moves. In particular, the statement that the fluid is kicked and responds comes from the projection argument, and the figure simply shows the projection’s output.

Nor do they show that the parts are measurable. They are not. An anemometer reads the sum, and the sum is zero outside the blob. A reader wishing to observe the solenoidal part directly can do so only after a kick, when the gradient part has left. And the real fluid’s blob would then be spreading and being carried by its own motion, since a field of this form is not steady: what’s drawn here is its state at the moment of creation, not a flow that lasts.

And the shape of a kick is taken arbitrarily. A smooth bump keeps the Fourier transform well-behaved, and no conclusion here depends on the choice, but a real kick would be neither smooth nor uniform in direction, and a blob with net zero impulse (one that pushes one way on one side and the other way on the other) has no dipole at all. Its parts fall as one over the distance cubed, which is the next term in the same expansion.

The convention

Velocity is in units of the push at the centre; lengths are in blob radii, with the ellipse’s half-length aa along the push and half-width b=1b=1. The bump is cos⁡2(πr/2)\cos^2(\pi r/2), in the coordinates scaled by those axes, on a grid of 512 points on a side and a box of 32. The gradient and solenoidal parts are defined by the Fourier projector. Energies are integrals of the squared part over the box. Inside and outside are divided at the blob’s edge, where the field reaches zero.

How it was checked

The split's numbers, and the checks on them. That the parts add to the field and hold all of its energy; each part's energy outside the blob; the impulse inside.
Fig. 5 The parts’ sum against the field, 5.5⋅10−175.5\cdot10^{-17} at worst; the parts’ energies summing to the field’s; the solenoidal share of 0.501 for a round blob against an exact ½; its energy outside the blob; the impulse inside; and the field’s impulse from the grid against direct quadrature.

The sum of the parts is an algebraic identity and its small residual only says the transforms are clean. The check with content is that the energies add: the parts are orthogonal, and their energies sum to the field’s within 10−910^{-9}. The round blob’s share of a half follows from symmetry, and the computed value of 0.501 is a truncation effect on a discrete grid. The model refuses a non-power-of-two grid and a box too small to contain its blob.

Who found it, and when

Helmholtz’s decomposition is from 1858, in the paper that established vortex motion. Poisson calculated the demagnetising fields of ellipsoids in the 1820s. Added mass was computed by Green and Stokes in the 1830s and 1840s. Lamb’s Hydrodynamics set out why the impulse of a vortex cannot be read as an integral of its velocity, and the modern reading of the projection operator as the essence of incompressibility came with Chorin’s numerical method of 1968. The splitting of the kick’s energy between vorticity and sound is the elementary case of Kovásznay’s 1953 modal decomposition, in which a small compressible disturbance divides into vortical, acoustic and entropic modes.

Still open: how long a kick must last to make no sound

The account above treats a kick as sudden. The next calculation would march a linear compressible fluid under a body force on a Gaussian blob, switched on for a time TT against the sound crossing time R/cR/c, and measure the share of the delivered energy that leaves as sound. It would ask whether the share falls from a half at short pulses to nothing at long ones as a clean power of Tc/RTc/R, how smooth the pulse has to be for that power to hold, and what a flattened blob does: since its gradient share is b/(a+b)b/(a+b), whether a thin, broad paddle stroke radiates in proportion, and so whether the loud slap of a flat hand on water is that fraction made audible.

What links here

Computed from the collection rather than written here: the essays that point at this one.

Shares its objects with

Essays naming at least two of the same things, that neither author linked.

Named objects

A dashed tag is an object no other essay names yet.

Added massHelmholtz decompositionImpulseModel limitPressureStreamfunctionVelocity potential