Afterglowscreensavers

Potential Flow Screensaver

Potential Flow is a free, in-browser screensaver that draws the exact analytic solution for an ideal fluid streaming past a circular cylinder, w′(z) = U(1 − a²/z²). There is no noise in it at all: the particles follow glassy, laminar streamlines that part around the cylinder and rejoin behind it, with the fluid stagnating at the front and back. Nothing to download, and ESC exits at any time.

Live preview

Potential Flow screensaver — Glassy laminar sheets past a cylinder.

Press ESC to leave fullscreen. Settings are saved in your browser only.

How the Potential Flow screensaver works

In potential flow the fluid is treated as ideal — no viscosity, no vorticity — and the velocity is the gradient of a potential. Uniform flow past a cylinder has a closed-form complex potential, and its derivative gives the velocity at every point directly. This saver evaluates that derivative rather than simulating anything.

The formula does three things at once. Far from the cylinder it returns the free-stream direction. Approaching the front it slows the fluid to a stagnation point. Beside the cylinder it speeds the fluid up to twice the free-stream value, which is exactly what the streamlines squeezing together shows.

The cylinder is placed and rotated by the seed, so the stream can approach from any angle. Inside the cylinder, where the formula has no meaning, particles are simply slid around the boundary so nothing gets stuck.

Because the field is fixed, the picture is really a diagram of streamlines being drawn continuously. Trail sets how much of each streamline stays visible; Evolve only matters if you blend in a noise field to disturb the laminar sheets.

Ideal fluid and d’Alembert’s paradox

Potential flow is one of the oldest tidy results in fluid mechanics. Assume a fluid that is incompressible, has no viscosity and no spin, and the velocity can be written as the gradient of a single scalar potential that satisfies Laplace's equation. Solutions can then be added together: a uniform stream plus a doublet gives the flow around a circular cylinder, and complex analysis handles it compactly.

In that solution the flow stops at the front and rear points of the cylinder, and the surface speed reaches twice the free-stream speed at the sides, where the streamlines crowd together and the pressure is lowest. The famous catch is d'Alembert's paradox, named by d'Alembert in 1768: the ideal model predicts zero drag on a body moving steadily through the fluid, while experiments show substantial drag. The practical resolution came from Ludwig Prandtl in 1904, who proposed a thin viscous boundary layer near the surface, where velocity gradients are strong and the flow can separate and leave a low-pressure wake.

So the display is a faithful picture of an idealisation. A real wake behind a cylinder can shed swirling vortices rather than rejoin as a mirror image of the front.

A worked example

At the defaults — Cyanotype palette, 2200 particles, Trail 62 — pale blue streamlines sweep in from one side, bunch and brighten as they squeeze past the dark circle, and fan out again behind it into a perfectly symmetric wake. Blend in Curl noise at 30% and the glassy sheets begin to ripple, which is roughly what a small amount of real turbulence would do to them.

Settings & tips

Frequently asked questions

What is potential flow?
A model of fluid motion with no viscosity and no vorticity, in which the velocity is the gradient of a scalar potential. It has exact solutions for simple shapes, including uniform flow past a cylinder, which is the one drawn here.
Why is the wake perfectly symmetric?
Because the ideal fluid has no viscosity, nothing separates from the surface and no eddies are shed. Real flow past a cylinder is symmetric only at very low speeds; at higher speeds the wake becomes a von Kármán vortex street. Blending in the Vortices field is a way to hint at that.
Is the Potential Flow screensaver free?
Yes. It runs free in your browser with nothing to download or install, and it works offline once the page has loaded.
What does the Seed setting do?
Everything is deterministic from the seed: the noise table, where the field’s features land and the order particles spawn in. Leave it blank for a fresh random layout on every run, or type any short word or number to get the same layout back each time.
How do I exit the Potential Flow screensaver?
Press the ESC key at any time to leave fullscreen and return to the page.
What is d'Alembert's paradox?
It is the result that an ideal, inviscid, irrotational fluid exerts no drag on a body moving steadily through it, which contradicts experiment. Viscosity in a thin boundary layer, and the flow separation it causes, is what supplies real drag.
Why does the flow behind the cylinder look so different from a real wake?
Real water or air separates from the surface and leaves a low-pressure wake. Potential flow has no viscosity, so the streamlines simply close up again behind the cylinder.
Where is the fluid moving fastest?
At the sides of the cylinder, where the surface speed reaches twice the free-stream speed. By Bernoulli's principle the pressure there is lowest, while at the front and rear stagnation points the flow speed is zero and the pressure is highest.

← All Generative screensavers