Upload
cypiii
View
1.372
Download
2
Embed Size (px)
DESCRIPTION
Cours n°1 d'OpenFOAM à l'N7
Citation preview
Projets numériques
-
Présentation générale de
la plateforme
OpenFOAM® -
Cyprien Soulaine ([email protected])
Toulouse
19 mars 2012
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
2
Présentation de la plateforme OpenFOAM®
La boîte à outil OpenFOAM
Qu’est ce qu’OpenFOAM ?
Exemples d’utilisation
Comment créer une géométrie simple
Diffusion de la chaleur dans une pièce métallique
Où trouvez de l’aide et de la documentation ?
OpenFOAM : programmation des équations
Conclusions
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
3
Présentation de la plateforme OpenFOAM®
La boîte à outil OpenFOAM
Qu’est ce qu’OpenFOAM ?
Exemples d’utilisation
Comment créer une géométrie simple
Diffusion de la chaleur dans une pièce métallique
Où trouvez de l’aide et de la documentation ?
OpenFOAM : programmation des équations
Conclusions
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
4
Qu’est ce qu’OpenFOAM® ?
1989 : Début du développement à l’Imperial College London
1996 : Première version de FOAM
2004 : OpenFOAM Distribué sous license GPL par OpenCFD Ltd.
2011 : version 2.1.0 ; rachat de OpenCFD par SGI
= Open Field Operation and Manipulation
- Résout les équations aux dérivées partielles par la méthode des volumes finis
- Code multi-physique principalement orienté vers la mécanique des fluides
- Prise en compte par défaut des géométries 3D
- Code open-source développé en C++ (programmation orientée objets)
- Téléchargeable gratuitement sur www.openfoam.com
- Conçu comme une boite à outils « facilement » programmable
- Modules de calcul-parallèle
- Installation multi-platforme (préférence Linux)
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
5
La boîte à outils OpenFOAM®
OpenFOAM® = plus de 200 programmes (pas seulement 1 exécutable)
post-traitement :
- livré avec ParaView (et l’utilitaire paraFoam)
- exportation vers d’autres plateformes de post-traitement (Fluent, Fieldview, EnSight…
- Utilitaire « sample » pour l’échantillonnage 1D ou 2D (export vers gnuplot, Grace/xmgr et jPlot)
Solvers : - écoulement incompressible / compressible
- écoulement multiphasique
- combustion, électromagnétique, structure
- transfert de chaleur
- plusieurs approches de turbulence (DNS, RANS, LES)
- etc…
Préprocesseurs :
- Mailleur (blockMesh, snappyHexMesh…)
- Convertisseur de maillage (Ansys, Salomé, ideas, CFX, Star-CD, Gambit, Gmsh…)
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
6
OpenFOAM® : programmation des équations
Le champ considéré peut-être scalaire, vectoriel ou tensoriel
La discrétisation des opérateurs est précisée lors du lancement de la
simulation
Ecriture des équations très proche de la formulation mathématique
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
7
Où trouver de l’aide et de la documentation ?
2 guides officiels par OpenCFD (« user guide » et « programmer guide » )
(Documentation souvent insuffisante)
Plusieurs thèses fondatrices (Hrvoje Jasak 96, Henrik Rusche 2001, …)
Un tutorial par solver. Il a souvent valeur de cas-test (Validation non-disponible
publiquement)
Accès direct au code-source (attention, le code n’est pas annoté !!)
En payant un support auprès d’OpenCFD Ltd, Wikki Ltd,….
Communauté active !
- Forum d’entraide (www.cfd-online.com/Forums/openfoam/)
- Un wiki (openfoamwiki.net)
- un Workshop annuel (6ème édition en 2011) (www.openfoamworkshop.org)
- Projet de travail collaboratif dirigé par 2 des développeurs orignaux
(www.extend-project.de)
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
8
Présentation de la plateforme OpenFOAM®
La boîte à outil OpenFOAM
Qu’est ce qu’OpenFOAM ?
Exemples d’utilisation
Comment créer une géométrie simple
Diffusion de la chaleur dans une pièce métallique
Où trouvez de l’aide et de la documentation ?
OpenFOAM : programmation des équations
Conclusions
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
9
Structure générale d’un cas OpenFOAM
$ cd ~
$ mkdir -p $HOME/OpenFOAM/${LOGNAME}-1.7.1/run
Paramétrage du calcul (choix des solvers, des schémas
de discrétisation, du pas de temps, des sorties
fichiers…)
Contient les informations relatives au maillage
Toutes valeurs constantes pendant le calcul (Propriétés
du transport, des modèles de turbulence, de
thermodynamique…etc)
Un répertoire par pas de temps. Chaque répertoire
contient autant de fichier que de champs calculés
(T,U,p, Yi, k, Omega…)
L’initialisation du calcul se fait via un répertoire « 0 »
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
10
Exemple : Diffusion de la chaleur (1/4)
Géométrie et maillage générés
avec Ansys
Résolution de l’équation de la
chaleur
Conversion avec l’utilitaire
ansysToFoam
Exemple issu des tutoriaux livrés
avec OpenFOAM
573K
273K
Tini = 273K
Solver : laplacianFoam
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
11
Exemple : Diffusion de la chaleur (2/4)
$ run ¶
$ cp –r $FOAM_TUTORIALS/basic/laplacianFoam/flange Exo1 ¶
$ cd Exo1 ¶
$ ls ¶
$ gedit 0/T ¶
Conditions initiales et conditions aux limites
pour le champ T
Maillage : faces, points… défini plus loin
avec ansysToFoam
Valeur du coefficient de diffusion (m2/s)
Paramètres du calcul (pas de temps, sorties
fichiers…)
Schémas de discrétisation des différents
opérateurs (div, laplacian, ddt, grad…)
Paramètres et choix des solvers linéaires
Scripts pour lancer automatiquement le tuto et
nettoyer le répertoire
Maillage créé avec Ansys
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
12
Exemple : Diffusion de la chaleur (3/4)
Définition des conditions initiales
et des conditions à la limite
Dimensions du champ T
[kg m s K kgmol A cd]
Température initiale uniforme (T=273K)
à l’intérieur du solide
Valeur fixe (T=273K)
Flux nul
Valeur fixe (T=573K)
Condition à aux limites à t=0s
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
13
Exemple : Diffusion de la chaleur (4/4)
Conversion du maillage :
$ ansysToFoam flange.ans –scale 0.001 ¶
Visualisation du maillage dans paraView
$ paraFoam ¶
Lancement de la simulation
$ laplacianFoam ¶
Visualisation du résultat dans paraView
$ paraFoam ¶
Création de fichiers dans le
répertoire polyMesh
Création d’un répertoire / pas de
temps
1 - Choix des
champs à visualiser
2 - « apply »
3- Choisir
« surface »
4 - Choix du
champ à
visualiser
5 - Pour lire
l’ensemble des
pas de temps
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
14
Création de la géométrie et du maillage avec l’utilitaire BlockMesh
Cas de la cavité entrainée (tutorial détaillé dans le User Guide)
fixedWalls
fixedW
alls
fixe
dW
alls
Ux=1m/s
movingWall
x
y
Créer une géométrie avec blockMesh (1/2)
Géométrie 2D
0,1m
0,1
m
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
15
Créer une géométrie avec blockMesh (2/2)
Géométrie et maillage définis dans le fichier blockMeshDict
$ gedit constant/polyMesh/blockMeshDict ¶
BlockMesh = utilitaire de prétraitement pour les géométries simples
Définition de la géométrie en 3D car OpenFOAM n’accepte
que des géométrie 3D
4 5
6 7
3 2
1
0 x
y z
Attention l’ordre de numérotation des points est important !!
Définition des points
Définition du bloc hexa
Définition du maillage (Maillage
homogène, 1 seule maille dans
la direction z pour calcul 2D)
Définition des bords de la
géométrie (« patches »)
pour application des
conditions aux limites.
Les faces orthogonales a
l’axe Oz sont « vides »
pour préciser que le
calcul est 2D
On précise que le calcul est 2D
Les patches peuvent être de plusieurs types : -patch (type générique)
-wall (pour les conditions de mur, utile pour la turbulence)
-cyclic (pour les conditions périodiques)
-symmetryPlane (pour les plans de symétrie)
-empty (pour revenir à des géométries 2D ou 1D)
-wedge (pour les géométries axi-symmétrique)
-processor (pour le calcul parallèle)
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
16
Conclusions : OpenFOAM®
• Plateforme CFD libre (donc gratuite, avantage non négligeable!!)
• Accès au code source
• Communauté grandissante (congrès, forum, université d’été…)
• Facilité d’implémentation de nouveaux modèles physiques
• Nombreux modèles « clé-en-main »
• Compatibilité avec de nombreux pré/post processeurs
•Peu de documentation
•Des bases en C++ s’avère nécessaire pour une utilisation « poussée »
•Temps d’apprentissage assez long
•Pas d’interface graphique
Projets numériques – N7 2ème année
Pré
se
nta
tio
n g
én
éra
le d
’ Op
en
FO
AM
®
17