fluid animation

{{short description|Computer graphics techniques for generating realistic animations of fluids}}

{{redirect|Fluid Simulation|computer simulations of fluid dynamics|computational fluid dynamics}}

File:Waterincup.gif

Fluid animation refers to computer graphics techniques for generating realistic animations of fluids such as water and smoke.{{cite book|last1=Bridson|first1=Robert|title=Fluid Simulation for Computer Graphics|publisher=CRC Press|edition=2nd|url=https://www.crcpress.com/Fluid-Simulation-for-Computer-Graphics-Second-Edition/Bridson/9781482232837}} Fluid animations are typically focused on emulating the qualitative visual behavior of a fluid, with less emphasis placed on rigorously correct physical results, although they often still rely on approximate solutions to the Euler equations or Navier–Stokes equations that govern real fluid physics. Fluid animation can be performed with different levels of complexity, ranging from time-consuming, high-quality animations for films, or visual effects, to simple and fast animations for real-time animations like computer games.{{cite journal|last1=Mastin|first1=Gary A.|last2=Watterberg|first2=Peter A.|last3=Mareda|first3=John F.|title=Fourier Synthesis of Ocean Scenes|journal=IEEE Computer Graphics and Applications|date=March 1987|volume=7|issue=3|pages=16–23|url=http://www-evasion.imag.fr/people/Fabrice.Neyret/images/fluids-nuages/waves/Jonathan/articlesCG/fourier-synthesis-of-ocean-scenes-87.pdf|doi=10.1109/MCG.1987.276961|s2cid=1330805|access-date=2014-08-31|archive-date=2016-03-05|archive-url=https://web.archive.org/web/20160305101113/http://www-evasion.imag.fr/people/Fabrice.Neyret/images/fluids-nuages/waves/Jonathan/articlesCG/fourier-synthesis-of-ocean-scenes-87.pdf|url-status=dead}}

Relationship to computational fluid dynamics

Fluid animation differs from computational fluid dynamics (CFD) in that fluid animation is used primarily for visual effects, whereas computational fluid dynamics is used to study the behavior of fluids in a scientifically rigorous way.

Development

File:Viscosities.gif

The development of fluid animation techniques based on the Navier–Stokes equations began in 1996, when Nick Foster and Dimitris Metaxas{{Cite journal|last1=Foster|first1=Nick|last2=Metaxas|first2=Dimitri|date=1996-09-01|title=Realistic Animation of Liquids|journal=Graphical Models and Image Processing|volume=58|issue=5|pages=471–483|doi=10.1006/gmip.1996.0039|citeseerx=10.1.1.331.619}} implemented solutions to 3D Navier-Stokes equations in a computer graphics context, basing their work on a scientific CFD paper by Harlow and Welch from 1965.{{Cite journal|last1=Harlow|first1=Francis H.|last2=Welch|first2=J. Eddie|date=1965-12-01|title=Numerical Calculation of Time-Dependent Viscous Incompressible Flow of Fluid with Free Surface|url=http://scitation.aip.org/content/aip/journal/pof1/8/12/10.1063/1.1761178|journal=Physics of Fluids|volume=8|issue=12|pages=2182–2189|doi=10.1063/1.1761178|bibcode=1965PhFl....8.2182H |issn=0031-9171}} Up to that point, a variety of simpler methods had primarily been used, including ad-hoc particle systems,{{Cite journal|last=Reeves|first=W. T.|date=1983-04-01|title=Particle Systems—a Technique for Modeling a Class of Fuzzy Objects|journal=ACM Trans. Graph.|volume=2|issue=2|pages=91–108|doi=10.1145/357318.357320|issn=0730-0301|citeseerx=10.1.1.517.4835|s2cid=181508 }} lower dimensional techniques such as height fields,{{Cite book|last1=Kass|first1=Michael|last2=Miller|first2=Gavin|title=Proceedings of the 17th annual conference on Computer graphics and interactive techniques |chapter=Rapid, stable fluid dynamics for computer graphics |date=1990-01-01|series=SIGGRAPH '90|location=New York|publisher=ACM|pages=49–57|doi=10.1145/97879.97884|isbn=978-0897913447|s2cid=12925789 }} and semi-random turbulent noise fields.{{Cite book|last1=Stam|first1=Jos|last2=Fiume|first2=Eugene|title=Proceedings of the 20th annual conference on Computer graphics and interactive techniques |chapter=Turbulent wind fields for gaseous phenomena |date=1993-01-01|series=SIGGRAPH '93|location=New York|publisher=ACM|pages=369–376|doi=10.1145/166117.166163|isbn=978-0897916011|s2cid=1618202 }}

In 1999, Jos Stam published the "Stable Fluids"{{Cite book|last=Stam|first=Jos|chapter=Stable fluids |title=Proceedings of the 26th annual conference on Computer graphics and interactive techniques - SIGGRAPH '99 |date=1999-01-01|location=New York|publisher=ACM Press/Addison-Wesley Publishing Co.|pages=121–128|doi=10.1145/311535.311548|isbn=978-0201485608|s2cid=207555779 }} method, 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 therefore faster simulations. This general technique was extended by Ronald Fedkiw and co-authors to handle more realistic smoke{{Cite book|last1=Fedkiw|first1=Ronald|last2=Stam|first2=Jos|last3=Jensen|first3=Henrik Wann|title=Proceedings of the 28th annual conference on Computer graphics and interactive techniques |chapter=Visual simulation of smoke |date=2001-01-01|series=SIGGRAPH '01|location=New York|publisher=ACM|pages=[https://archive.org/details/siggraph2001conf00fium/page/15 15–22]|doi=10.1145/383259.383260|isbn=978-1581133745|citeseerx=10.1.1.29.2220|s2cid=7000291 |chapter-url=https://archive.org/details/siggraph2001conf00fium/page/15}} and fire,{{Cite book|last1=Nguyen|first1=Duc Quang|last2=Fedkiw|first2=Ronald|last3=Jensen|first3=Henrik Wann|title=Proceedings of the 29th annual conference on Computer graphics and interactive techniques |chapter=Physically based modeling and animation of fire |date=2002-01-01|series=SIGGRAPH '02|location=New York|publisher=ACM|pages=721–728|doi=10.1145/566570.566643|isbn=978-1581135213|s2cid=356538 }} as well as complex 3D water simulations using variants of the level-set method.{{Cite book|last1=Foster|first1=Nick|last2=Fedkiw|first2=Ronald|title=Proceedings of the 28th annual conference on Computer graphics and interactive techniques |chapter=Practical animation of liquids |date=2001-01-01|series=SIGGRAPH '01|location=New York, NY, USA|publisher=ACM|pages=[https://archive.org/details/siggraph2001conf00fium/page/23 23–30]|doi=10.1145/383259.383261|isbn=978-1581133745|citeseerx=10.1.1.21.932|s2cid=8782248 |chapter-url=https://archive.org/details/siggraph2001conf00fium/page/23}}{{Cite book|last1=Enright|first1=Douglas|last2=Marschner|first2=Stephen|last3=Fedkiw|first3=Ronald|title=Proceedings of the 29th annual conference on Computer graphics and interactive techniques |chapter=Animation and rendering of complex water surfaces |date=2002-01-01|series=SIGGRAPH '02|location=New York|publisher=ACM|pages=736–744|doi=10.1145/566570.566645|isbn=978-1581135213|citeseerx=10.1.1.19.6229|s2cid=1233095 }}

Some notable academic researchers in this area include Jerry Tessendorf, James F. O'Brien, Ron Fedkiw, Mark Carlson, Greg Turk, Robert Bridson, Ken Museth, and Jos Stam.{{citation needed|date=June 2016}}

Software

Many 3D computer graphics programs implement fluid animation techniques. RealFlow is a standalone commercial package that has been used to produce visual effects in movies, television shows, commercials, and games.{{citation needed|date=June 2016}} RealFlow implements a fluid-implicit particle (FLIP; an extension of the Particle-in-cell method) solver, a hybrid grid, and a particle method that allows for advanced features such as foam and spray. Maya and Houdini are two other commercial 3D computer graphics programs that allow for fluid animation.

Blender is an open-source 3D computer graphics program that utilized a particle-based Lattice Boltzmann method for animating fluids{{Cite web|url=https://wiki.blender.org/index.php/Doc:2.4/Manual/Physics/Fluid|title=Doc:2.4/Manual/Physics/Fluid - BlenderWiki|website=wiki.blender.org|access-date=2016-11-04|archive-date=2016-01-31|archive-url=https://web.archive.org/web/20160131015534/http://wiki.blender.org/index.php/Doc:2.4/Manual/Physics/Fluid|url-status=dead}} until the integration of the open-source mantaflow project in 2020 with a wide range of Navier-Stokes solver variants.{{Cite web|title=Reference/Release Notes/2.82 - Blender Developer Wiki|url=https://wiki.blender.org/wiki/Reference/Release_Notes/2.82|access-date=2020-06-10|website=wiki.blender.org}}

See also

References

{{Reflist}}