Code_Saturne
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é
- combustion de fioul lourd
- transfert de chaleur par rayonnement semi-transparent
- écoulements fluide-particules par méthode Euler/Lagrange
- écoulements atmosphériques
- magnéto-hydrodynamique
- interaction rotor/stator
Structure du code
Code_Saturne est constitué de 3 modules :
- un préprocesseur, pour la lecture des maillages et le recollement éventuel
- un noyau pour la résolution effective des équations
- une interface graphique de mise en données
- BFT (Base Functions and Types) pour la gestion de la mémoire et des I/O
- FVM (Finite Volume Mesh) pour les fonctionnalités profondes de gestion de maillages, notamment liées au parallélisme (post-traitement, échange de données, localisation, ...)
- MEI (Mathematical Expression Interpreter) pour l'interprétation de fonctions mathématiques définies dans l'interface graphique
Pour plus de flexibilité, certaines fonctionnalités profondes sont externalisées sous forme de librairies :
Gestion des maillages
- Utilisable avec des maillages non structurés contenant tous types d'éléments
- Recollements de maillages, avec gestion automatique des non conformités
- Gestion des maillages mobiles par approche ALE
- Gestion de conditions aux limites de périodicité de translation et/ou de rotation
- Possibilités de post-traitement avancées : post-traitement de variables utilisateur, possibilité de réaliser des post-traitements sur des sous-maillages définis par l'utilisateur et potentiellement variables en temps, possibilité de découper les polyèdres quelconques pour le post-traitement si le logiciel utilisé ne les gère pas bien
Modélisation physique de base
- Modèles de turbulence standards : k-epsilon, k-epsilon à production linéaire, Rij-epsilon, SSG, k-omega SST, v2f (phi-model)
- Conditions aux limites de paroi lisse ou rugueuse
- Approche instationnaire LES (modèles de Smagorinsky et modèle dynamique) avec génération synthétique de turbulence en entrée
- Module interne d'interaction du fluide avec des structures mobiles indéformables
- Prise en compte de l'inertie thermique des parois par module 1D interne ou par couplage avec le code de thermique SYRTHES (licence GPL)
- Prise en compte du rayonnement semi-transparent par approches Discrete Ordinate Method ou approche P1
Module lagrangien
- Suivi lagrangien de particules avec prise en compte de la dispersion turbulente et de l'influence retour des particules sur le fluide
- Couplage thermique entre les particules et le fluide, échange de masse entre les particules et le fluide
- Interaction fine particule/paroi, déposition et remise en suspension, force de van der Waals, ...
Modules de combustion
- Modèles de flammes de prémélange et flammes de diffusion (Eddy Break-Up, Chimie 3 points, Libby-Williams)
- Modèle de combustion du charbon par approche homogène avec prise en compte de la polydispersion et de l'humidité du charbon
- Modèle de combustion du fioul lourd par approche homogène avec prise en compte de la polydispersion des gouttelettes
Module électrique
- Prise en compte de l'effet Joule et des forces de Laplace
- Résolution d'un potentiel complexe pour le traitement du triphasé
- Conditions aux limites complexes pour les transformateurs (effet d'offset)
Module atmosphérique
- Lecture automatique de fichier météo
- Loi de paroi rugueuse
- Température potentielle
Modélisation des tours aéroréfrigérantes
- Modélisation diphasique air/gouttes de la zone d'échange
- Modélisation des ventilateurs
Interaction rotor/stator
- Méthode _frozen rotor_
- Méthode instationnaire
Code_Saturne est portable sur les architectures de type UNIX/Linux et fonctionne sur machines parallèles à mémoire distribuée. Il est codé en FORTRAN, C et Python (environ 550 000 lignes). Les mises en données complexes sont gérées par des routines en FORTRAN.
Code_Saturne est compatible avec tous types de maillages (non structurés, éléments polyédriques quelconques), avec gestion de recollements non conformes. Il ne dispose pas de mailleur intégré ni de module de visualisation, mais est compatible avec la plupart des outils standards du commerce et du monde libre.
Formats de maillages reconnus
- NOPO/Simail (INRIA/Simulog)
- Universal I-deas
- GAMBIT neutral
- Star-CCM+
- EnSight Gold
- Gmsh
- Igg HEXA
- CGNS
- MED
Formats de sortie en post-traitement
- EnSight Gold
- MED
- CGNS
en interne EDF
- environ 100 utilisateurs en R&D et dans l'ingénierie
- études d'ingénierie standard ou pointue, principalement dans le domaine du nucléaire et du thermique à flamme
- structure de capitalisation de la R&D en mécanique des fluides à EDF
en externe EDF
- utilisation depuis 2000 chez des partenaires d'EDF, universitaires ou industriels
- mise en libre du code effective depuis mars 2007 sur http://www.code-saturne.org
Commentaires
Responsable thématique précédent
Cette fiche a d'abord été suivie par le responsable thématique Violaine Louvet. Laurent Pérochon l'a reprise en avril 2013.