Fluid simulation
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.
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.