The Lattice-Boltzmann Method for Smoke 

Overview

The goal of this project is to design a physically-based, yet fast and simple method to simulate smoke. In recent years, the Navier-Stokes (NS) equations governing fluid motion have been applied in a novel way to achieve a realistic animation. Here, we based our work on the Lattice Boltzmann Model (LBM) that simulates the microscopic movement of fluid particles by linear and local rules on a grid of cells, so that the macroscopic averaged properties obey the desired NS equations. The LBM is a cellular automata defined on a 2D or 3D discrete lattice of fluid cells, which is used to solve fluid animation based on different boundary conditions. The LBM simulation generates in real-time an accurate velocity field and can incorporate an optional temperature field to account for the buoyancy force of hot amorphous objects. Because of the linear and regular operations on each local cell of the LBM grid, we implement the computation in commodity texture hardware, further improving the simulation speed. Finally, textured splats are used to achieve real time rendering speed and to add small scale turbulent details. Our method can also simulate the physically correct interaction of amorphous objects with stationary or mobile obstacles in real-time, while still maintaining highly plausible visual details.

"The Lattice Boltzmann Method for Gaseous Phenomena"
Xiaoming Wei, Wei Li, Klaus Mueller, and Arie Kaufman
Full Paper (PDF).

 

Current Results

 

This animation shows the modeling of smoke coming out of a chimney. The grid size is 32X32X32.

 

This example indicates the interaction between the smoke and a green moving obstacle. The object moves from the right side of the grid to the left, continuously changing the shape of the smoke. The grid size is
44X20X30.

 

Here we show an animation of smoke propagating in an urban city model. Several buildings are used as boundary objects. The calculation is done on a volume size of 58X40X30. The inlet of the smoke is modeled as a 4X4 patch. It exits the inlet with a speed of 0.07 and a density value of 0.42. The left side of the grid is assigned a speed of 0.1 along the X axis to model the effect of wind. The top and right side of the grid is modeled as open surfaces. We set the temperature near the inlet of the smoke to be 40 degree and the temperature of air to be 28 degree.

Here we show the result of hot steam rising up from a teapot and its spout. We model the inlets of the steam as 4X4 and 2X2 patches. The steam exits the inlets with a speed of 0.1 and a density value of 0.42. The top and right side of the grid are modeled as open surfaces.  We set the temperature near the inlet of the steam to be 100 degree and the temperature of air to be 28 degree.

 

Figure

Grid Size

Software Calculation

Hardware Calculation

Rendering

1 32X32X32 180ms 3.6ms 15ms
2 44X20X30 155ms 4.1ms 15ms
3 58X40X30 460ms 9.1ms 15ms
4 30X12X30 70.2ms 3.58ms 15ms

Extended Work