Aller au contenu

code_saturne

Un article de Wikipédia, l'encyclopédie libre.

code_saturne

Description de l'image Logo code saturne.png.
Informations
Développé par EDF
Première version
Dernière version 9.0[1] ()
Version avancée 9.0.1[1] ()
Dépôt « code_saturne sur GitHub »
État du projet En développement actif
Écrit en C++, C, Fortran
Interface QtVoir et modifier les données sur Wikidata
Environnement GNU/Linux, Unix, macOS
Langues Anglais
Type Mécanique des fluides numérique
Politique de distribution Gratuit
Licence GNU GPL
Site web code-saturne.org

code_saturne est un logiciel libre de mécanique des fluides numérique (CFD) développé par la division recherche et développement d'EDF. Publié sous licence GNU GPL depuis 2007, il repose sur une approche volumes finis co-localisés et permet de simuler des écoulements incompressibles ou dilatables, avec ou sans turbulence et transfert de chaleur[1].

Le logiciel est intégré à la plate-forme SALOME via la distribution salome_cfd[2] et peut être couplé au code de thermique solide SYRTHES ainsi qu'au code de mécanique des structures code_aster, tous deux développés par EDF sous licence libre.

Son extension diphasique, Neptune_CFD, co-développée par EDF et le CEA, permet de traiter les écoulements à deux phases (mélanges eau-vapeur, eau-air)[3].

Le développement de code_saturne débute en 1997 au sein de la division R&D d'EDF, initialement comme outil interne destiné aux études de sûreté nucléaire et de thermohydraulique des centrales nucléaires[3].

En , EDF publie le code sous licence GNU GPL, adoptant un modèle de développement ouvert[4]. Cette ouverture favorise l'adoption du logiciel par des partenaires industriels et académiques en France et à l'international.

Le logiciel a depuis été retenu comme application de référence dans le cadre du projet européen PRACE (Partnership for Advanced Computing in Europe) pour l'évaluation des performances de supercalculateurs[3].

Fonctionnalités

[modifier | modifier le code]

Méthode numérique

[modifier | modifier le code]

code_saturne résout les équations de Navier-Stokes par une méthode de volumes finis co-localisés. Il accepte des maillages de tout type — structurés, non structurés, hybrides, conformes ou non conformes — et des éléments géométriques variés : tétraèdres, hexaèdres, prismes, pyramides ou polyèdres quelconques[1].

Les écoulements simulés peuvent être stationnaires ou instationnaires, laminaires ou turbulents, isothermes ou non, incompressibles ou compressibles[3].

Modèles de turbulence

[modifier | modifier le code]

Le logiciel dispose de nombreux modèles de turbulence couvrant les approches :

  • RANS (Reynolds-Averaged Navier-Stokes)
  • LES (Large Eddy Simulation)
  • hybrides RANS/LES (DES, SAS).

Modules physiques spécifiques

[modifier | modifier le code]

En complément du solveur généraliste, code_saturne intègre des modules dédiés à des physiques particulières[1] :

Parallélisation et couplage

[modifier | modifier le code]

Le code est parallélisé à l'aide de la bibliothèque MPI, ce qui lui permet de fonctionner sur des architectures de calcul haute performance[3]. Il peut être couplé au code de thermique solide SYRTHES et au code de mécanique des structures code_aster, notamment via la plate-forme SALOME.

Interopérabilité

[modifier | modifier le code]

code_saturne est compatible avec différents types de maillages (éléments polyédriques quelconques, non structurés), avec gestion de recollements non conformes. En revanche, il ne dispose pas de mailleur ni de module de visualisation intégré, mais il est compatible avec de nombreux outils et formats standards[5].

Formats de maillages reconnus :

Format Origine
MED SALOME (EDF/CEA)
CGNS Standard CFD
Gmsh Logiciel libre
I-deas Universal Siemens
GAMBIT Neutral ANSYS
EnSight 6 / Gold CEI / Ensight
SIMAIL (NOPO) INRIA/Simulog
STAR-CCM+ Siemens

Formats de sortie (post-traitement) :

Domaines d'application et utilisateurs

[modifier | modifier le code]

code_saturne est utilisé dans un cadre à la fois industriel et académique, en France et à l'international. Environ 500 ingénieurs et chercheurs l'emploient au sein d'EDF[3].

Énergie et sûreté nucléaire

[modifier | modifier le code]

Initialement conçu pour les études de sûreté des installations nucléaires, le logiciel est utilisé pour l'analyse des écoulements dans les circuits primaires, le refroidissement, les transferts thermiques couplés fluide-structure et l'étude des générateurs de vapeur. Il est également employé pour la modélisation de fermes éoliennes, notamment l'étude des interactions entre turbines et l'optimisation de leur implantation[3].

Environnement et atmosphère

[modifier | modifier le code]

Le logiciel est employé pour la modélisation des écoulements atmosphériques, la dispersion de polluants, la qualité de l'air et les interactions entre le vent et les structures[3].

Hydrodynamique et industrie

[modifier | modifier le code]

code_saturne a été utilisé par des industriels pour des applications d'hydrodynamique, notamment dans le domaine de la construction navale[6].

Recherche et enseignement

[modifier | modifier le code]

Le logiciel est employé dans des universités et des organismes de recherche pour le développement et la validation de modèles numériques, ainsi que pour l'enseignement de la mécanique des fluides numérique.

Développement et communauté

[modifier | modifier le code]

Le développement est piloté par la division R&D d'EDF. Le code source est hébergé sur GitHub[7]. Les versions sont publiées selon des cycles réguliers.

Une communauté d'utilisateurs, regroupant des ingénieurs et des chercheurs du monde industriel et académique, contribue au projet par le développement de modèles physiques, d'outils associés ou de cas de validation. Un forum officiel[8] et une documentation technique (guides utilisateurs, manuels de référence, exemples) sont accessibles sur le site du projet.

Publications

[modifier | modifier le code]

Les fondements numériques et la validation de code_saturne sont décrits dans plusieurs publications scientifiques :

  • F. Archambeau, N. Méchitoua et M. Sakiz, « Code_saturne: A finite volume code for the computation of turbulent incompressible flows - Industrial applications », International Journal on Finite Volumes, vol. 1, no 1,‎ (lire en ligne)
  • Y. Fournier, J. Bonelle, C. Moulinec, Z. Shang, A.G. Sunderland et J.C. Uribe, « Optimizing Code_Saturne computations on Petascale systems », Computers & Fluids, vol. 45, no 1,‎ , p. 103–108 (DOI 10.1016/j.compfluid.2011.01.028)

Disponibilité

[modifier | modifier le code]

code_saturne est principalement destiné aux systèmes de type Unix. Il fonctionne sous GNU/Linux et, plus généralement, sous les systèmes Unix.

Le logiciel est distribué sous forme de code source, téléchargeable depuis le site officiel « Téléchargement », sur code-saturne.org (consulté le ). Des paquets précompilés sont également fournis pour certaines distributions GNU/Linux, notamment Debian et Ubuntu.

Des images de conteneurs compatibles avec Docker et Singularity sont proposées afin de faciliter le déploiement sur des stations de travail et des environnements de calcul haute performance. Ces binaires et images de conteneurs sont disponibles à la fois sur le site officiel et via la plate-forme Open Simulation Center« Téléchargement de code_saturne », sur Open Simulation Center (consulté le ).

Sous Windows, Code_Saturne n’est pas disponible nativement, mais peut être utilisé à travers le Windows Subsystem for Linux.

Logiciels comparables

[modifier | modifier le code]
Logiciel Licence
OpenFOAM GPL
SU2 GPL
ANSYS Fluent Propriétaire
ANSYS CFX Propriétaire
STAR-CCM+ Propriétaire

Notes et références

[modifier | modifier le code]
  1. a b c d et e « Home | code_saturne », sur code-saturne.org (consulté le )
  2. « salome_cfd », sur salome-platform.org (consulté le )
  3. a b c d e f g et h « Code_Saturne », sur edf.fr (consulté le )
  4. Sytoka Modon, « EDF libère son Code_Saturne sous licence GPL », sur LinuxFr, (consulté le )
  5. « code_saturne User Guide », sur code-saturne.org (consulté le )
  6. « DCNS : la simulation nous fait gagner en Time to Market », sur 01Net, (consulté le )
  7. « code-saturne/code_saturne », sur GitHub (consulté le )
  8. « Forum code_saturne », sur code-saturne.org (consulté le )

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]