Simulation d'écoulement de fluide autour d'un cylindre: utilisation de la méthode de Lattice-Boltzmann
La méthode de Lattice-Boltzmann est une alternative aux discrète aux méthodes classiques de CFD, telles que la résolution de la l'équation de Navier-Stokes.
Il s'agit non pas d'évaluer les équations de l'écoulement du fluide à l'échelle macroscopique, mais de modéliser des particules de fluide à l'échelle microscopique et mésoscopique sur un réseau, et d'en étudier la diffusion et leurs collisions.
L'intérêt de cette méthode réside en la limitation des degrés de liberté de chaque particule sur le réseau, amenant à une résolution plus aisée du système.
La méthode Lattice-Boltzmann est une méthode récente permettant la reproduction numérique du comportement complexe d'un fluide newtonien ou non newtonien.
Contrairement à la méthode traditionnelle consistant en la résolution des équations de Navier-Stokes, cette méthode L-B constitue une alternative en discrétisant l'équation de Boltzmann. Elle consiste en l'étude de la dynamique des particules de fluide de manière mésoscopique et discontinue en étudiant la collision et la diffusion des particules, alors que N-S évalue un fluide continu.
-
Équation de continuité (bilan de masse):
$$\frac{\partial \rho}{\partial t} + \overrightarrow{\nabla} \cdot \left( \rho \vec{v} \right) = 0$$ -
Équation de bilan de la quantité de mouvement:
-
Équation de bilan de l'énergie:
$$\frac{\partial \left( \rho e\right)}{\partial t} + \overrightarrow{\nabla} \cdot \left[ ; \left(\rho e + p\right) \vec{v} ; \right] = \overrightarrow{\nabla} \cdot \left( \overrightarrow{\overrightarrow {\tau}} \cdot \vec{v} \right) + \rho \vec{f} \cdot \vec{v} - \overrightarrow{\nabla} \cdot \vec{\dot{q}} + r$$
Où dans ces équations:
-
$t$ désigne le temps -
$\rho$ désigne la masse volumique du fluide -
$p$ désigne la pression -
$\vec{v}$ désigne la vitesse eulérienne d'une particule fluide -
$\overrightarrow{\overrightarrow {\tau}}$ désigne le tenseur des contraintes visqueuses -
$\vec{f}$ désigne la résultante des forces massiques s'exerçant dans le fluide -
$e$ est l'énergie totale par unité de masse -
$\vec{\dot{q}}$ est le flux de chaleur perdu par conduction thermique -
$r$ représente la perte de chaleur volumique due au rayonnement
Cette équation décrit le comportement statique d'un système thermodynamique hors d'état d'équilibre, effectuant un lien entre la physique microscopique et la physique macroscopique.
On étudie la distribution de la probabilité pour la position
Cette fonction évolue au cours du temps suivant trois facteurs: les forces externes exercées sur les particules, la diffusion des particules liée à leur mouvement dans l'espace et les éventuelles collisions: $$\frac{df}{dt} = (\frac{\partial f}{\partial t}) {force} + (\frac{\partial f}{\partial t}){diff} + (\frac{\partial f}{\partial t})_{coll}$$
Afin d'expliciter cette équation, on estime en premier lieu que le nombre de particules n'évolue pas dans la région considérée. D'après le théorème de Liouville:
Le volume d'une région de l'espace des phases reste constant lorsqu'on suit cette région dans le temps.
Puisque l'on conserve le nombre de particules dans une région considérée, on a alors du point de vue lagrangien
On note
En explicitant la dérivée lagrangienne, on obtient l'équation de conservation $$ \frac{\partial f}{\partial t} + \vec{v} \cdot \overrightarrow{\nabla_r} f + \vec{F} \cdot \overrightarrow{\nabla_p} f = 0$$
Toutefois, il est nécessaire de prendre en compte les effets des collisions des particules entre elles. Aussi, les collisions de particules entre elles modifient les trajectoires de celles-ci au sein du volume de la région et on n'a plus conservation. En ajoutant un terme au bilan, on obtient l'équation générale de Boltzmann:
Ce projet consiste en la réalisation d'une simulation numérique d'écoulement de fluide en deux dimensions. Pour cela on considère un réseau à deux dimensions centré sur la particule considérée, entouré de huit noeuds. Il y a quatre connexions nord, sud, est, ouest et quatre connexions diagonales, ainsi qu'une connexion sur le noeud considéré.
Caque particule peut se déplacer vers un noeud avec un pondération
A chaque itération, la particule se déplace sur un point
A partir d'un tel modèle, on peut décrire un fluide comme une fonction de distribution
Expérimentalement, un système hors état d'équilibre
Ce temps de relaxation décrit la durée nécessaire au système pour revenir à son état d'équilibre, ie à la fonction de distribution pour revenir à son état d'équilibre.
On estime que le temps de relaxation est défini par:
Avec:
-
$\nu_p$ la viscosité physique du fluide -
$c_s^2$ la vitesse du son en unité de Lattice-Boltzmann -
$\Delta t$ le pas de temps -
$\Delta x^2$ le pas d'espace
Ces derniers sont liés par la relation de conversion de la vitesse du son en unité physique en unité Lattice-Boltzmann:
Alors dans l'approximation BGK, on a la relation
Cette équation peut être discrétisée sur le réseau pour un temps caractéristique de simulation
Il est alors nécessaire de détailler la fonction de distribution à l'équilibre. On considère ici un fluide isotherme ayant une célérité du son constante. On trouve dans la littérature l'expression suivante:
Où les
On détaille dans cette partie le fonctionnement de l'algorithme qui permet la simulation d'écoulement du fluide
On cherche à obtenir dans toute la région la densité macroscopique
Les conditions aux limites sont évaluées à l'échelle microscopique. Les lois de la réflexion s'appliquent lorsqu'une particule de fluide entre en contact avec un solide. Les collisions fluide-solide ne sont pas de la même nature que les collisions fluide-fluide, qui elle mènent à un état d'équilibre, conséquence de l'écoulement. Ainsi, les particules rebondissent simplement sans glisser contre les parois du solide. Cela se traduit par la loi:
Où l'indice
Implémentée en Python, elle contient une grille (matrice) qui sert à recueillir en chacun de ses éléments les valeurs de la fonction de distribution
Le réglage du temps de relaxation, équivalent dans les équations de Navier-Stokes à la viscosité dynamique, permet d'obtenir un écoulement turbulant à même de générer des tourbillons de Von Karman
-
Wagner (NDSU) — Lattice Boltzmann Book / notes (PDF)
https://www.ndsu.edu/fileadmin/physics.ndsu.edu/Wagner/LBbook.pdf
-
Wikipedia (FR) — Méthode de Boltzmann sur réseau
https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Boltzmann_sur_r%C3%A9seau
-
Europhysics Letters (1992) — Foundational LBM paper (PDF)
https://iopscience.iop.org/article/10.1209/0295-5075/17/6/001/pdf
-
Physique Univ — PhysStat chapter (PDF)
-
Wikipedia (FR) — Théorème de Liouville (hamiltonien)
https://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_de_Liouville_(hamiltonien)
-
Wikipedia (FR) — Équations de Navier–Stokes
https://fr.wikipedia.org/wiki/%C3%89quations_de_Navier-Stokes
-
ENSEEIHT HMF — LBM course material
-
ENSEEIHT HMF — Numerical project notes
https://hmf.enseeiht.fr/travaux/projnum/book/export/html/3507
-
HAL — Efficient lattice paper (PDF)
https://hal.archives-ouvertes.fr/hal-03232070/file/anefficientlattice.pdf
-
Medium — Create your own LBM simulation with Python
https://medium.com/swlh/create-your-own-lattice-boltzmann-simulation-with-python-8759e8b53b1c
-
ResearchGate — D2Q9 model figure
https://www.researchgate.net/figure/The-D2Q9-model-for-LBM-simulation_fig4_282092725