FAQ

Informations générales et mise à disposition

La plateforme SALOME est distribuée sous la licence LGPL (GNU Lesser General Public License) version 2.1. Tous les produits requis par SALOME sont distribués sous licence LGPL (ou équivalent) ou sous licence “libre pour un usage non commercial”.

La plateforme SALOME est fournie avec SolverLab, qui permet de résoudre des équations aux dérivées partielles. D’autres solveurs dédiés à une physique particulière sont intégrés dans des applications métiers. Par exemple:

D’autre applications métiers avec des codes non open-sources sont également développées mais non distribuées sur internet.

SALOME est développé et qualifié sur Linux et Windows. SALOME est construit et testé sur différentes plateformes Linux : Red Hat, CentOS 7 et 8, Debian 9 et 10, Ubuntu 18 et 20, Fedora. Si des binaires spécifiques ne sont pas distribués pour vos plateformes Linux, vous pouvez utiliser les binaires génériques “universels”. Ces binaires sont construits sur la plateforme CentOS 7. Les bibliothèques nécessaires pour faire fonctionner les binaires sur d’autres plateformes plus récentes sont incluses dans l’archive.

L’acronyme SALOME signifie « Simulation numérique par Architecture Logicielle en Open source et à Méthodologie d’Évolution ».


Construction et installation

a plateforme SALOME s’appuie sur un grand nombre de produits tiers, notamment Python, Qt, sip, PyQt, boost, swig, Open CASCASDE Technology, qwt, omniORB, Hdf5, Paraview. En fonction de la plateforme, certains produits tiers sont intégrés dans le tarball SALOME, d’autres sont directement fournis par le système (produits natifs installés avec yum ou apt).

Avant d’utiliser ou de compiler SALOME pour la première fois, il est conseillé de vérifier si tous les prérequis du système sont installés. Pour cela, il est pratique d’utiliser la commande SAT suivante, qui listera les dépendances système manquantes :

./sat config SALOME-9.8.0 --check_system

Pour la visualisation 3D, il est recommandé d’utiliser une carte graphique dédiée (NVIDIA ou AMD RADEON)  et d’installer le pilote propriétaire correspondant.

Vous pouvez télécharger à partir du site web ou du site ftp de SALOME l’archive tarball SALOME correspondant à votre système d’exploitation. Si toutefois votre plateforme Linux n’est pas supportée, vous pouvez sélectionner le paquetage Linux universel.

Après avoir extrait le contenu du paquetage, vérifiez que toutes les dépendances du système sont installées :

./sat config SALOME-9.8.0 --check_system

Vérifiez aussi que votre carte graphique est correctement configurée.

Puis, lancez SALOME avec la commande:

./salome

Vous trouverez plus d’instructions dans le fichier README.

SALOME est construit sur Windows 10 avec le compilateur Visual Studio 2017. Il est important de choisir un nom très court pour le répertoire d’installation, pour éviter de dépasser la limite de taille du PATH (par exemple C:\SAL).

SALOME peut être installé à partir d’un assistant d’installation .exe ou d’une archive .zip.

Pour lancer l’assistant d’installation, double-cliquez dessus et suivez les instructions. A la fin de l’installation, lancez SALOME en double-cliquant sur run_salome.exe.

Si la politique de sécurité informatique de votre entreprise interdit l’installation de logiciels avec des .exe, nous fournissons aussi SALOME via une archive.zip archive. Pour l’installer :

  • Créer un répertoire de 4 lettres maximum à la racine de votre disque (par exemple C:\SAL)
  • Aller dedans et dézipper SALOME ;
  • Aller dans le répertoire créé par l’action précédente ;
  • Lancer SALOME via la commande : run_salome.bat ou bien run_salome.exe.

Le code source de SALOME est inclus dans les paquets SALOME sous forme de fichiers tarballs contenus dans le répertoire ARCHIVES. Pour installer le code source dans le répertoire SOURCE, utilisez la commande :

./sat prepare SALOME-9.8.0

Le code source de SALOME peut également être récupéré directement dans les dépôts git. Tous les détails sur la page gitweb.

Le code source de SALOME est inclus dans les paquets SALOME et peut être compilé, soit partiellement (un ou plusieurs produits), soit complètement. Pour plus d’informations, suivez les instructions du fichier README présent dans le répertoire d’installation.


Architecture de Salomé

Avec des ordinateurs de plus en plus puissants, CORBA devient moins utile dans SALOME, en dehors de YACS et du cas d’utilisation de couplage de code. Lorsque CORBA n’est pas nécessaire, un mode optimisé a été développé afin d’éviter de lancer le serveur CORBA pour la session SALOME. Ce mode, appelé SSL, sera le mode par défaut à partir de SALOME 9.9. Avec ce mode, toutes les fonctions sont exécutées à l’intérieur du processus principal de SALOME. L’utilisateur n’a pas besoin de “tuer” les serveurs après avoir utilisé SALOME. Le débogage et les tests sont également plus faciles.

Pour utiliser le mode session-less pour lancer des scripts python (SALOME 9.7.0 ou 9.8.0):

  • soit, ajouter la variable d’environnement SALOME_EMB_SERVANT à 1. Sous Linux:
export SALOME_EMB_SERVANT=1

ou sous Windows:

SET SALOME_EMB_SERVANT=1
  • ou ajouter dans votre script python:

salome.standalone()salome.salome_init()

Pour tester ce mode dans l’interface graphique (uniquement pour certains modules en 9.8.0), lancez SALOME avec:

./salome sessionless

L’étude est un document dans l’interface graphique, une couche d’abstraction entre les données réelles du document (probablement des données distantes disponibles via CORBA) et la présentation des données (dans le navigateur d’objets). Il contient un arbre d’instances d’objets de données.

Chaque module peut publier ses données dans SALOME study pour permettre aux autres composants d’y accéder. La publication dans l’étude permet également la persistance de ces données grâce au menu “Save Study”. Notez que la persistance de données complexes peut également être assurée par des méthodes spéciales, comme la “Save graph” du module YACS.


Scripting Salomé avec Python

L’utilisateur a plusieurs possibilités. Il est possible :

  • d’exécuter un script au lancement de l’interface graphique : ./salome my-script.py
  • d’exécuter un script en lançant SALOME en mode TUI : ./salome -t -w1 mon-script.py

-t : mode texte,

-w1 : tue les serveurs à la fin du script.

  • de charger un script python à l’intérieur de l’interface graphique, à partir du menu Fichier.
  • d’exécuter des commandes Python dans la fenêtre Python intégrée à l’interface graphique

Il est possible d’utiliser à la fois l’interface utilisateur graphique GUI et l’interface utilisateur textuelle TUI pour travailler avec SALOME. L’interface TUI est la plus adaptée aux longs calculs en mode batch. Les résultats des calculs peuvent ensuite être contrôlés à l’aide de l’interface graphique. La fonctionnalité Python dump permet d’expérimenter des actions avec l’interface graphique et de sauvegarder ces actions dans un script Python, qui peut être rejoué plus tard. Les modules avancés comme SHAPER sont plus adaptés à l’interface graphique (notamment le sketcher), mais leurs actions peuvent néanmoins être enregistrées dans des scripts Python.


Utilisation de MEDCoupling

La documentation du fichier med est fournie par le module FIELDS : menu Aide/Guide d’utilisation/Module FIELDS/MedFile Cette documentation est rédigée en français et présente notamment la référence de connectivité au sein des “Guides d’utilisation”.

Le module FIELDS de SALOME fournit la bibliothèque MEDCoupling (une bibliothèque C++ dédiée à la manipulation de maillages et de champs cohérents avec le modèle MED) ainsi qu’une interface graphique pour accéder à certaines opérations usuelles. Il simplifie les manipulations MED et donne également accès à des visualisations MED simplifiées liées au module PARAVIS. Le module FIELDS fournit la documentation des bibliothèques MEDCoupling et medfile.

La bibliothèque MEDCoupling est incluse dans les paquets SALOME, mais est également distribuée dans des paquets autonomes. Pour l’installer, téléchargez la tarball MEDCoupling et extrayez l’archive :

wget ftp://ftp.cea.fr/pub/salome/targz/MEDCOUPLING-9.7.0/MEDCOUPLING-9.7.0-CO7-SRC.tgztar xfz MEDCOUPLING-9.7.0-CO7-SRC.tar.gzcd MEDCOUPLING-9.7.0-CO7-SRCsource env_launch.shpython>>> import medcoupling...

Utilisation de SALOME

Depuis la version 9.4, SALOME utilise pip pour gérer les modules python inclus dans SALOME. Les utilisateurs de SALOME peuvent donc personnaliser leur python avec le module de leur choix. Par exemple, on peut ajouter h5py à son installation SALOME en exécutant les commandes suivantes :

./salome context # définit l'environnement de salome, y compris pythonpython -m pip install h5py==2.10.0 --no-dependencies # ajouter h5py à SALOME# Pour supprimer un module qui n'est plus nécessaire :python -m pip uninstall h5py

Lorsqu’il est démarré, SALOME lance un serveur CORBA qui parfois n’est pas tué à la fin. Si vous observez d’anciens processus SALOME, il est possible de les supprimer avec la commande suivante :

./salome killall

Sous Windows, il faut exécuter la commande :

call kill_salome.bat

Selon l’environnement de votre bureau, les chaînes de caractères dans SALOME peuvent être trop petites ou trop grandes. Cela a également une influence sur la hauteur des icônes. Il est possible d’ajuster l’échelle de la police en utilisant le paramètre QT_FONT_DPI. Par exemple, pour augmenter la taille de 10% :

export QT_FONT_DPI=110

Pour un affichage 3D performant avec SALOME, il est conseillé d’avoir une carte graphique dédiée (Nvidia ou AMD) et d’installer le pilote propriétaire depuis le gestionnaire de paquets de votre plateforme Linux.

Si vous avez besoin de travailler à distance via ssh ou dans une machine virtuelle, il faut utiliser la commande ./mesa_salome. Les vues 3D de SALOME utilisent maintenant l’API OpenGL 3, qui n’est pas entièrement supportée par le transfert X11. Pour résoudre ce problème, nous conseillons donc d’utiliser la commande ./mesa_salome lorsque vous exécutez SALOME via ssh. Les performances sont moindres, mais cette commande est entièrement compatible avec SALOME.

Si vous devez travailler fréquemment sur un ordinateur distant, et que vous voulez de bonnes performances d’affichage, nous recommandons d’utiliser TurboVNC pour lancer un bureau distant et VirtualGL pour utiliser la carte graphique distante: vglrun ./salome.

SALOME 9 a été amélioré pour être capable de gérer de grands ensembles de données. Tous les modules (SMESH, PARAVIS, MEDCoupling) supportent maintenant les entiers int64, ce qui permet de gérer de grands maillages. Le module SMESH a été optimisé pour afficher de tels maillages et intègre maintenant des algorithmes de maillage très efficaces (comme Gmsh Hextreme).