|
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.
Download:
WebStart.java - applet interface for the fluid solver. References:
Copyright © 1997 Peter Schröder Last modified: Wed Oct 1 18:14:33 PDT 1997 |