• Aucun résultat trouvé

Génération du maillage

2.2 Description du code en maillage non-conforme

2.2.2 Génération du maillage

2.2.2.1 Description du maillage

Pour décrire l’évolution temporelle du mélange diphasique et notamment l’implosion

de la bulle d’air, nous devons résoudre le système proposé dans la partie 2.2.1 en

tout point du domaine de calcul que nous étudions. Pour cela, nous allons

décom-poser le domaine de calcul en une multitude de sous-domaines ou mailles de calcul

dans lesquels nous résoudrons le même système d’équations en imposant les lois de

conservation couplées (bilans de masse, moment, énergie) sur chacune d’entre elles.

Elles interagissent les unes avec les autres au travers des méthodes de discrétisations

numériques. L’ensemble des mailles assemblées en une structure cohérente représente

le maillage du domaine de calcul.

Dans le code de calcul originel, le domaine de calcul était fixe dans l’espace au

cours du temps ; il était écrit pour le cas particulier d’un maillage composé

exclu-sivement de cellules carrées de même taille (appelé maillage uniforme). Cependant,

nous souhaitons travailler avec une condition de paroi déformable, ceci implique

qu’au minimum les mailles situées au niveau de la paroi devront avoir un

mouve-ment coïncidant avec la déformation de la paroi. Il faudra donc avoir une description

du maillage plus complexe (cellules non carrées et mouvement du maillage au cours

du temps).

Nous allons dans un premier temps définir chaque maille par ses différentes

com-posantes géométriques :

• nœud : point défini par ses coordonnées spatiales (x,y).

• interface : composée de deux nœuds adjacents.

• maille : composée de plusieurs interfaces formant un contour fermé.

En utilisant ces différentes composantes, la figure 2.2 montre la génération des mailles

dans le code. A présent, nous pouvons facilement décrire les connexions entre cellules.

Toutes cellules partageant une interface commune sont automatiquement voisines.

Une cellule qui possède une ou plusieurs interfaces non-partagées sera une cellule de

bord de domaine, soumise à une condition limite (figure 2.3).

Figure2.2 – Structure de maillage : Nœuds → Interfaces→ Mailles.

Figure2.3 – Description du voisinage sans (gauche) et avec (droite) condition limite

Durant la génération du maillage, nous générons une information supplémentaire

qui permet de relier chaque nœud aux différentes mailles auxquelles il appartient.

Ainsi à partir de chaque maille nous pourrons retrouver les nœuds qui la compose et

à partir de chaque nœud nous pourrons obtenir les mailles auxquelles il appartient.

Ces connexions sont illustrer sur la figure 2.4.

Figure2.4 – Connexion ente mailles et nœuds, exemple du nœud numéro 3.

Sur cette figure, l’exemple du nœud numéro 3 est mis en avant. Ce nœud appartient

à la fois aux mailles 1 et 2. Notre procédure du maillage permet de connaître pour

chacun de quatre nœuds qui composent les mailles 1 et 2 et parmi ces nœuds, le nœud

3 (flèche épaisse en bleue). À cela, nous avons ajouté la connexion supplémentaire

(flèche en rouge) qui permet de savoir que le nœud 3 appartient aux mailles 1 et

2. Cette connexion se révélera particulièrement utile lorsque le maillage deviendra

mobile et que chaque nœud aura une vitesse de déplacement propre non-nulle.

2.2.2.2 Optimisation du maillage

Grâce au protocole présenté dans le paragraphe 2.2.2.1, nous avons à présent un

accès direct à l’ensemble des paramètres du maillage. Celui-ci n’est plus tenu d’être

uniforme, nous allons donc proposer un maillage avec différents niveaux de

raffine-ment. L’objectif de ce maillage sera de maintenir une résolution fine dans les zones

qui nous intéressent et un maillage plus grossier dans les zones les moins

impor-tantes du calcul. Nous diminuerons le nombre de mailles par rapport à un maillage

uniforme de même résolution fine, ce qui réduira le temps de calcul.

En se référant à la description du phénomène d’implosion de la bulle (figure 2.1

et paragraphe 2.1 ), nous pouvons identifier deux comportements du fluide qui ne

nécessiteront pas un même niveau de précision de maillage. Cela correspond à des

tailles de maille susceptibles de varier dans le domaine de calcul. A l’état initial

(t = 0 ns), la propagation de l’onde incidente est un phénomène monodimensionnel

qui ne nécessitera pas une haute résolution spatiale tant que l’onde n’est pas

suf-fisamment proche de la bulle pour interagir avec elle. Le choc des interfaces de la

bulle (t = 361 ns) nécessitera une grosse résolution spatiale, pour capter tous les

détails du phénomène. Ceci imposera la création d’un maillage grossier loin de la

bulle et d’un maillage plus fin autour de la bulle et aussi autour de la paroi solide, la

déformation de la paroi solide constituant un des points centraux de ce travail. Afin

d’éviter des erreurs numériques qui seraient générées par un passage brutal entre

grosse maille et petite maille, nous créons une zone de transition de maillage. La

fin de cette zone a été fixée à un diamètre du centre de la bulle ; nous avons vérifié

qu’elle était suffisamment éloignée de la bulle pour qu’elle n’ait aucune influence sur

son implosion (Annexe C). Pour générer cette transition les dimensions (longueur et

largeur) des mailles seront progressivement augmentées d’un facteur deux jusqu’à

atteindre la taille des mailles grossières. Nous pourrons donc générer un maillage

constitué de plusieurs raffinements successifs comme présenté sur la figure 2.5.

Pour réaliser ce maillage, nous avons adopté une stratégie de maillage par blocs.

L’ensemble du domaine est tout d’abord maillé avec un maillage grossier. Les mailles

générées seront toutes des mailles de génération zéro, c’est à dire qu’elles

représen-Figure 2.5 – Champ de pression à deux différents instants (gauche), coupe du

maillage et phénomènes captés par les différents niveaux de raffinements (droite)

teront la taille maximum de maille que nous aurons dans le domaine de calcul. Une

partie de ces mailles seront conservées et correspondront à la partie grossière du

maillage. Les autres mailles seront subdivisées en mailles plus petites dont les

di-mensions seront la moitié de celle de la maille d’origine. Ce processus sera répété

jusqu’à obtenir le niveau de raffinement de maillage désiré dans chaque partie du

domaine de calcul comme le montre l’exemple de la figure 2.6.

Figure2.6 – Exemple de mise en place du maillage multi-blocs

Chaque maille étant issue du maillage grossier (de génération zéro), le concept de

voi-sinage, présenté dans le paragraphe 2.2.2.1, sera identique pour toutes les mailles. Le

seul changement proviendra d’un voisinage entre mailles de différentes tailles comme

nous pouvons le voir sur la figure 2.6. Au final, dans chaque zone du maillage

(gé-nération zéro ou supérieur), seules les mailles plus fines (de plus haute gé(gé-nération),

seront actives durant le calcul, les autres resteront inactives tout en gardant un rôle

de connectivité dans le maillage (voir Annexe D). Cette optimisation permettra,

dans la cas d’étude, de réduire de près de 60% le nombre de mailles actives utilisées

durant les simulations par rapport à un calcul avec maillage uniforme comprenant

la même résolution dans la zone bulle-paroi.