Presets
Playback
Fluid and glitter
Shake
Camera
Layers
Quality
Model check
The science
The liquid is treated as a Newtonian fluid of density ρf and dynamic viscosity η, so its kinematic viscosity is ν = η/ρf. A shake creates pairs of counter-rotating vertical vortices. Each one is a Lamb-Oseen vortex, an exact solution of the Navier-Stokes equations in which the circulation Γ is fixed and the vorticity spreads by diffusion:
ω(r,t) = Γ/(πa²) exp(-r²/a²), a²(t) = a0² + 4νt, uθ(r,t) = Γ/(2πr) [1 - exp(-r²/a²)].
The peak swirl speed is 0.1016 Γ/a, so it falls as 1/a while the core widens as √(4νt). Thick syrup therefore keeps a rotating cloud for much longer than water would, and in a tiny globe it dies out in seconds.
Each flake feels weight, buoyancy and Stokes drag. In the creeping-flow limit the terminal velocity is
vt = 2 r² (ρp - ρf) g / (9 η), Rep = ρf vt 2r / η < 1,
with relaxation time τp = 2 r² ρp/(9 η). A flake that is lighter than the liquid rises (vt < 0). Because τp is milliseconds, flakes follow the liquid almost perfectly and their velocity is taken as fluid velocity + terminal velocity (the Stokes number St = τpu/a is shown).
Simplifications, stated honestly. The flow is a kinematic superposition of vertical Lamb-Oseen vortices plus a Gaussian axial flow (updraught in one vortex of each pair, downdraught in the other) that mimics the overturning of a real shake; it does not solve the full 3D Navier-Stokes equations, so vortex-vortex interaction, instabilities and wall boundary layers are absent. Flakes do not collide with each other, the glass wall only removes the normal velocity, and the house, trees and snowman are static surfaces on which flakes come to rest and are re-suspended when the local updraught exceeds vt. Beyond Rep = 1 the Stokes law over-estimates the speed; the readout marks this. Real shaking is turbulent; the cm/s scale and the 4 s shake are tunable, not measured.