Le maillage : une étape cruciale en CFD

Dans la série d’articles sur les coulisses de mon métier, je vous propose aujourd’hui une petite description d’une étape particulièrement importante en CFD (en tout cas, lorsque l’on utilise un logiciel basé sur la méthode des volumes finis) : le maillage.

Quelques généralités

Définition d'un maillage

En CFD (et en physique numérique des milieux continus de manière générale), le maillage est la discrétisation spatiale du milieu que l’on souhaite modéliser, composé d’un ensemble d’éléments connectés entre eux et dont la réunion constitue le domaine d’étude. Cette grille de mailles, agrémentée de conditions aux limites sur les bords du domaine, sert ainsi à résoudre numériquement les équations aux dérivées partielles discrétisées du problème posé.

Dans le cas de l’utilisation des techniques numériques « classiques », ou eulériennes (différences finies, volumes finis ou éléments finis), il s’agit donc d’une étape cruciale et indispensable dans le processus de modélisation*. Les deux solveurs CFD essentiellement utilisés chez NEMOSFLOW (OpenFOAM et Code_Saturne) étant basés sur la méthode des volumes finis, c’est ce point de vue qui est adopté dans la suite de cet article.

* Il existe en effet d’autres types de méthodes qui sont dépourvues de la dépendance à une grille de maillage, on parle de méthodes lagrangiennes. C’est le cas, par exemple, de la méthode SPH (Smoothed Particle Hydrodynamics), basée sur la définition d’un ensemble de particules et de leurs interactions.

Maillage hybride hexaèdres / tetraèdres selon les zones, avec présence d'une couche limite prismatique

Remarque 

Lorsque la grille de résolution n’évolue pas au cours du temps de calcul, on parle de maillage statique. Pour certaines problématiques (mouvement du domaine et/ou à l’intérieur du domaine de calcul, interaction fluide-structure, évolution du raffinement pour suivre les zones à fort gradient, par exemple), il est nécessaire que le maillage soit mis à jour régulièrement, voire à chaque itération : on parle alors de maillage dynamique. De nombreuses techniques existent, ce pourrait être l’occasion d’un prochain article 😉

Pourquoi le maillage est-il déterminant en CFD?

Pour réaliser une simulation CFD avec un solveur de type volumes finis, un maillage de qualité s’avère souvent très important, voire essentiel, pour de nombreuses raisons :

  • Il doit discrétiser correctement la géométrie du problème, qui dans de nombreux cas, peut s’avérer complexe.
  • Il doit évidemment permettre de capter correctement tous les phénomènes physiques attendus. La précision et la pertinence de la solution obtenus y sont directement liés.
  • Sa qualité doit être suffisante pour assurer la convergence du calcul.
  • Pour un nombre d’éléments donné, un maillage de qualité permettra d’obtenir une convergence de calcul bien plus rapide lors de la résolution des différents systèmes itératifs qu’un maillage médiocre : le gain de temps et d’énergie peut s’avérer substantiel.

En conséquence, c’est une étape qui ne doit pas être sous-estimée par l’ingénieur CFD. D’un point de vue méthodologique, l’ensemble de la suite en dépend.

Les différents types de maillage

Comme dit précédemment, dans le cadre d’un solveur CFD faisant appel à la méthode des volumes finis, le maillage est composé de petits éléments, volumiques si l’on est en 3D, connectés entre eux et dont l’ensemble forme le domaine de calcul. Ces éléments peuvent être de plusieurs types :

  • Tétraédriques
  • Hexaédriques
  • Pyramidaux
  • Prismatiques
  • Polyédriques
  • Etc

Les images ci-dessous donnent un aperçu de certains maillages typiques. Chaque type d’élément possède ses propres caractéristiques, avec notamment des manières différentes de gérer les calculs de gradients ou de flux. Comme le détaillera davantage la section suivante, chaque type de maillage possède ses avantages et ses inconvénients, et il n’existe pas de règle universelle à privilégier. Évidemment, un maillage peut être totalement hybride et composé de toute sorte d’éléments.

Maillage hexaédrique
Maillage tétraédrique avec couche limite prismatique

Qu'est ce qu'un bon maillage?

L'absence de règles universelles

La réponse a cette question conserve, dans tous les cas, une part de subjectivité : il n’existe aucune méthodologie standard, à suivre de manière systématique, pour établir un maillage de qualité. Toutefois, il existe un certain nombre de bonnes pratiques. Ainsi, de manière générale :

  • La réalisation d’un bon maillage est très dépendante de la qualité de la géométrie construite en amont. Il est donc important de passer du temps sur cette étape : simplification des détails inutiles pour la modélisation, réparation des éventuels défauts des surfaces, …
  • Une réflexion est impérative sur les phénomènes physiques attendus et les modèles que l’on souhaite utiliser pour les simuler. Par exemple, modéliser la turbulence par un modèle de type RANS ou par un modèle de type LES n’implique pas du tout les mêmes attentes en termes de maillage.
  • La densité de mailles doit être suffisante pour capter les différentes échelles de l’écoulement pour un modèle physique donné.
  • Cette densité de mailles peut toutefois être diminuée dans les zones de faibles intérêt, ou encore dans les zones avec peu d’évolution des différents champs, afin d’optimiser le temps de calcul. Un bon maillage n’implique pas forcément une densité de mailles uniforme sur tout le domaine !
  • Les éléments composant le maillage doivent, autant que possible, faciliter les calculs de part leurs caractéristiques. A ce titre, certains outils mathématiques permettent d’obtenir des critères quantitatifs d’analyse, dont un petit aperçu est proposé dans la prochaine section.

Les critères de qualité les plus communs

N.B. : Les quelques schémas de cette section sont tirés de l’une des présentations de Wolf Dynamics sous licence « Creative Commons Attribution-ShareAlike 4.0 International License » (CC BY-SA 4.0). Merci à eux !

Orthogonalité

Mesh orthogonality

Soit deux éléments de centres respectifs P et N, séparés par une face de centre f. L’orthogonalité du maillage est défini par la déviation angulaire entre le vecteur S, normal à la face de centre f, et le vecteur d reliant P et N. Une non-orthogonalité importante du maillage a un impact sur :

  • Le calcul des gradients
  • Le calcul des laplaciens
  • La diffusion numérique

Obliquité

Soit deux éléments de centres respectifs P et N, séparés par une face de centre f. L’obliquité du maillage est défini par la distance Δi séparant fi, point d’intersection entre le vecteur d et la face de centre f, et le point f. Une obliquité importante a un impact sur :

  • Les calculs d’interpolation
  • Les calculs convectifs, diffusifs et de gradients
  • La diffusion et les erreurs numériques
Mesh skewness

Rapport d'aspect

Mesh aspect ratio

Le rapport d’aspect d’un élément est le rapport entre son arête la plus longue Δx et son arête la plus courte Δy. Un large rapport d’aspect a un impact sur :

  • Le calculs des gradients, sauf si les gradients sont faibles dans la direction la plus large
  • La diffusion numérique

Taux d'expansion

Le taux d’expansion définit la transition de taille entre deux cellules adjacentes, soit le rapport entre Δy2 et Δy1 sur le croquis. Un taux d’expansion trop important ajoute notamment de la diffusion numérique au calcul.

De manière générale, on estime qu’idéalement ce taux ne doit pas dépasser 1.2 ou 1.3.

Mesh expansion rate

Remarque

Il existe de nombreux autres critères d’évaluation du maillage (déterminant, jacobien, etc.). Avec l’expérience, et selon les outils dont il dispose, l’ingénieur CFD apprend généralement à se limiter uniquement à certains d’entre eux, car il s’avère vite très délicat de vouloir satisfaire l’ensemble des critères simultanément dès que l’on sort des géométries académiques.

Faut-il privilégier un type d'éléments?

Historiquement, les maillages de type hexaédrique ont longtemps donné de meilleurs résultats que leurs homologues. Toutefois, avec le développement croissant de nouvelles méthodes et de nouveaux schémas numériques, cet écart n’est globalement plus d’actualité, ou en tout cas plus de manière systématique. Quelques règles peuvent être retenues de manière générale :

  • Les maillages hexaédriques ou prismatiques conservent un fort intérêt lorsque la grille de résolution peut être alignée avec la direction de l’écoulement.
  • En particulier, les mailles hexaédriques ou prismatiques sont fortement recommandées pour la résolution des couches limites.
  • En cas d’écoulement complexe, les maillages hexaédriques ne présentent plus d’intérêt particulier (hors couche limite).
  • Les éléments de type tétraédriques génèrent, de manière inhérente à leurs caractéristiques, davantage d’approximation / de diffusion numérique. Toutefois, ces effets peuvent être fortement atténués par le choix des bons schémas numériques.
  • Les tétraèdres ont l’avantage de s’adapter très facilement aux géométries complexes, et la génération d’un maillage tétraédrique est généralement beaucoup plus aisée et automatique que celle d’un maillage hexaédrique.
  • Si la résolution numérique reste généralement plus rapide avec un maillage hexaédrique qu’avec un maillage tétraédrique (convergence plus rapide des sous-systèmes itératifs), le gain de temps obtenu en se « contentant » de construire un maillage tétraédrique peut parfois suffire à compenser cet écart.
  • Les maillages polyédriques ont l’avantage de minimiser les erreurs grâce au nombre élevé de faces d’un élément donné pour la reconstruction des flux.

En conclusion

  • La construction d’un bon maillage nécessite de bien préparer les étapes en amont (qualité de la géométrie, analyse des phénomènes physiques attendus, choix des modèles physiques).
  • Il est fortement recommandé d’utiliser des éléments hexaédriques ou prismatiques pour la résolution des couches limites.
  • Hors couche limite, le choix du type d’éléments est à arbitrer selon la configuration et les solveurs numériques disponibles. Dans le cas d’écoulements avec une direction dominante, les maillages hexaédriques restent toutefois les plus recommandés.
  • Il est impératif d’analyser la qualité de son maillage à partir des critères quantitatifs définis précédemment (ou à partir d’autres critères jugés plus pertinents, selon le cas). La plupart du temps, les outils de génération de maillage et/ou les solveurs CFD possèdent des utilitaires permettant de réaliser cette analyse.
  • Au-delà de la qualité globale du maillage, il est important de prêter une attention toute particulière aux quelques éléments les pires. Ce seront bien eux les responsables d’un important allongement du temps de calcul, voire d’une divergence numérique pure et simple !

Quelques outils utilisés chez NEMOSFLOW

Comme pour le reste de mon activité, je privilégie les outils open source disponibles pour générer mes maillages. Plusieurs logiciels proposent cela, dont voici une liste non exhaustive.

Salome

Multiplateforme numérique développée par EDF, qui contient, entre autre, un module de CAO et un module de génération de maillage. L’interface graphique est fluide et agréable, et cet outil possède de nombreuses fonctionalités. Il existe en particulier la possibilité de mettre au point des scripts de programmation (langage python), très utiles pour l’adapation d’un cas à un autre, par exemple.

Pour davantage d’infos, vous pouvez consulter le site de la plateforme salome.

Gmsh

Générateur de maillage 2D/3D développé par Christophe Geuzaine and Jean-François Remacle. La géométrie et le maillage peuvent être générés à l’aide de scripts (langage type C), ce qui s’avère très intéressant pour les évolutions paramétriques. Son principal défaut reste qu’à l’heure actuelle, cet outil ne propose pas de génération de couche limite automatique en 3D.

Pour davantage d’infos, vous pouvez consulter le site de gmsh.

BlockMesh

Utilitaire OpenFOAM, générateur de maillage multi-blocs. Cet outil génère des maillages hexaédriques de haute qualité pour les géométries simples. C’est typiquement l’outil que j’utilise pour la construction de cas de type académique.

Pour davantage d’infos, vous pouvez consulter le site d’OpenFOAM.

SnappyHexMesh

Utilitaire OpenFOAM, générateur de maillage à dominante hexaédrique, à partir de surfaces géométriques définies au format stl. S’il est nécessaire de lui fournir la géométrie en amont, cet outil s’avère très puissant pour générer des maillages de bonne qualité, avec un contrôle important des critères de qualité du maillage.

Pour davantage d’infos, vous pouvez consulter le site d’OpenFOAM.

CfMesh

Utilitaire inclus dans OpenFOAM, générateur de maillage tétraédrique, hexaédrique ou polyhédrique, à partir de surfaces définies au format stl ou fms. Cet outil possède moins de contrôle et de paramètres que SnappyHexMesh, mais il est remarquablement rapide et propose de très bons maillages pour une génération de type semi-automatique.

A noter que si CfMesh est open source, il est également le précurseur d’une extension commerciale, nommée CfMesh+.

Pour davantage d’infos, vous pouvez consulter le site de CfMesh.

Merci d’avoir lu cet article et d’être passé sur le site de NEMOSFLOW. A bientôt!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *