Multi-Res Modeling Group People Research Demos
Publications Software
Multi-Res Modeling Group Multi-Res Modeling Group

Physical based fluid simulation Creating realistic fluids remains a challenging and interesting problem in computer graphics. Given the ever increasing demand for convincing physical simulations, the intent of this project was to implement a fluid solver based on the semi-Lagrangian method first introduced by Jos Stam in Stable Fluids[1].

Application of the Navier-Stokes equations for creating realistic fluid flows in graphics was first presented by Forster and Metaxes[2], however Stam's contribution is significant as a technique for creating unconditionally stable fluids that donít "blow up". Unlike the solver presented in [3] which computes results based on the Fast Fourier Transform, our implementation uses a sparse linear solver that can function under arbitrary boundary conditions. For completeness we implemented a simple iterative solver directly, just as in [4].

In 2001, Fedkiw, Stam and Jensen published a follow up to extend the algorithm for specific application to realistic smoke [5]. They suggested "vorticity confinement" in which velocity is injected into the system in places most likely to be affected by the numerical dissipation inherent to the implicit semi-Lagrangian integration scheme. In addition they detailed a buoyancy force for economically create a realistic rising smoke field.

The results of this study are illustrated in the Java applet below.

Left click to add smoke.
Right click and drag to add velocity.
Press 'v' to display the velocity field.
Press 'r' to reset the solver.
Use '[' and ']' to select the grid size.
Use '<' and '>' to modify the timestep.

Download: - applet interface for the fluid solver. - fluid solver with vorticity confinement and buoyancy force.


  1. J. Stam. Stable Fluids. In SIGGRAPH 99 Conference Proceedings, Annual Conference Series , pages 121-128, August 1999.
  2. N. Foster and D. Metaxes. Modeling the Motion of a Hot, Turbulent Gas. In SIGGRAPH 97 Conference Proceedings, Annual Conference Series , pages 181-188, August 1997.
  3. J. Stam, A Simple Fluid Solver based on the FFT. In Journal of Graphics Tools, Volume 6, Number 2, pages 43-52, 2001.
  4. J. Stam, Real-Time Fluid Dynamics for Games. Proceedings of the Game Developer Conference, March 2003.
  5. R. Fedkiw, J. Stam, and H. W. Jensen. Visual Simulation of Smoke. In SIGGRAPH 2001 Conference Proceedings, Annual Conference Series , pages 15-22, August 2001.

Copyright © 1997 Peter Schröder Last modified: Wed Oct 1 18:14:33 PDT 1997