Simulation de fluide
La simulation de fluide est utilisĂ©e pour Ă©tudier le comportement des fluides d'une maniĂšre scientifiquement rigoureuse et pour aider Ă la conception dâobjet dans le monde rĂ©el (moteurs, avions, digues etc.) ainsi que dans les domaines des images de synthĂšse (cinĂ©ma, jeu vidĂ©o, infographie) pour obtenir des rendus physiquement rĂ©alistes ou vraisemblables. Les fluides comprennent les liquides, les gaz et les plasmas.
Dynamique des fluides computationnelle
Images de synthĂšse
La simulation de fluide dans le but dâobtenir un rendu graphique fait appel Ă des techniques graphiques par ordinateur pour gĂ©nĂ©rer des animations rĂ©alistes de fluides tels que l'eau ou la fumĂ©e[1]. Les animations issues de simulation de fluides sont gĂ©nĂ©ralement axĂ©es sur l'Ă©mulation du comportement visuel qualitatif d'un fluide, avec moins d'accent mis sur des rĂ©sultats physiques rigoureusement corrects, bien qu'ils s'appuient souvent sur des solutions approximatives des Ă©quations d'Euler ou de Navier-Stokes qui rĂ©gissent la physique des fluides rĂ©elle. L'animation peut ĂȘtre rĂ©alisĂ©e avec diffĂ©rents niveaux de complexitĂ©[2]
DĂ©veloppement
Le dĂ©veloppement de techniques d'animation de fluide est basĂ© sur les Ă©quations de Navier-Stokes et a dĂ©butĂ© en 1996, lorsque Nick Foster et Dimitris Metaxas[3] ont mis en place des solutions aux Ă©quations 3D Navier-Stokes dans un contexte graphique par ordinateur, en basant leur travail sur un document scientifique de Harlow et Welch de 1965[4]. Jusquâalors, une variĂ©tĂ© de mĂ©thodes plus simples avait Ă©tĂ© utilisĂ©e, y compris des systĂšmes de particules ad hoc[5], des techniques dimensionnelles infĂ©rieures telles que des champs de hauteur[6], et des champs de bruit turbulents semi-alĂ©atoires[7]. En 1999, Jos Stam a publiĂ© une mĂ©thode nommĂ©e « fluides stables »[8], qui exploitait une technique d'advection semi-lagrangienne et une intĂ©gration implicite de la viscositĂ© pour fournir un comportement inconditionnellement stable. Ces travaux ont permis de rĂ©aliser des simulations plus simples et plus rapides. Cette technique gĂ©nĂ©rale a Ă©tĂ© Ă©tendue par Ronald Fedkiw et des co-auteurs pour traiter des fumĂ©es et des incendies plus rĂ©alistes, ainsi que des simulations d'eau 3D complexes utilisant des variantes de la mĂ©thode des surfaces de niveau[9] - [10] - [11] - [12].
Parmi les chercheurs universitaires dans ce domaine, on peut citer Jerry Tessendorf, James F. O'Brien, Ron Fedkiw, Mark Carlson, Greg Turk, Robert Bridson, Ken Museth et Jos Stam.
Approches
Les séries de Fourier ont été grandement utilisées notamment dans les simulations graphiques en temps réel (en particulier les jeux vidéo) en raison de leurs performances élevées et de leur simplicité. Par contre, étant donné que c'est une simulation de surface seulement, cette technique n'apporte qu'un élément visuel et elle n'est donc pas utilisable pour des simulations plus poussées. C'est ici que les systÚmes de particules en temps réel entrent en jeu. Il existe plusieurs techniques de modélisation de fluides à l'aide de systÚmes de particules en temps réel viables, soit basées sur une grille avec des coordonnées fixes (eulérienne), soit basées sur les particules avec des coordonnées mobiles (lagrangienne) ou hybride (semi-lagrangienne)[13] - [14]. Il existe aussi une autre implémentation pour les grandes quantités de liquides en utilisant un height field mais qui n'est utile que pour simuler une surface sans gouttelettes individuelles, comme un océan[15].
Eulérienne en résolvant le momentum
L'approche eulérienne en résolvant le momentum des premiÚres méthodes de simulations de fluides appliquée notamment aux jeux vidéo originellement développée par Jos Stam chez AutoDesk, elle est particuliÚrement efficace pour représenter la fumée[16] - [17].
Eulérienne en résolvant la vorticité
UtilisĂ©e en recherche pour sa prĂ©cision, l'approche eulĂ©rienne en rĂ©solvant la vorticitĂ© est trop lente pour ĂȘtre applicable Ă des simulations en temps rĂ©el.
Lagrangienne en résolvant le momentum
L'approche lagrangienne en résolvant le momentum ou en anglais SPH (Smoothed particle hydrodynamics) est excellente pour représenter des éclaboussures et des arrosages et est facile à intégrer à cause de l'absence de domaine fixe et de la simplicité avec laquelle les particules peuvent entrer en collision avec l'environnement[18].
Lagrangienne en résolvant la vorticité
L'approche lagrangienne en résolvant la vorticité ou en anglais DVM (Discrete Vortex Method) : Sert surtout à représenter des mélanges de fluides différents, des courants sous-marins ou de la fumée. Ce type de simulation est distinct visuellement par ses nombreuses spirales s'influençant les unes les autres.
Height field
La technique dite Height field consiste à représenter uniquement la surface d'un fluide à l'aide d'une fonction utilisant 2 coordonnées f(x,y). Le désavantage de cette technique est qu'une fonction ne peut avoir qu'un résultat, donc on ne peut pas représenter les déferlantes[15].
SĂ©ries de Fourier
Simule les interactions d'entités avec la surface d'un liquide. Elle est trÚs utile pour faire une simulation minimale et peu coûteuse au niveau des performances et cela la rend trÚs populaire dans les séries à gros budget comme World of Warcraft, Far Cry, Crysis, Battlefield, etc.[19]
Logiciels
De nombreux programmes de rĂ©alisation de reprĂ©sentation graphiques de synthĂšse 3D par ordinateur implĂ©mentent des techniques d'animation fluide. RealFlow est un package commercial autonome qui a Ă©tĂ© utilisĂ© pour produire des effets visuels dans des films, des Ă©missions tĂ©lĂ©visĂ©es, des publicitĂ©s et des jeux. RealFlow implĂ©mente un solveur de particules implicites fluides (FLIP), une grille hybride et une mĂ©thode de particules permettant des fonctionnalitĂ©s plus avancĂ©es comme la modĂ©lisation de mousse et de pulvĂ©risation. Maya et Houdini sont dâautres programmes graphiques informatiques 3D qui permettent de rĂ©aliser des simulations de fluide. Blender 3D est un programme libre de programmation 3D qui utilise la mĂ©thode de Boltzmann sur rĂ©seau pour animer les fluides[20].
Jeu vidéo
La simulation des fluides dans les jeux vidĂ©o nĂ©cessite une approche diffĂ©rente des autres domaines quant Ă l'implĂ©mentation des algorithmes de simulation. Les jeux vidĂ©o ont des contraintes extrĂȘmement Ă©levĂ©es par rapport aux performances, l'implĂ©mentation des physiques de fluides doit donc ĂȘtre optimisĂ©e pour permettre aux autres processus de fonctionner sans faire chuter les frĂ©quences d'images rendues par seconde en dessous de 30 ou 60 selon le cas. Cette optimisation sacrifie la fidĂ©litĂ© visuelle pour de meilleures performances.
L'avĂšnement du parallĂ©lisme et le gain de performance considĂ©rable des UCT durant les annĂ©es 2000 ont permis le dĂ©veloppement des simulations de fluides en temps rĂ©el. Auparavant, ces simulations ne pouvaient ĂȘtre rendues que sur de trĂšs longues pĂ©riodes de calcul ou sur des superordinateurs. Aujourd'hui, il est commun de trouver des jeux vidĂ©o, modestes ou Ă gros budget, ayant des simulations de fluides en temps rĂ©el.
Les méthodes les plus souvent utilisées sont les séries de Fourier pour simuler la surface d'un liquide, la simulation à l'aide d'un height field ou des systÚmes de particules en temps réel.
Alice : Madness Returns
Le développeur Spicy Horse Games dans le jeu Alice : Madness Returns publié par Electronic Arts a utilisé la technique du SPH pour représenter ses fluides. Ils ont aussi utilisé le module PhysX de NVIDIA pour améliorer les performances puisqu'une scÚne complexe pouvait contenir plus de 10 000 particules en interaction l'une avec l'autre[21].
LiquidSketch
LiquidSketch est un jeu entiĂšrement basĂ© sur une simulation de fluide dont le but est de rĂ©soudre des casse-tĂȘtes avec plusieurs sortes de liquides en bougeant le iPad. Tobias Neukom, mathĂ©maticien et dĂ©veloppeur de LiquidSketch pour iPad a utilisĂ© un systĂšme hybride ou semi-lagrangien pour reprĂ©senter ses fluides[22].
Puddle
Puddle est un jeu développé par Neko et publié par Konami. Le jeu consiste à guider différents types de liquides à travers des obstacles et d'en conserver la plus grande quantité jusqu'à la fin du parcours. L'algorithme utilisé pour la simulation est inconnu.
Vessel
Ce jeu d'un développeur indépendant utilise un engin sur mesure qui simule les fluides à l'aide de particules qui exercent l'une sur l'autre différentes forces comme la pression, la tension de surface et la viscosité, entre autres[23].
Portal 2
Le dĂ©veloppeur de Portal 2, Valve, a crĂ©Ă© une simulation de fluides pour les diffĂ©rents types de gels qu'on retrouve Ă travers le jeu. Par contre, cette simulation ne s'exĂ©cute que pour lâinteraction entre les blobs, et ces derniers deviennent des textures dĂšs qu'ils touchent une surface solide, comme le plancher ou un mur[24] - [25].
Uncharted 3 : Drake's Deception
Naughty Dog, le studio derriĂšre Uncharted 3, a eu Ă simuler une tempĂȘte dans un ocĂ©an, et bien qu'ils ont considĂ©rĂ© utiliser un height field, cette mĂ©thode n'est pas appropriĂ©e pour simuler des vagues trĂšs pointues. Ils ont donc optĂ© pour un systĂšme de dĂ©placement de vecteurs (f(<u,v>, t, paramĂštres) â <x,y,z>)[26] - [27].
Vidéos
- https://www.youtube.com/watch?v=7uVLBosJu2E - Exemple d'une simulation eulérienne avec momentum.
- https://www.youtube.com/watch?v=ok8ThRR-59Q - Exemple d'une simulation eulérienne avec vorticité (SPH).
- https://www.youtube.com/watch?v=-OueBYao5bg - Exemple d'une simulation lagrangienne avec vorticité(DVM).
- https://www.youtube.com/watch?v=vK7FDATekMU - Bande annonce pour Puddle.
- https://www.youtube.com/watch?v=Xg6L-dnUZ8c - Série de vidéos à propos des simulation eulériennes et lagrangiennes.
- https://www.youtube.com/watch?v=3Y23IfCCmlM - Les fluides de Alice : Madness Returns.
- https://www.youtube.com/watch?v=Nt5_gzv3vPY - L'océan de Uncharted 3 : Drake's Deception.
Références
- Robert Bridson, Fluid Simulation for Computer Graphics, 2nd (lire en ligne)
- Gary A. Mastin, Peter A. Watterberg et John F. Mareda, « Fourier Synthesis of Ocean Scenes », IEEE Computer Graphics and Applications, vol. 7, no 3,â , p. 16â23 (lire en ligne)
- Nick Foster et Dimitri Metaxas, « Realistic Animation of Liquids », Graphical Models and Image Processing, vol. 58, no 5,â , p. 471â483 (DOI 10.1006/gmip.1996.0039, lire en ligne)
- Francis H. Harlow et J. Eddie Welch, « Numerical Calculation of TimeâDependent Viscous Incompressible Flow of Fluid with Free Surface », Physics of Fluids (1958-1988), vol. 8, no 12,â , p. 2182â2189 (ISSN 0031-9171, DOI 10.1063/1.1761178, lire en ligne)
- W. T. Reeves, « Particle Systemsâa Technique for Modeling a Class of Fuzzy Objects », ACM Trans. Graph., vol. 2, no 2,â , p. 91â108 (ISSN 0730-0301, DOI 10.1145/357318.357320, lire en ligne)
- Michael Kass et Gavin Miller, « Rapid, Stable Fluid Dynamics for Computer Graphics », Proceedings of the 17th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, ACM,â , p. 49â57 (ISBN 0897913442, DOI 10.1145/97879.97884, lire en ligne)
- Jos Stam et Eugene Fiume, « Turbulent Wind Fields for Gaseous Phenomena », Proceedings of the 20th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, ACM,â , p. 369â376 (ISBN 0897916018, DOI 10.1145/166117.166163, lire en ligne)
- Jos Stam, « Stable Fluids », Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, ACM Press/Addison-Wesley Publishing Co.,â , p. 121â128 (ISBN 0201485605, DOI 10.1145/311535.311548, lire en ligne)
- Ronald Fedkiw, Jos Stam et Henrik Wann Jensen, « Visual Simulation of Smoke », Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, ACM,â , p. 15â22 (ISBN 158113374X, DOI 10.1145/383259.383260, lire en ligne)
- Duc Quang Nguyen, Ronald Fedkiw et Henrik Wann Jensen, « Physically Based Modeling and Animation of Fire », Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, ACM,â , p. 721â728 (ISBN 1581135211, DOI 10.1145/566570.566643, lire en ligne)
- Nick Foster et Ronald Fedkiw, « Practical Animation of Liquids », Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, ACM,â , p. 23â30 (ISBN 158113374X, DOI 10.1145/383259.383261, lire en ligne)
- Douglas Enright, Stephen Marschner et Ronald Fedkiw, « Animation and Rendering of Complex Water Surfaces », Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, ACM,â , p. 736â744 (ISBN 1581135211, DOI 10.1145/566570.566645, lire en ligne)
- (en) « Intel / Data Center Solutions, IoT, and PC Innovation », sur Intel (consulté le ).
- (en) « Intel / Data Center Solutions, IoT, and PC Innovation », sur Intel (consulté le ).
- http://matthias-mueller-fischer.ch/talks/GDC2008.pdf
- http://www.autodeskresearch.com/pdf/ns.pdf
- http://cowboyprogramming.com/2008/04/01/practical-fluid-mechanics/
- http://developer.download.nvidia.com/presentations/2010/gdc/Direct3D_Effects.pdf
- https://www.merlin.uzh.ch/contributionDocument/download/4292
- « Doc:2.4/Manual/Physics/Fluid - BlenderWiki », sur wiki.blender.org (consulté le )
- https://developer.nvidia.com/sites/default/files/akamai/tools/docs/Fluid_Rendering_Alice.pdf
- http://www.cs.ubc.ca/~rbridson/docs/zhu-siggraph05-sandfluid.pdf
- http://www.strangeloopgames.com/vessel/vessel-early-tech/
- (en) Matthew Braga, « Q&A with Portal 2 writers Erik Wolpaw and Jay Pinkerton », sur nationalpost.com, (consulté le ).
- (en) The Final Hours of Portal 2 (ASIN B004XMZZKQ)
- http://www.roxlu.com/downloads/scholar/002.fluid.water_technology_of_uncharted_gdc_2012.pdf
- http://www.cgw.com/Publications/CGW/2012/Volume-35-Issue-2-Feb-Mar-2012-/Drakes-Deception.aspx