Le fichier snappyHexMeshDict

Nous allons maintenant nous intéresser à la structure du fichier snappyHexMeshDict et détailler les principales parties qui composent ce fichier. Les paramètres modifiés seront également expliqués. Toutefois, les options qui n'ont pas été modifiées durant le projet ne seront pas explicitées. Pour plus d'informations concernant snappyHexMesh, le User Guide constitue une bonne base. Le rapport de Projet de Fin d'Etudes réalisé par la promotion 2011 de l'IPSA et intutilé "Présentation, essai et validation du logiciel Open-Source OpenFOAM" détaille également de manière approfondie chaque partie du fichier snappyHexMeshDict.


Le fichier snappyHexMeshDict est situé dans le dossier system/. Il commence comme tout autre fichier OpenFoam, par une en-tête contenant les informations sur le fichier.

Il s'ensuit alors trois lignes pour définir quelles options l'utilisateur souhaite activer. Ces options s'activent en mettant true ou false à la suite du mot clé.

La première option castellatedMesh intervient pour raffiner le maillage autour de l'objet considéré. L'option snap concerne la découpe des mailles et enfin, l'option addLayers désigne l'ajout ou non d'un couche de prisme le long du solide afin par exemple d'obtenir de meilleurs résultats dans la couche limite.

Une fois les options choisies, l'utilisateur doit alors désigner le nom du fichier .obj ou .stl à mailler. Il peut également changer la façon dont est désigné l'objet dans la suite du fichier avec la ligne name.

La suite du fichier s'organise globalement de la manière suivante :

La première partie concerne les paramètres de raffinement de l'option castellatedMesh. Parmi ces options, une est particulièrement intéressante puisqu'il s'agit de définir les régions de raffinement, qui permettent d'obtenir différents niveaux de raffinements du maillage. Il existe plusieurs manières de définir ces zones. Nous les avons définies par rapport à leur distance de la surface de l'objet. La syntaxe est la suivante :

mode distance ;

levels ((distance1 niveau1)(distance2 niveau2)(distance3 niveau3)...);

On définit ainsi les différentes zones de raffinement.

Les autres paramètres de raffinement contiennent divers paramètres comme par exemple le nombre de cellules pour passer d'un niveau de raffinement à un autre, le nombre de cellules maximum etc...

La seconde partie appelée snapControls contrôle la découpe du maillage autour de la géométrie. Elle contient des paramètres de type tolerance où nombre d'itérations maximum.

Enfin, la dernière partie concerne l'ajout de couche de prismes le long de la surface de l'objet. Elle contient de nombreux paramètres sur la qualité des cellules, l'épaisseur des mailles, le nombre de cellules de la couche de prismes etc...

Globalement, seule les paramètres de la première partie ont été modifié pour parvenir au résultat final. Voici par exemple un des maillages que nous avons pu obtenir avec snappyHexMesh :

On remarque bien les différents niveaux de raffinements autour de l'objet, définis par leur distance à ce dernier.