# SALOME (logiciel)

SALOME est une plateforme de calcul scientifique libre (licence LGPL) multiplateforme pour la réalisation d'études industrielles de simulation physique.
Cette plateforme, développée en partenariat par EDF et le CEA, offre un environnement permettant de réaliser les différentes étapes d’une étude numérique : de la création du modèle de CAO et du maillage, au post-traitement et la visualisation des résultats, en passant par l’enchaînement de schémas de calcul. D'autres fonctionnalités telles que le traitement des incertitudes et l'assimilation de données sont aussi implémentées.
SALOME ne contient pas de solveurs physiques mais fournit l'environnement informatique nécessaire à leur intégration. SALOME sert de socle pour la création de plateformes disciplinaires comme salome_meca (contenant code_aster), salome_cfd (avec code_saturne) et SALOME-HYDRO (avec TELEMAC-MASCARET). De plus, l'interface graphique GUITHARE du code thermohydraulique CATHARE est également basée sur l'environnement SALOME$^,$. Il est aussi possible de créer des outils métiers pour des applications spécifiques (par exemple le génie civil, la dynamique rapide des tuyauteries ou les machines tournantes, qui sont toutes disponibles dans salome_meca) dont les interfaces graphiques spécialisées facilitent la réalisation d’une étude.
En plus de l’utilisation de SALOME via son interface graphique, la plupart des fonctionnalités sont accessibles via une API Python.
Concernant la distribution, SALOME est mis à disposition sur son site officiel.
Une Journée des Utilisateurs SALOME a lieu annuellement, avec des présentations sur les réalisations avec SALOME dans différents domaines d’application, que ce soit à EDF, au CEA ou ailleurs. Les présentations des éditions passées sont accessibles sur le site officiel.

## Historique et consortium

Le développement de SALOME a commencé dans les années 2000 par un partenariat RNTL (Réseau National des Technologies Logicielles), composé de 9 partenaires, dont EDF, CEA et Open Cascade. L'acronyme SALOME signifie « Simulation numérique par Architecture Logicielle en Open source et à Méthodologie d'Évolution ». En 2020, le partenariat se concentre sur les applications industrielles dans le domaine de l’énergie et est formé par EDF et le CEA.

## Le format MED

Le format MED (Modèle d’Echange des Données) est une spécialisation du standard HDF5. Il est copropriété d'EDF et du CEA. MED constitue le modèle d'échanges de données de SALOME. Il permet une représentation standardisée des maillages et des champs de résultats indépendamment de la physique simulée. La bibliothèque MED est développée en C et C++ et dispose d’API en C, Fortran et Python.

## Fonctionnalités disponibles

L'application offre de nombreuses fonctionnalités incluant un modeleur CAO paramétrique performant, un module de génération et d'édition de maillages incluant de nombreux algorithmes, un superviseur de calcul et de nombreux outils d'analyse et de traitement de données
La plupart des modules sont accessibles aussi bien via l’interface graphique qu’en script Python. Cependant, certains modules restent voués à une utilisation purement scriptée (via script Python)
Voici la liste des modules disponibles au niveau de l’interface graphique de la version SALOME 9.9 et qui sont également accessibles via script Python : :
* Shaper : modeleur CAO paramétrique et variationnel pour la création de modèles géométriques en simulation physique dans le domaine industriel, compatible avec les formats STEP, IGES et BREP ;
* GEOM : ce composant fournit des fonctionnalités polyvalentes pour la création, la visualisation et la modification de modèles CAO géométriques ;
* SMESH : générateur de maillages, compatible avec les formats UNV, MED, STL, CGNS, SAUV et GMF, qui contient notamment la suite MeshGems (développée par la société Distene, sous licence payante), les algorithmes NetGen, des fonctions de manipulation et des opérations de contrôle de qualité des mailles ;
* ParaViS : module de visualisation scientifique avancée, sur la base du logiciel libre ParaView développée par la société Kitware ;
* YACS : orchestrateur de calculs ;
* JobManager : module de lancement de calculs à distance ;
* EFICAS : module de création d’interfaces de mise en donnée et de validation dynamique des jeux de données ;
* ADAO : module d’assimilation de données et de calage de paramètres ;
* HOMARD : module d’adaptation de maillage par découpage de mailles en fonction d’un critère donné (zone, critère d’erreur donnée par le calcul physique, etc.) ;
* PERSALYS : interface graphique pour le pilotage d’OpenTURNS, outil de traitement d’incertitudes et d’analyse statistique ;
Les modules uniquement accessibles en python sont :
* MEDCoupling : bibliothèque de manipulation de maillages et de champs, accessible uniquement en script Python (sans interface graphique) ;
* Melissa : bibliothèque de post-traitement statistique à la volée pour les études de sensibilité, accessible uniquement en script Python (sans interface graphique) ;

## Versions disponibles

SALOME est disponible pour une variété de systèmes d’exploitation UNIX et pour Windows. Des versions spécifiques sont produites par EDF et par le CEA contenant des paquets propres à leurs applications. Les différentes versions sont téléchargeables depuis le site officiel de SALOME$^,$ et depuis les sites des plateformes disciplinaires.