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
[modifier | modifier le code]Images de synthèse
[modifier | modifier le code]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
[modifier | modifier le code]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.[réf. nécessaire]
Approches
[modifier | modifier le code]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 la quantité de mouvement
[modifier | modifier le code]L'approche eulérienne en résolvant la quantité de mouvement 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 avec le tourbillon comme inconnue
[modifier | modifier le code]Utilisée en recherche pour sa précision, l'approche eulérienne en résolvant le potentiel tourbillon est trop lente pour être applicable à des simulations en temps réel.
Lagrangienne par la quantité de mouvement
[modifier | modifier le code]L'approche lagrangienne avec la quantité de mouvement comme inconnue, 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 par le potentiel tourbilllon
[modifier | modifier le code]L'approche lagrangienne en résolvant le potentiel tourbilllon 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
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]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.
Exemples
[modifier | modifier le code]Alice : Madness Returns
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]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
[modifier | modifier le code]- 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
[modifier | modifier le code]- 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
- « Cowboy Programming » Practical Fluid Mechanics », sur cowboyprogramming.com (consulté le ).
- 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
- https://archive.wikiwix.com/cache/20220930024840/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
- « Drake's Deception », sur cgw.com (consulté le ).