# Code saturne

code_saturne est un logiciel libre de simulation informatique en mécanique des fluides. Développé depuis 1997 par la division de recherche et développement d'EDF, il a été placé sous licence publique générale GNU en mars 2007.
Adoptant une approche volumes finis co-localisés qui accepte des maillages de tout type (structuré, structuré par bloc, non structuré, hybride, conforme, non conforme...) et contenant tout type d'élément (tétraèdre, hexaèdre, pyramide, polyèdre quelconque...), code_saturne permet de modéliser les écoulements incompressibles ou dilatables, avec turbulence ou transfert de chaleur. Des modules dédiés sont disponibles pour des physiques particulières comme le transfert de chaleur par rayonnement, la combustion (gaz, charbon pulvérisé), la magnétohydrodynamique, les écoulements compressibles, les écoulements polyphasiques (approche Euler/Lagrange avec couplage inverse) et les écoulements atmosphériques.
En plus de capacités internes pour le couplage thermique fluide-structure, code_saturne peut être couplé au code de thermique solide SYRTHES. Il peut aussi être associé au code de mécanique des structures code_aster, notamment à travers la plate-forme Salome. Ces deux outils sont aussi développés par EDF et distribués sous licence GNU.

## Fonctionnalités

code_saturne est un logiciel généraliste de mécanique des fluides numérique (CFD). Il permet de modéliser les écoulements incompressibles ou dilatables, avec ou sans turbulence ou transfert de chaleur.
Des modules dédiés sont disponibles pour des physiques particulières :
* combustion gaz
* combustion de charbon pulvérisé
* transfert de chaleur par rayonnement semi-transparent
* écoulements fluide-particules par méthode Euler/Lagrange
* écoulements atmosphériques
* magnéto-hydrodynamique
* Interaction rotor/stator (en)

## Principaux utilisateurs du logiciel

* En interne chez EDF
** Utilisateurs en R&D et dans l'ingénierie,
** Études d'ingénierie standard ou pointue, principalement dans les domaines du nucléaire, des écoulements atmosphériques, et dans le passé du thermique à flamme,
** Structure de capitalisation de la R&D en mécanique des fluides à EDF ;
* En externe hors EDF
** Utilisation depuis 2000 chez des partenaires d'EDF, universitaires ou industriels,
** Utilisation chez DCNS pour des calculs d'hydrodynamique pour la conception de navires ; la DCNS conçoit et construit des navires armés, des systèmes de combat, des infrastructures portuaires,
** Mise en libre du code effective depuis mars 2007 sur code-saturne.org.

## Installation de code_saturne

Pour utiliser code_saturne, et afin de gagner du temps en s'épargnant la compilation complexe des bibliothèques nécessaires, il peut être intéressant d'utiliser une distribution Linux dédiée qui contient déjà un logiciel tout prêt à l'emploi. La distribution CAE Linux dont la dernière version est CAE Linux 2020. La distribution Linux Debian et ses dérivées, telles que Ubuntu proposent aussi des paquets pour code_saturne.
Une version pour Windows n'est plus maintenue, mais le code fonctionne bien sous le sous-système Linux pour Windows (WSL).

## Interopérabilité

code_saturne est compatible avec différents types de maillages (éléments polyédriques quelconques, non structurés), avec gestion de recollements non conformes. Par contre, il ne dispose pas de module de visualisation ou de mailleur intégré, mais est compatible avec la plupart des outils standards du monde libre et du commerce.
Formats de maillages reconnus (source):
* SIMAIL (NOPO) - (INRIA/Simulog)
* I-deas universal
* MED
* CGNS
* EnSight 6
* EnSight Gold
* GAMBIT neutral
* Gmsh
* STAR-CCM+ (en)
Formats de sortie en post-traitement
* EnSight Gold
* MED
* CGNS

## Logiciels équivalents

* ANSYS CFX (propriétaire)
* ANSYS Fluent (propriétaire)
* OpenFOAM (GPL)
* Star-CCM+ (en) (propriétaire)
* Gerris (GPL)