Why divergence-free matters
The obvious way to build a flow field is to sample a noise function directly as a velocity. It works for about five seconds. Because an arbitrary noise field has sources and sinks, particles drain out of some regions and pile into others, and the cloud degenerates into clumps and empty space.
Taking the curl of a noise vector potential produces a field that is divergence-free by construction. There is no point in the volume where flow accumulates and none where it disappears, so the particle density stays even no matter how long the simulation runs.
That is what makes the motion read as smoke. Real fluids are close to incompressible at these speeds, and the thing your eye recognises as fluid motion is precisely the sliding of sheets past each other without accumulation. Get the divergence right and the look follows.
