Aller au contenu

OpenFOAM

Un article de Wikipédia, l'encyclopédie libre.
OpenFOAM
Description de l'image OpenFOAM logo.svg.
Description de cette image, également commentée ci-après
OpenFOAM ParaView
Informations
Développé par OpenCFD Ltd.
Première version Voir et modifier les données sur Wikidata
Dernière version 12 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/OpenFOAM/OpenFOAM-dev et develop.openfoam.com/Development/openfoamVoir et modifier les données sur Wikidata
Écrit en C Voir et modifier les données sur Wikidata
Système d'exploitation Linux et POSIXVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Formats lus OpenFOAM Mesh file (d)Voir et modifier les données sur Wikidata
Formats écrits OpenFOAM Mesh file (d)Voir et modifier les données sur Wikidata
Type Bibliothèque C et boite à outils de mécanique des milieux continus
Licence Licence publique générale GNUVoir et modifier les données sur Wikidata
Site web openfoam.orgVoir et modifier les données sur Wikidata

OpenFOAM (Open Field Operation and Manipulation) est une boite à outils de simulation multi-physiques principalement axée sur la résolution des équations de la mécanique des fluides. Il est distribué depuis 2004 sous licence libre et open source GNU GPL par la société britannique OpenCFD Ltd (acquise par SGI le [2], puis par ESI Group le [3]). Son développement, en C , a été amorcé par l’Imperial College London qui souhaitait un code de calcul basé sur la méthode des volumes finis et bénéficiant des dernières innovations en termes de langage informatique.

Il est principalement constitué d'une bibliothèque logicielle en langage C libre[4], et de différents outils, sous forme de bibliothèques et applications, permettant d'effectuer des résolutions[5].

Il est livré avec de nombreux solveurs couvrant une large gamme de domaines tels que la combustion, les écoulements compressibles, incompressibles, multiphasiques, avec réactions chimiques, les transferts thermiques... Différents modèles de turbulence (RANS, LES...) sont également présents.

OpenFOAM est distribué avec ParaView, un logiciel de post-traitement open-source. Pour les utilisateurs préférant utiliser leur outil de visualisation, il existe des modules d’export pour Fluent, EnSight, Fieldview.

Le code OpenFOAM vu comme une bibliothèque C prend tout son intérêt lorsqu’il s’agit d’utiliser de nouveaux modèles. En effet, contrairement à la majorité des codes scientifiques écrits de façon séquentielle (souvent en Fortran), OpenFOAM profite de la puissance des langages orientés objet. Cette structure sous forme de classes permet de se rapprocher de l’écriture mathématique en termes d’opérateur divergence, rotationnel, gradient, laplacien, dérivée temporelle… Aucune connaissance approfondie du C n'est nécessaire pour écrire son modèle dans OpenFOAM. Ainsi, l’équation de transport d’un champ de température T

se programme simplement dans OpenFOAM par :

 solve
 (
   fvm::ddt(T)
   fvm::div(phi,T)
  ==
   fvm::laplacian(D,T)
 );

Alors que la discrétisation des différents opérateurs mathématiques occupe une place prépondérante dans la création de codes séquentiels, l’utilisateur d’OpenFOAM ne s’en soucie pas lors de l’écriture de son programme et peut ainsi se concentrer entièrement sur la représentation de son modèle physique. Les différentes méthodes de discrétisation sont en fait déjà codées dans les classes de chaque opérateur. Le choix s’effectue donc a posteriori lors du lancement de la préparation d’un calcul dans les fichiers utilisateurs. Grâce à la puissance des langages de haut niveau, l’utilisateur peut donc tester différentes discrétisations sans passer des heures à les programmer. S'il désire une discrétisation qui n’est pas pris en compte dans le code, rien ne l'empêche de l’ajouter à la classe de l’opérateur correspondant, elle sera alors valable pour l’ensemble de ses codes OpenFOAM.

Le code peut être téléchargé gratuitement depuis le site officiel.

La communauté francophone des utilisateurs d'OpenFOAM est structurée autour de l'association FOAM-U[6].

Autres logiciels de mécanique des fluides numérique

[modifier | modifier le code]

Logiciels libres

[modifier | modifier le code]

Logiciels propriétaires

[modifier | modifier le code]

Notes et références

[modifier | modifier le code]
  1. « Release 12 », (consulté le )
  2. SGI rachète OpenCFD
  3. ESI Group rachète OpenCFD
  4. (en) Chapter 1 Introduction
  5. (en) Chapter 3 Applications and libraries
  6. « Foam U | OpenFoam en France ! », sur Foam U (consulté le )

Articles connexes

[modifier | modifier le code]

Autres catégories (en)

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]