Description du fichier blockMeshDict

Création du maillage

 

1. Description du fichier blockMeshDict

Dans tous les répertoires de solveur OpenFoam (comme interFoam, icoFoam, etc), vous pouvez trouver dans le répertoire /constant/polyMesh un fichier nommé blockMeshDict. Ce fichier va permettre de créer le maillage voulu.

 

Prenons l'exemple d'une cavité (/tutorials/incompressible/icoFoam/cavity). Le fichier de maillage est le suivant:

 

 

  • convertToMeters: Lorsqu'il est égal à 1, toutes les coordonnées sont exprimées en mètre.
  • vertices: Ces vecteurs représentent les coordonnées des points (x y z) qui vont constituer la base de notre maillage (dans notre cas il s'agit d'un cube). Chaque vecteur est associé dans l'ordre à un numéro (ceci est important pour créer le maillage): (0 0 0) porte le numéro 0, (1 0 0) porte le numéro 1, (1 1 0) porte le numéro 2, etc.
  • blocks: Ceci permet de définir la zone de maillage. hex définit un cube dont les sommets sont les points 0, 1, 2, 3, 4, 5, 6 et 7 (à noter qu'il existe d'autres fonctions que des cubes comme wedge, prism, pyr, etc). (20 20 1) définit le nombre de cellules suivant les directions (x y z). La fonction simpleGrading définit les ratios d'expansion du maillage suivant les différentes directions, suivant le schéma suivant:

  • edges: Cette fonction permet de choisir quelle type de ligne va lier nos points (droite, courbée, etc). En laissant le champ vide, le type de ligne par défaut sera une droite.
  • patches: Cette fonction permet de définir les conditions aux limites appliquées aux faces. Les patches sont définis par la manière suivante: "type nom (numérotation face)". Par exemple le patch wall movingWall (3 7 6 2) défini la face de derrière du cube comme une condition aux limites de type mur et qui porte le nom "movingWall". Il existe bien d'autres types de conditions aux limites: symmetryPlane (condition de symétrie), patch (pour définir une entrée ou une sortie par exemple), etc.
  • mergePatchPairs: Il s'agit d'une fonction de maillage plus avancée que nous n'utiliserons pas par la suite. Elle permet notamment de fusionner plusieurs blocks.

 

Pour créer le maillage, il suffit ensuite de lancer la commande blockMesh dans le répertoire de travail où sont contenus les dossiers /0, /constant et /system (important sinon ça ne marche pas).

 


C'est ce fichier blockMeshDict qui va nous permettre de créer un maillage utile à à notre cas d'étude: Maillage du problème