Simulating Smoke

Mesh-based vs. Particle-based Methods

Mark Baumann



Mesh-based Methods

Particle-based Methods

Movies

This is a two-dimensional stable fluids simulation of smoke rising around a disk.
Notice some unwanted divergence as the disk "pushes" the smoke away. Also, the "turbulence" at the bottom is unphysical.
This is another stable fluids simulation of smoke rising, this time without an obstacle.
This implementation is more sophisticated in that it incorporates gravity and temperature.
Unlike the previous simulation, where the smoke rose because it was given an initial push, in this simulation the smoke rises only because it is hot. It then cools as it rises. There are vents in the top two corners to let some of the smoke escape, but otherwise it is trapped in the box.
In this simulation, we see that a stable column of smoke will occur (the spurious turbulence at the base is gone) if the buoyancy force due to temperature isn't too large compared to gravity.
Notice how diffusion causes the smoke to spread into a mushroom, and gravity further smears out the cloud.
This movie combines all of the above: gravity, temperature, and an obstacle.
The resolution is also higher.
The internal boundaries seem to be correct now. However, pressure correction still isn't being handled correctly, as the smoke doesn't reconnect after passing over the sphere.
This is an SPH simulation. Instead of rising smoke, I tested this implementation with pouring water.
The fluid is discretized into particles which "splash" around when they hit the ground and eventually settle into a uniform configuration.

Future Work

A hybrid method