||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. RealFlow is a standalone commercial package that has been used to produce visual effects in movies, including The Avengers and Looper, as well as in TV, commercials and games. It is based on a Fluid-implicit particle (FLIP) solver, a hybrid grid and particle method that allows for advanced features such as foam and spray. Other FLIP-based offerings include the Bifröst module of Maya, and Houdini's fluid system.
Third-party plugins provide fluid simulation capabilities in packages that lack native support, or provide an alternative to the built-in method. Some of the more notable examples include:
- Glu3d, FumeFx and AfterBurn for 3ds 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
- Tessendorf, Jerry (27 March 2010). "TEDxConejo - Jerry Tessendorf - 03/27/10". TEDx. Retrieved 25 November 2014.
- Mastin, Gary A.; Watterberg, Peter A.; Mareda, John F. (March 1987). "Fourier Synthesis of Ocean Scenes" (PDF). IEEE Computer Graphics and Applications 7 (3): 16–23.
- "RealFlow in Movies". Realflow. Retrieved 27 July 2015.
- 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.