File:Waterincup.gif
Example of fluid simulation

Fluid simulation is an increasingly popular tool in computer graphics for generating realistic animations of water, smoke, explosions, and related phenomena. Given some input configuration of fluid and scene geometry, a fluid simulator evolves the motion of the fluid forward in time, making use of the (possibly heavily simplified) Navier-Stokes equations which describe the physics of fluids. In computer graphics, such simulations range in complexity from extremely time-consuming high quality animations for film & visual effects, to simple real-time particle systems used in modern games.

Approaches

There are several competing techniques for liquid simulation with a variety of trade-offs. The most common are Eulerian grid-based methods, smoothed particle hydrodynamics (SPH) methods, vorticity-based methods, and Lattice Boltzmann methods. These methods originated in the computational fluid dynamics community, and have steadily been adopted by graphics practitioners. The key difference in the graphics setting is that the results need only be plausible. That is, if a human observer is unable to identify by inspection whether a given animation is physically correct, the results are sufficient, whereas in physics, engineering, or mathematics, more rigorous error metrics are necessary.

Development

In computer graphics, the earliest attempts to solve the Navier-Stokes equations in full 3D came in 1996, by Nick Foster and Dimitris Metaxas, who based their work primarily on a classic CFD paper from 1965 by Harlow & Welch. Prior to this, many methods were built on ad-hoc particle systems, lower dimensional techniques such as 2D shallow water models, and semi-random turbulent noise fields. In 1999, Jos Stam published the so-called Stable Fluids method at SIGGRAPH, which exploited a semi-Lagrangian advection technique and implicit integration of viscosity to provide unconditionally stable behaviour. This allowed for much larger time steps and in general, faster simulations. This general technique was extended by Fedkiw & collaborators to handle complex 3d water simulations using the level set method in papers in 2001 and 2002.

Some notable academic researchers in this area include Ron Fedkiw, James F. O'Brien, Mark Carlson, Greg Turk, Robert Bridson, Ken Museth and Jos Stam.

Software

Several options are available for fluid simulation in off-the-shelf 3D packages. A popular open source package is Blender 3D, with a stable Lattice Boltzmann method implemented. Another option is Glu3d, a plugin for 3ds Max very similar to Blender's fluid capability. Other options are RealFlow, FumeFx and AfterBurn for Max, Exotic Matter's Naiad, Dynamite for LightWave 3D, ICE SPH Fluids for Softimage; Turbulence.4D, PhyFluids3D, DPIT for Cinema 4D. Houdini supports fluids natively.

See also

External links

es:Simulación de fluidos ru:Моделирование жидкости uk:Модель рідини