Presets
Playback
Generator and air
Orifice, puff speed and duration, diffusion and the delay of the second tap.
Mode
Layers
Model checks
The science
What is modelled
Tap the back of a box with a round hole and a ring of smoke shoots out and keeps travelling, turning over like a rolling doughnut. The ring is a vortex: a thin loop of spinning air. The page represents it as a closed loop of 96 nodes (a vortex filament) that moves in the flow it creates itself, and carries thousands of smoke particles in that same flow. With the second mode you can launch two rings in a row and watch them leapfrog.
Equations
- Generator, slug model: the membrane pushes a plug of air of length
L = U τout of a hole of diameterD; the circulation of the ring formed isΓ = U² τ / 2. A puff withL/Dlarger than about 4 (the formation number) cannot be absorbed by one ring; the page then capsΓat the value forL/D = 4. - Induced flow of the filament (Biot-Savart):
u(x) = (Γ / 4π) ∑ dl × (x − xj) / (|x − xj|² + δ²)3/2with a smoothing lengthδ = a e−3/4tied to the core radius a, so that a thin ring moves at the Kelvin speedU = Γ / (4πR) (ln(8R/a) − 1/4)(uniform vorticity in the core). - Core growth by viscous diffusion (Lamb-Oseen):
a² = a0² + 4 ν t; the page multiplies the kinematic viscosity of air (1.5 × 10−5 m²/s) by your factor to represent turbulence in the smoke. - Conserved quantities: circulation (Kelvin), linear impulse
P = ρ Γ π R²(the page sums(Γ/2) ∑ x × dlover the nodes) and energyE = (ρ Γ² R / 2)(ln(8R/a) − 7/4). For two rings, the rear one shrinks and speeds up, the front one widens and slows (leapfrogging). - Smoke: tracer particles relax in about 30 ms to the local induced flow; the puff leaving the hole is moved with the piston speed until the ring has formed.
Checks run in the page
- Filament ring speed against the Kelvin formula.
- The dependence of speed on the core radius.
- Impulse conservation during a leapfrog pass.
- A finite-difference solution of vorticity diffusion against the Lamb-Oseen law.
- Slug-model circulation, formation-number cap and the discrete impulse against
Γ π R².
Honest simplifications
- The ring is created instantly at the end of the tap at half the puff length, with radius D/2 and core a = 0.3 R; the real roll-up of the vortex sheet and the exact radius and core size depend on the edge of the hole and are not simulated.
- The core is assumed to be a uniform-vorticity disc and its size follows pure diffusion; real smoke rings also shed vorticity into a wake, become wavy (Widnall instability) and turn turbulent. The filament model stops being valid when two filaments come within about a core radius of each other (the page warns you), which happens after one leapfrog pass; it cannot show merging or reconnection.
- Discretising the ring with 96 nodes gives a speed 2 % to 6 % below the Kelvin value for cores of a/R = 0.3 to 0.15; smaller cores need more nodes and a smaller step, so the core is kept at a/R = 0.3 at formation.
- The smoke has no buoyancy and no weight; the room air is still, with no walls or draughts; the viscosity multiplier is a stand-in for turbulence, not a measured value. The membrane motion is drawn for show, and the box is a fixed model.
What to try
- Watch the default ring: its two cores (yellow circles) travel at the Kelvin speed, which grows as the core thins; the third graph compares the filament simulation with the formula.
- Choose the long puff preset: above L/D = 4 the ring cannot take more circulation and the rest of the puff trails behind as a jet.
- Switch to two rings: the rear ring shrinks and speeds up, slips through the front one, which widens and slows (leapfrogging).