-- Introduction à la méthode de Boltzmann sur Réseau --

TP n°1

Etude d'un pulse de Pression

simon.marie@lecnam.net

Groupe :

NOM Prénom des personnes du groupe:

Préambule

Le TP doit être rendu sous la forme d'un Notebook jupyter en respectant la nomenclature suivante:

TP1_Pulse_GroupeN.ipynb

En remplaçant N par le numéro de votre groupe. Tous les résultats, discussions, analyses, doivent donc être inclus dans le fichier.

Vous pouvez vous familiariser avec les notions de Python utiles pour ce TP dans ce Notebook.

Présentation du TP

On se propose dans se TP d'étudier l'évolution d'un pulse de Pression à l'aide d'un schéma LBM $D2Q4$.

Le modèle D2Q4

Le modèle à 4 vitesses de la méthode de Boltzmann sur réseau est un modèle linéaire permettant de résoudre les équations de propagation d’ondes - type d’Alembert ou Helmholtz - et son algorithme s’exprime de façon très simple. Les paramètres du modèle sont résumés dans le tableau suivant:

$c_\alpha$$\omega_\alpha$$c_0$$\tau_g$
(1,0) (0,1) (-1 0) (0 -1)$\dfrac{1}{4},\dfrac{1}{4},\dfrac{1}{4},\dfrac{1}{4}$$\dfrac{1}{\sqrt{2}}$$\dfrac{1}{2}$

La fonction d'équilibre du modèle s'écrit:

$$ \displaystyle{g_{\alpha}^{eq}=\rho\omega_\alpha +\omega_\alpha\dfrac{(g_1-g_3).c_{\alpha,x}+(g_2-g_4).c_{\alpha,y}}{c_0^2}} $$

et son algorithme général:

$$ \displaystyle{g_{\alpha}^{coll} = g_{\alpha}-\dfrac{1}{\tau_g}[g_{\alpha}-g_{\alpha}^{eq}]\\ g_{\alpha}(x,y) = g_{\alpha}^{coll}(x-c_{\alpha,x},y-c_{\alpha,y})} $$

Les variables macroscopiques sont calculées à partir des moments des fonctions de distribution: $$ \rho=\sum_{\alpha=1}^4 g_{\alpha} $$

$$ \rho u_x=\sum_{\alpha=1}^4 c_{\alpha,x}g_{\alpha} $$$$ \rho u_y=\sum_{\alpha=1}^4 c_{\alpha,y}g_{\alpha} $$

Le Pulse de pression

Le pulse de pression est un cas test très utilisé en simulation numérique car on connait une solution analytique. Ainsi il devient très utile lorsque l'on souhaite évaluer quantitativement les capacités d'un schéma numérique. Ce cas test consiste à initialiser le champ de pression avec une gaussienne centrée autour d'un point $(x_0,y_0)$ et le champ de vitesse à 0:

$$ \rho(x,y,t_0)=1.+\varepsilon\exp\left(-\alpha\eta^2 \right) $$

et

$$ u(x,y,t_0)=0 $$

Avec $\eta = \sqrt{(x-x_0)^2 +(y-y_0)^2}$, $\alpha=\dfrac{ln(2)}{b^2}$ où $b$ est la demie-largeur de la gaussienne. La solution analytique de ce cas test est donnée en fonction du temps par:

$$ \displaystyle{\rho (x,y,t) = 1.+\dfrac{\varepsilon}{2\alpha}\int_0^{\infty} \xi exp\left[-\dfrac{\xi^2}{4\alpha}\right] cos(t\xi)J_0(\xi \eta) d\xi} $$

et

$$ \displaystyle{u_x(x,y,t) = \dfrac{(x-x_0)\varepsilon}{2\alpha\eta}\int_0^{\infty} \xi exp\left[-\dfrac{\xi^2}{4\alpha}\right] sin(t\xi)J_1(\xi \eta) d\xi} $$

avec les fonction de Bessel sphérique de type $1$, $J_0$ d'ordre $0$ et $J_1$ d'ordre 1.

Travail demandé

Définition des paramètres et des fonctions

Pour les paramètres du calcul, on prendra un domaine de $(400,400)$ mailles avec $\tau_g=0.5$, $N_t=240$, $b=12$ et les paramètres du modèle D2Q4 décrits plus haut.

Completer les cellules suivantes pour pouvoir effectuer ce calcul.

Compléter les fonctions suivantes correspondants aux étapes principales de l'algorithme LBM:

  1. Initialisation: cette fonction doit initialiser les variables macroscopiques et la fonction d'équilibre. L'initialisation de la pression se fera avec un Pulse comme présenté plus haut. On prendra $\varepsilon=0.01$.
  2. Collision: Cette étape est purement locale et peut donc être faite sur tous les points (Pas besoin des voisins).
  3. Propagation: Cette étape propage la collision aux points voisins. Elle ne porte que sur les points intérieur au domaine. Pour cette étape on pourra utiliser une boucle ou du slicing (Voir Notebook Intro_Python si vous n'êtes pas familier avec ces notions)
  4. Conditions aux limites: Cette étape complète l'étape précédente pour les points frontières. Pour ce TP on choisira des conditions aux limites périodiques. Ainsi le point de maillage $i+1$ après $i=nx$ est le point $i=0$, comme si le domaine de calcul été répété périodiquement dans toutes les directions de l'espace.
  5. Calcul des moments: Cette étape calcul les variables macroscopiques $\rho$,$u_x$,$u_y$
  6. Mise à jour de l'équilibre: Cette étape calcul la nouvelle fonction d'équilibre.
  7. Ecriture des résultats: Cette étape enregistre dans une nouvelle variable, une partie de la solution à chaque itération. Pour ce TP on enregistrera les profils de pression et de vitesse longitudinale sur la ligne $y=ny/2$.

Calcul

Une fois les paramètres et les fonctions définis, on procède au calcul à proprement parler:

Analyse des résultats

Solution numérique

Représenter la solution numérique obtenus. On pourra par exemple tracer $\rho$ et $u_x$ à l'aide de la fonction pcolormesh

Solution théorique

Calculer et tracer la solution théorique donnée plus haut à l'aide des fonctions integrande1 et integrande2.

Comparer les profils de pression et de vitesse numérique et théorique. Commenter les résultats obtenus

Explicitation de l'algorithme D2Q4

En remarquant que la fonction d'équilibre est une version linéaire, on remarque qu'il devient possible d'écrire l'algorithme général sous une forme très simple. Proposer une écriture explicite en simplifiant les termes linéaire et montrer que l'on peut écrire l'algorithme en utilisant uniquement des sommes de $f$.

Commentaires et Analyse .... ....

Conclusion

Commentaires et Analyse Présenter ici la synthèse de votre TP en décrivant les points importants et les principaux résultats. .... ....

Retour en haut de la page