examples are grid-based, using "vorticity confinement" in Phoenix FD.
EDIT Some techniques: "divergence control" is used to increase the smoke concentration; and fuel particles in the air may combust, further adding smoke at that point (i.e. not at the initial source of the smoke).
A reference: Feldman 2003, Animating Suspended Particle Explosions, ACM Trans. Graph. (Proc. SIGGRAPH) 22 (2003), 708-715