Florian Aleman, Renaud Guiot-Bourg & Olivier Fouques Les fluides Florian Aleman, Renaud Guiot-Bourg & Olivier Fouques
Plan Types de fluides Physique des fluides Techniques d’animation Techniques de simulation
Fluide Définition : Les fluides sont des milieux matériels parfaitement déformables. On regroupe sous cette appellation les gaz et les liquides.
Fluide Un fluide peut être considéré comme étant formé d'un grand nombre de particules matérielles, très petites et libres de se déplacer les unes par rapport aux autres. Dans un gaz, les interactions entre particules sont négligeables, sauf lorsqu'elles se rencontrent (chocs). Dans un liquide, les molécules sont très proches les unes des autres. Ce type d'interaction explique les propriétés physiques et chimiques des liquides.
Plusieurs caractéristiques : 1.1 Compressibilité 1.2 Viscosité 1. Types de fluides Plusieurs caractéristiques : 1.1 Compressibilité 1.2 Viscosité
1.1 Compressibilité La compressibilité d'un fluide mesure la variation de volume d'une certaine quantité de ce fluide lorsqu'il est soumis à une pression extérieure. Différence entre gaz et liquide. Exemple : pompe à vélo
1.1 Compressibilité On considère souvent que les liquides sont incompressibles. En termes mathématiques, cela signifie que la masse volumique d'un tel fluide est supposée constante. Simplification des équations de la mécanique des fluides.
1.2 Viscosité La viscosité peut être défini comme étant la résistance à l'écoulement uniforme et sans turbulence se produisant dans la masse d'une matière. 2 grandes familles : "newtoniens" et "non newtoniens".
1.2 Viscosité Les fluides "newtoniens", comme l'eau, l'air et la plupart des gaz, présentent une viscosité constante (ou qui ne peut varier qu'en fonction de la température). Les fluides "non newtoniens" ont la particularité d'avoir une viscosité variable, leur déformation n'est pas directement proportionnelle à la force qu'on leur applique. Exemple : le sable mouillé
2. Physique des fluides Les principes de base du comportement 2.1 Statique des fluides 2.2 Dynamique des fluides
2.1 Statique des fluides On parle de fluide au repos. Pression de fluide : Tous les fluides exercent sur toutes les surfaces avec lesquelles ils sont en contact, des forces pressantes perpendiculaires en tout point à ces surfaces. Exemple : poussée d’archimède Solide Liquide
2.2 Dynamique des fluides On parle de fluide en mouvement. 2.2.1 Fluides parfaits 2.2.2 Fluides visqueux
2.2.1 Fluides parfaits Un fluide est considéré comme parfait si l'on peut négliger sa viscosité : il s'écoule alors sans frottement. 2 modèles différents de description du mouvement : Euler et Lagrange
L'écoulement d'un fluide visqueux dans un tuyau peut être de deux types : laminaire ou turbulent. La transition entre ces deux régimes dépend de la vitesse, de la densité et de la viscosité du fluide, ainsi que du diamètre du tuyau. 2.2.2 Fluides visqueux L'écoulement d'un fluide visqueux dans un tuyau peut être de deux types : laminaire ou turbulent. La transition entre ces deux régimes dépend de la vitesse, de la densité et de la viscosité du fluide, ainsi que du diamètre du tuyau.
3. Techniques d’animations 3.1 Animation de surfaces d’eaux 3.2 Transformation de solides en fluides 3.3 Animation de fluides viscoélastiques
3.1 Animation de surfaces d’eaux L’eau est présente partout dans notre environnement Représente l’un des plus gros challenge en matière d’animation graphique Développement récent des films d’animations 3D qui ont besoin de modéliser le comportement de l’eau Shrek : présence d’eau, de boue, de lait, de bière, etc. Jeffrey Katzenberg, producteur de Shrek: « La chose la plus difficile à réaliser dans Shrek aura été l’écoulement du lait dans un verre » (Hiltzik and Pham 2001) Nombreux autres applications : surface de la mer, chute d’un solide dans un liquide, etc.
3.1 Animation de surfaces d’eaux Un des problèmes les plus difficiles : modéliser l’écoulement de l’eau (ou un liquide semblable) dans un verre Douglas Enright, Stephen Marschner et Ronald Fedkiw proposent une méthode appelée inspirée de la méthode de modélisation d’un volume présentée en 2001 par Foster & Fedkiw La clef est que le spectateur visualise bien le traitement effectué à la frontière entre l’eau et l’air Méthode se basant sur les équations de Navier-Stokes pour les liquides Source: D. Enright, S. Marschner et R. Fedkiw: Animation and Rendering of Complex Water Surfaces
3.1 Animation de surfaces d’eaux Foster & Fedkiw, 2001 : Un volume simulé numériquement est définit par une fonction représente le liquide représente l’air Chaque cellule possède plusieurs caractéristiques qui servent à définir le fluide dans son ensemble : est la densité du fluide est la pression fonction définissant le volume Source: D. Enright, S. Marschner et R. Fedkiw: Animation and Rendering of Complex Water Surfaces
3.1 Animation de surfaces d’eaux Enright, Marschner & Fedkiw : Trois étapes pour la mise a jour de , , et du vecteur vitesse en chaque point de la scène I. Une méthode d’extrapolation est appliquée à la surface courante pour contrôler le comportement du vecteur vitesse en chaque point: Où représente la composante x du vecteur vitesse , est un vecteur unitaire perpendiculaire à la surface implicite du volume et représente le temps fictif. Des méthodes similaires existes pour les composantes y et z du vecteur vitesse. Source: D. Enright, S. Marschner et R. Fedkiw: Animation and Rendering of Complex Water Surfaces
3.1 Animation de surfaces d’eaux II. On met à jour les valeurs de , et grâce à la méthode semi-Lagrangienne appelée “stable fluids”. III. Le champs d’accélération des différents points du volume est calculé grâce aux nouvelles valeurs mises à jour précédemment Cette étape s’effectue grâce à l’équation de Navier-Stokes: Où représente la viscosité du fluide, sa densité, sa pression et correspond aux forces extérieures s’appliquant en chaque point, telle que la gravité par exemple Source: D. Enright, S. Marschner et R. Fedkiw: Animation and Rendering of Complex Water Surfaces
3.1 Animation de surfaces d’eaux Illustration des résultats obtenus Méthode de Enright, Marschner & Fedkiw Méthode de Foster & Fedkiw, 2001
3.2 Transformation de solides en fluides La plupart des matériaux ne peuvent être clairement classifies comme solides ou fluides Les surfaces solides sont souvent très détaillées, alors que les surfaces des fluides sont lissées à cause des tensions crées à la surface La transformation d’un solide en fluide fait disparaitre les détails, alors que le fluide se transformant en solide doit les conserver. Exemple de transformation d’un solide en fluide
3.2 Transformation de solides en fluides Le calcul du déplacement des points appartenant à la forme s’effectue de la manière suivante : Pour un fluide: Pour un solide: Où représente la densité du matériaux, la densité des forces internes au corps dues aux tensions, le déplacement des coordonnées du matériaux, la vélocité (vitesse). Source: A Unified Lagrangian Approach to Solid-Fluid Animation, R.KEISER
3.2 Transformation de solides en fluides Mais on ne peut pas efficacement différencier une particule comme faisant partie d’un solide ou d’un liquide… On réécris les équations précédentes pour pouvoir l’appliquer a toute particule faisant partie de notre animation: où La différenciation se fait sur les fonctions et , mais a quoi correspondent elles? Source: A Unified Lagrangian Approach to Solid-Fluid Animation, R.KEISER
3.2 Transformation de solides en fluides La tension élastique : C’est une force qui s’applique à tout solide pour mesurer la façon dont les particules qui forment un solide s’attirent entre elles. Elle permet donc de représenter la manière dont un solide va se déformer. Le tenseur de déformation : C’est une fonction servant à décrire l’état de déformation local résultant de contraintes. Dans notre cas, dépend directement des forces de pression et de viscosité. Cela permet donc de modéliser le comportement d’un fluide. Source: A Unified Lagrangian Approach to Solid-Fluid Animation, R.KEISER
3.3 Animation de fluides viscoélastiques Un fluide viscoélastique est un fluide se comportant comme si il était composé d’un solide élastique et d’un fluide visqueux où l’écoulement serait dépendant de certains paramètres (température, charge, etc.) Exemples: mucus, gélatine, gels, savons liquides, etc. Technique se basant sur des méthodes Eulériennes pour animer des fluides avec des surfaces libres Exemple d’éclaboussement dans un fluide viscoélastique Source: A Method for Animating Viscoelastic Fluids, Tolga G. Goktekin, Adam W. Bargteil, James F. O’Brien
3.3 Animation de fluides viscoélastiques Principe: le comportement d’un fluide viscoélastique est régit par une modification des équations de Navier-Stokes On ajoute un paramètre qui représente la tension élastique d’un point dans l’espace En tout point du fluide, l’accélération du fluide est alors calculée par l’équation: Où représente le déplacement des coordonnées du fluide, la pression du matériaux, sa densité, son coefficient de viscosité, son élasticité Enfin, inclus toutes les autres forces comme la gravité. Source: A Method for Animating Viscoelastic Fluids, Tolga G. Goktekin, Adam W. Bargteil, James F. O’Brien
3.3 Animation de fluides viscoélastiques Exemple de comportements de fluides ayant différentes viscosités : Plus sa viscosité augmente, moins l’accélération de chaque particule du fluide est importante. Cela a pour effet de limiter les éclaboussures à la surface du fluide Source: A Method for Animating Viscoelastic Fluids, Tolga G. Goktekin, Adam W. Bargteil, James F. O’Brien
3.3 Animation de fluides viscoélastiques Autre exemple de fluide viscoélastique : La force de gravité entraine le fluide vers le bas jusqu’à que sa masse ne soit plus assez importante pour le faire tomber.
4. Simulation d’eau en temps réel Contraintes du temps réel : Peu couteuse : CPU -> GPU Peu gourmande en mémoire Stabilité : différence avec animations Réalisme
4. Simulation d’eau en temps réel 4.1 L’eau procédurale (Procedural Water) 4.2 Heightfield Fluids 4.3 Fluides à base de particules (Particle Based Fluids)
4.1 L’eau procédurale Principe : Utilité : Utilisation de la physique pour pré-calculer des textures et les animer Utilité : Pour représenter de vastes étendues océaniques ou de l’eau sans interaction physique avec le jeu
4.1 L’eau procédurale Avantage : Inconvénient : Peu gourmand en ressources Facilement contrôlable Inconvénient : Difficulté d’obtenir un interaction entre l’eau et la côte ou un corps immergé. Utilisée dans la plupart des jeux aujourd’hui Démo (Ogre 3D)
4.2 Heightfield Fluids Principe : Cette technique consiste à modifier en temps réel un maillage représentant la surface de l’eau Une valeur unique z pour (x,y)
4.2 Heightfield Fluids Utilité : Avantage : Inconvénient : Calcul en temps réel des vagues causées par des interactions physiques sur de petites étendues d’eau Avantage : Interaction avec corps immergé Inconvénient : Une valeur par (x,y) donc pas possible de faire des rouleaux Démo (Ogre 3D)
4.3 Fluides à base de particules Principe : Utilisation de particules Particules stockent la masse, la position, la vitesse, des forces extérieures, la durée de vie Utilité : Pour traiter les situations où le fluide gicle ou s’écoule de façon turbulente
4.3 Fluides à base de particules Avantage : Interaction entre les particules et avec l’environnement Inconvénient : Limité à de petites surfaces Vidéo
Conclusion Bonne connaissance de la physique des fluides Très beaux rendus en animation Temps réel très couteux Questions?