✅ 1️⃣ RÉSUMÉ DU COURS
Tutoriel OpenFOAM – Cavité entraînée (Lid Driven Cavity)
🔹 1. Problème physique
On étudie un écoulement incompressible 2D dans une cavité carrée fermée, dont la paroi
supérieure se déplace à vitesse constante.
Les équations gouvernantes sont les équations de Navier–Stokes incompressibles.
Les paramètres principaux sont :
• Hauteur de la cavité : ( H = 1 )
• Vitesse du couvercle : ( U = 1 , m/s )
• Viscosité cinématique (nu )
• Nombre de Reynolds :
[
Re = {UxH}/{nu}
]
Ici, on impose Re = 100, ce qui permet de calculer la viscosité.
🔹 2. Présentation d’OpenFOAM
OpenFOAM est un logiciel CFD open-source, basé sur la ligne de commande (pas
d’interface graphique).
Chaîne de calcul :
1. blockMesh → création de la géométrie et du maillage
2. icoFoam → solveur Navier-Stokes incompressible
3. paraFoam → visualisation
4. postProcess / sampling → post-traitement
🔹 3. Structure d’un cas OpenFOAM
Un cas OpenFOAM contient toujours :
• system/ : contrôle du calcul (temps, solveur, schémas)
• constant/ : propriétés physiques et maillage
• 0/ : conditions initiales et aux limites
🔹 4. Création de la géométrie et du maillage
• Utilisation de blockMesh
• Maillage structuré hexaédrique
• Simulation 2D faite avec un maillage 3D (1 cellule en z)
• Les faces avant et arrière sont de type empty
• Les parois sont définies comme wall
🔹 5. Paramètres du solveur
• controlDict : temps de calcul, pas de temps, écriture
• fvSchemes : schémas de discrétisation (temps et espace)
• fvSolution : solveurs linéaires et méthode PISO
Méthode utilisée :
• PISO pour le couplage vitesse–pression
🔹 6. Conditions initiales et aux limites
• Champ de vitesse U :
o Initialement nul dans le domaine
o Vitesse imposée sur la paroi mobile (fixedValue)
• Champ de pression p :
o Pression modifiée ( p/ρ )
o Conditions de type zeroGradient sur les murs
🔹 7. Exécution du calcul
Commande :
icoFoam | tee [Link]
Informations importantes :
• Résidus
• Nombre de Courant (CFL)
• Erreurs de continuité
🔹 8. Post-traitement
Deux méthodes :
• A posteriori :
o postProcess
o paraFoam
• Pendant le calcul :
o Fonction intégrée dans controlDict
Objectif :
• Extraire des profils de vitesse
• Comparer avec des résultats de référence
✅ 2️⃣ QUESTIONS DE COURS AVEC RÉPONSES
(TYPE CONTRÔLE)
❓ Question 1
Qu’est-ce que l’écoulement de la cavité entraînée ?
✅ Réponse :
C’est un écoulement incompressible dans une cavité fermée où la paroi supérieure se déplace
à vitesse constante, générant un mouvement du fluide à l’intérieur.
❓ Question 2
Quelles équations gouvernent cet écoulement ?
✅ Réponse :
Les équations de Navier–Stokes incompressibles, associées à l’équation de continuité.
❓ Question 3
Définir le nombre de Reynolds utilisé dans ce problème.
✅ Réponse :
[
Re = \frac{U H}{\nu}
]
Il compare les effets inertiels aux effets visqueux de l’écoulement.
❓ Question 4
Quel est le rôle de blockMesh ?
✅ Réponse :
blockMesh permet de définir la géométrie et de générer un maillage structuré à partir d’un
dictionnaire.
❓ Question 5
Pourquoi utilise-t-on un maillage 3D pour un cas 2D ?
✅ Réponse :
Parce qu’OpenFOAM fonctionne uniquement avec des maillages 3D ; la dimension inutile est
rendue inactive avec le type empty.
❓ Question 6
Citer la structure standard d’un cas OpenFOAM.
✅ Réponse :
• system
• constant
• 0
❓ Question 7
Quel est le rôle du fichier controlDict ?
✅ Réponse :
Il contrôle le déroulement du calcul : temps de simulation, pas de temps, fréquence d’écriture
et arrêt du calcul.
❓ Question 8
Quel solveur est utilisé pour ce cas et pourquoi ?
✅ Réponse :
Le solveur icoFoam, car il est adapté aux écoulements incompressibles, laminaires et
transitoires.
❓ Question 9
Expliquer la pression utilisée dans OpenFOAM pour les écoulements incompressibles.
✅ Réponse :
OpenFOAM utilise une pression modifiée ( p/ρ ), ce qui facilite la résolution numérique.
❓ Question 10
Qu’est-ce que le nombre de Courant (CFL) ?
✅ Réponse :
Il mesure la stabilité numérique du calcul et dépend du pas de temps, de la vitesse et de la
taille des cellules.
❓ Question 11
Quels sont les deux types de post-traitement possibles ?
✅ Réponse :
• A posteriori (postProcess, paraFoam)
• Pendant le calcul (functions dans controlDict)
❓ Question 12
Pourquoi surveiller les résidus lors du calcul ?
✅ Réponse :
Les résidus permettent de vérifier la convergence numérique de la solution.