||It has been suggested that this article be merged into Computational fluid dynamics. (Discuss) Proposed since September 2014.|
|This article needs additional citations for verification. (September 2014)|
Fluid simulation, or computational fluid dynamics, is a computer graphics tool used to generate realistic animations of liquids such as water and smoke. A fluid simulator emulates the motion of a described fluid, making use of the Euler equations or Navier-Stokes equations which describe the physics of fluids, or any simplified version of them. 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, or Fourier synthesis of water surface wave, used in modern games.
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.
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.
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, in addition to two distinct SPH approaches. 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, Dynamite and Turbulence.4D (though Dynamite hasn't updated for many years) for LightWave 3D, ICE SPH Fluids and Mootzoid's emFluid4 for Softimage; Turbulence.4D, PhyFluids3D, DPIT for Cinema 4D. Houdini and Maya support fluids natively however plugins can be bought to improve the simulations.
- G. K. Batchelor. An Introduction to Fluid Dynamics. Cambridge University Press, 1967
- Ben Houston, Chris Bond, and Mark Wiebe. A unified approach for modeling complex occlusions in fluid simulations. In ACM SIGGRAPH Technical Sketches, 2003.