Logiciels CFD privilégiés chez NEMOSFLOW : lesquels et pourquoi.
Comme expliqué dans cet article, mon métier consiste à modéliser et étudier numériquement les procédés liés à la mécanique des fluides. Pour cela, un certain nombre d’outils sont indispensables :
- Tout d’abord pour construire la géométrie et le maillage. Cette phase, dite de pre-processing, nécessite de faire appel à un logiciel de CAO (Conception Assistée par Ordinateur).
- Ensuite, afin de réaliser la ou les simulations à proprement parler. C’est durant cette phase, dite de processing, que l’on fait appel à un logiciel de CFD (Computational Fluid Dynamics) à proprement parler.
- Enfin, pour analyser les résultats obtenus, via des courbes, des coupes 2D, des champs 3D… Ce post-processing est généralement réalisé à l’aide d’un logiciel de visualisation, éventuellement couplé à un tableur.
Concernant chacune de ces catégories, de multiples solutions existent. Elles peuvent toutefois être séparées en deux grands groupes : les logiciels commerciaux, et les logiciels Open Source. Avec NEMOSFLOW, j’ai fait le choix de me spécialiser principalement dans l’utilisation des logiciels Open Source pour traiter mes études. Je profite de cet article pour justifier ce choix, et vous décrire succinctement ceux dont je me sers le plus actuellement.
Le choix de l'Open Source
Par définition, un logiciel Open Source est un logiciel comportant un code source que n’importe qui peut inspecter, utiliser, modifier et améliorer. Cela apporte de nombreux avantages, dont je suis devenu particulièrement adepte. En voici une liste non exhaustive.
Transparence
L’accès au code source permet de connaître la moindre ligne de programmation, et de comprendre précisément le fonctionnement du logiciel en question. Dans le monde de la CFD, ce peut être particulièrement utile. Par exemple, lorsque l’on cherche à voir la manière dont un modèle a été programmé, ou à analyser des résultats posant problème.
Flexibilité et optimisation
Bien souvent, les logiciels Open Source sont nativement conçus pour pouvoir être modifiés facilement par les utilisateurs. Ainsi, en partant du code source de départ, il est possible d’y ajouter de quoi répondre à ses propres besoins. En CFD, cela peut par exemple être l’ajout d’un nouveau modèle ou d’une nouvelle loi physique, qui permettra de traiter correctement le procédé que l’on souhaite modéliser.
Sécurité et stabilité
Les logiciels Open Source connus possèdent un très grand nombre d’utilisateurs, dont de nombreux experts. La transparence du code source et les nombreux retours permettent ainsi d’assurer une grande qualité au logiciel en question, et ce de manière continue. Par ailleurs, cela garantit également sa pérennité : un logiciel Open Source ne peut pas disparaître du jour au lendemain suite au changement de politique d’une entreprise.
Limitation des frais
Évidemment, et en toute honnêteté, l’accès libre aux logiciels Open Source représente un atout incontestable dans le cadre d’une activité d’indépendant. Cela permet en effet de s’affranchir des coûts pouvant être substantiels dans le cadre de l’utilisation de licences commerciales.
Aspect communautaire
Enfin, le monde Open Source est basé sur le partage, l’échange et la transmission du savoir. Chaque utilisateur peut apporter sa pierre à l’édifice, et œuvrer pour le bien commun. Ce sont des valeurs que j’affectionne, et que je m’efforce de transmettre au travers de mon activité.
Les principaux logiciels utilisés
Bien que cette liste ne soit pas forcément exhaustive, elle représente toutefois l’essentiel de mes outils actuels. La description que j’en fais est par ailleurs très synthétique, aussi n’hésitez pas à aller faire un tour sur les sites mentionnés.
OpenFOAM
OpenFoam est une plateforme multi-physiques essentiellement axée sur la CFD. Basée sur la méthode des volumes finis et principalement développée en C++, elle est constituée de nombreux solveurs, chacun étant dédié à un type d’écoulement donné. L’un de ses points forts réside dans la facilité d’implantation de nouveaux modèles, grâce à la syntaxe très intuitive utilisée dans ses bibliothèques C++.
Ce code est hautement parallélisable. Il est par ailleurs fourni avec des outils de pré-traitement (maillage, etc) et de post-traitement (paraview).
A noter qu’il existe plusieurs branches d’OpenFOAM, dont les deux plus importantes sont respectivement développées par ESI et OpenFOAM foundation.
Pour plus de renseignements : https://www.openfoam.com/ et https://openfoam.org/
Code Saturne
Code_Saturne est un solveur de mécanique des fluides développé par la R&D d’EDF. Il est basé sur une approche de type volumes finis, et accepte la plupart des maillages que l’on rencontre aujourd’hui. Ce solveur est conçu pour les fluides incompressibles ou faiblement compressibles, avec ou sans turbulence, avec ou sans transfert thermique. Par ailleurs, de nombreux modules ont été développés, permettant de traiter des physiques particulières (écoulements atmosphériques, combustion, turbomachines, MHD, écoulement polyphasiques, etc).
Enfin, ce code est hautement parallélisable et peut être couplé avec d’autres logiciels.
Pour plus de renseignements : https://www.code-saturne.org/cms/web/
Syrthes
Syrthes est un logiciel basé sur la méthode des éléments finis, permettant de traiter les transferts thermiques entre solides : conduction et rayonnement en milieu transparent. Il intègre également des modèles d’évaporation et de condensation. Hautement parallélisable, l’une de ses grandes forces réside dans la possibilité d’être couplé avec Code_Saturne. Cela permet notamment de traiter des problématiques de type transfert thermique conjugué.
Pour plus de renseignements : https://www.edf.fr/groupe-edf/inventer-l-avenir-de-l-energie/r-d-un-savoir-faire-mondial/nos-offres/codes-de-calcul/syrthes
Salome
Salome est une plateforme de simulation développée par EDF, le CEA et d’autres partenaires. Elle permet notamment de construire géométries et maillages, et contient également des outils de post-traitement. L’une de ses forces réside dans la possibilité d’utiliser des scripts python, ce qui permet d’automatiser la génération de cas et de rendre aisé tout type de paramétrisation.
Pour plus de renseignements : https://www.salome-platform.org/?lang=fr
Gmsh
Gmsh est un logiciel basé sur les éléments finis qui permet de créer, entre autres choses, géométries et maillages. L’une de ses forces réside dans la possibilité d’utiliser des scripts (syntaxe proche du C), ce qui permet d’automatiser la génération de cas et de rendre aisé tout type de paramétrisation.
Pour plus de renseignements : https://gmsh.info/
Paraview
Paraview est un logiciel de visualisation de données développé par Kitware, basé sur la bibliothèque VTK. C’est un outil très puissant de post-traitement, dont le principe est d’appliquer différents filtres aux données chargées. Cela permet d’arriver à la visualisation souhaitée, aussi bien en 2 ou 3D que sous forme de courbes. Il permet également de faire de l’automatisation grâce à l’utilisation de scripts python.
Pour plus de renseignements : https://www.paraview.org/
Un choix personnel
Le choix de l’Open Source est conforme à mes valeurs et cohérent avec ce que je souhaite transmettre au travers de mon activité. Mais je tiens toutefois à préciser qu’il s’agit avant tout d’un choix personnel, loin de tout jugement envers les logiciels internes ou commerciaux. En toute honnêteté, il m’arrive d’ailleurs régulièrement d’avoir à les utiliser !
Si vous souhaitez en discuter, n’hésitez pas à me contacter.