Projets numériques            -Présentation générale de     la plateforme     OpenFOAM®          -    Cyprien Soulaine  (c...
Présentation de la plateforme OpenFOAM®Présentation générale d’ OpenFOAM®                                           Qu’est...
Présentation de la plateforme OpenFOAM®Présentation générale d’ OpenFOAM®                                           Qu’est...
Qu’est ce qu’OpenFOAM® ?Présentation générale d’ OpenFOAM®                                              = Open Field Opera...
La boîte à outils OpenFOAM®                                     OpenFOAM® = plus de 200 programmes (pas seulement 1 exécut...
OpenFOAM® : programmation des équationsPrésentation générale d’ OpenFOAM®                                          Le cham...
Où trouver de l’aide et de la documentation ?                                          2 guides officiels par OpenCFD (« u...
Présentation de la plateforme OpenFOAM®Présentation générale d’ OpenFOAM®                                           Qu’est...
Structure générale d’un cas OpenFOAM                                      $ cd ~                                      $ mk...
Exemple : Diffusion de la chaleur (1/4)                                      Tini = 273K                 Exemple issu des ...
Exemple : Diffusion de la chaleur (2/4)                                      $ run ¶                                      ...
Exemple : Diffusion de la chaleur (3/4)                                                                 Définition des con...
Exemple : Diffusion de la chaleur (4/4)                                           Conversion du maillage :                ...
Créer une géométrie avec blockMesh (1/2)                                                                          Ux=1m/s ...
Créer une géométrie avec blockMesh (2/2)                                      BlockMesh = utilitaire de prétraitement pour...
Conclusions : OpenFOAM®                                     •   Plateforme CFD libre (donc gratuite, avantage non négligea...
Présentation générale d’ OpenFOAM®                                     Projets numériques – N7 2ème année   17
Prochain SlideShare
Chargement dans…5
×

12 03 19_n7_openfoam_presentation_generale

1 877 vues

Publié le

Cours n°1 d'OpenFOAM à l'N7

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 877
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
54
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

12 03 19_n7_openfoam_presentation_generale

  1. 1. Projets numériques -Présentation générale de la plateforme OpenFOAM® - Cyprien Soulaine (cyprien.soulaine@imft.fr) Toulouse 19 mars 2012
  2. 2. Présentation de la plateforme OpenFOAM®Présentation générale d’ OpenFOAM® Qu’est ce qu’OpenFOAM ? La boîte à outil OpenFOAM OpenFOAM : programmation des équations Où trouvez de l’aide et de la documentation ? Exemples d’utilisation Diffusion de la chaleur dans une pièce métallique Comment créer une géométrie simple Conclusions Projets numériques – N7 2ème année 2
  3. 3. Présentation de la plateforme OpenFOAM®Présentation générale d’ OpenFOAM® Qu’est ce qu’OpenFOAM ? La boîte à outil OpenFOAM OpenFOAM : programmation des équations Où trouvez de l’aide et de la documentation ? Exemples d’utilisation Diffusion de la chaleur dans une pièce métallique Comment créer une géométrie simple Conclusions Projets numériques – N7 2ème année 3
  4. 4. Qu’est ce qu’OpenFOAM® ?Présentation générale d’ OpenFOAM® = 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) 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 Projets numériques – N7 2ème année 4
  5. 5. La boîte à outils OpenFOAM® OpenFOAM® = plus de 200 programmes (pas seulement 1 exécutable)Présentation générale d’ OpenFOAM® Préprocesseurs : - Mailleur (blockMesh, snappyHexMesh…) - Convertisseur de maillage (Ansys, Salomé, ideas, CFX, Star-CD, Gambit, Gmsh…) Solvers : - écoulement incompressible / compressible - écoulement multiphasique - combustion, électromagnétique, structure - transfert de chaleur - plusieurs approches de turbulence (DNS, RANS, LES) - etc… 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) Projets numériques – N7 2ème année 5
  6. 6. OpenFOAM® : programmation des équationsPrésentation générale d’ OpenFOAM® 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 6
  7. 7. Où trouver de l’aide et de la documentation ? 2 guides officiels par OpenCFD (« user guide » et « programmer guide » ) (Documentation souvent insuffisante)Présentation générale d’ OpenFOAM® 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 7
  8. 8. Présentation de la plateforme OpenFOAM®Présentation générale d’ OpenFOAM® Qu’est ce qu’OpenFOAM ? La boîte à outil OpenFOAM OpenFOAM : programmation des équations Où trouvez de l’aide et de la documentation ? Exemples d’utilisation Diffusion de la chaleur dans une pièce métallique Comment créer une géométrie simple Conclusions Projets numériques – N7 2ème année 8
  9. 9. Structure générale d’un cas OpenFOAM $ cd ~ $ mkdir -p $HOME/OpenFOAM/${LOGNAME}-1.7.1/runPrésentation générale d’ OpenFOAM® Paramétrage du calcul (choix des solvers, des schémas de discrétisation, du pas de temps, des sorties fichiers…) Toutes valeurs constantes pendant le calcul (Propriétés du transport, des modèles de turbulence, de thermodynamique…etc) Contient les informations relatives au maillage 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 9
  10. 10. Exemple : Diffusion de la chaleur (1/4) Tini = 273K Exemple issu des tutoriaux livrés avec OpenFOAMPrésentation générale d’ OpenFOAM® 273K Géométrie et maillage générés avec Ansys Conversion avec l’utilitaire ansysToFoam Résolution de l’équation de la chaleur Solver : laplacianFoam 573K Projets numériques – N7 2ème année 10
  11. 11. Exemple : Diffusion de la chaleur (2/4) $ run ¶ $ cp –r $FOAM_TUTORIALS/basic/laplacianFoam/flange Exo1 ¶ $ cd Exo1 ¶Présentation générale d’ OpenFOAM® $ 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 11
  12. 12. Exemple : Diffusion de la chaleur (3/4) Définition des conditions initiales et des conditions à la limitePrésentation générale d’ OpenFOAM® Dimensions du champ T [kg m s K kgmol A cd] Température initiale uniforme (T=273K) à l’intérieur du solide Condition à aux limites à t=0s Flux nul Valeur fixe (T=273K) Valeur fixe (T=573K) Projets numériques – N7 2ème année 12
  13. 13. Exemple : Diffusion de la chaleur (4/4) Conversion du maillage : Création de fichiers dans le $ ansysToFoam flange.ans –scale 0.001 ¶ répertoire polyMesh Visualisation du maillage dans paraViewPrésentation générale d’ OpenFOAM® $ paraFoam ¶ Lancement de la simulation Création d’un répertoire / pas de temps $ laplacianFoam ¶ Visualisation du résultat dans paraView $ paraFoam ¶ 4 - Choix du champ à 5 - Pour lire visualiser l’ensemble des pas de temps 3- Choisir « surface » 2 - « apply » 1 - Choix des champs à visualiser Projets numériques – N7 2ème année 13
  14. 14. Créer une géométrie avec blockMesh (1/2) Ux=1m/s movingWallPrésentation générale d’ OpenFOAM® fixedWalls fixedWalls 0,1m y fixedWalls x 0,1m Cas de la cavité entrainée (tutorial détaillé dans le User Guide) Géométrie 2D Création de la géométrie et du maillage avec l’utilitaire BlockMesh Projets numériques – N7 2ème année 14
  15. 15. Créer une géométrie avec blockMesh (2/2) BlockMesh = utilitaire de prétraitement pour les géométries simples Géométrie et maillage définis dans le fichier blockMeshDictPrésentation générale d’ OpenFOAM® Définition des points $ gedit constant/polyMesh/blockMeshDict ¶ Définition de la géométrie en 3D car OpenFOAM n’accepte que des géométrie 3D 3 2 Définition du bloc hexa 7 6 Définition du maillage (Maillage y z homogène, 1 seule maille dans 0 la direction z pour calcul 2D) x 1 4 5 Définition des bords de la Attention l’ordre de numérotation des points est important !! géométrie (« patches ») pour application des On précise que le calcul est 2D conditions aux limites. Les patches peuvent être de plusieurs types : Les faces orthogonales a -patch (type générique) l’axe Oz sont « vides » -wall (pour les conditions de mur, utile pour la turbulence) pour préciser que le -cyclic (pour les conditions périodiques) calcul est 2D -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 15
  16. 16. Conclusions : OpenFOAM® • Plateforme CFD libre (donc gratuite, avantage non négligeable!!) • Accès au code sourcePrésentation générale d’ OpenFOAM® • 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 16
  17. 17. Présentation générale d’ OpenFOAM® Projets numériques – N7 2ème année 17

×