Aline Normoyle
Home   Projects   Teaching   About  
Smoke
Back to projects »

This project implements smoke as an incompressible fluid following the techniques described in Robert Bridson and Mattias Muller-Fischer's SIGGRAPH notes.  

Results

Here are some animations produced by the simulation:

colors hotcold
overview

Descriptions, clockwise:

  • Colors: Multiple smoke jets spew colored gas into the bounding grid.
  • Hot vs. Cold: Hot, orange gas rises from the floor while cold, blue gas falls from the ceiling
  • Overview: This animation shows how the velocity and temperature fields corresponds to the smoke density

Implementation Notes

The smoke in this assignment is constrained within a closed box. The velocities are stored at each face using a MAC Grid. After advecting velocity, the simulation advects moke density, temperature, and color. Bouyancy and vorticity confinement forces help give the smoke more character. Grid-aligned solids can be placed within the bounding box. The smoke is rendered with axis-aligned sheets (as explained in "Visual Simulation of Smoke") having twice the resolution of the grid. Also cubic interpolation, rather than tri-linear interpolation, is used to store and access the density and temperature values, helping to create more detail.

References