Supervision

Supervision des calculs, couplage, gestion des exécutions

Il existe un besoin croissant de simulations paramétriques multidisciplinaires dans divers domaines de recherche et d’ingénierie. L’interaction fluide-structure et le couplage thermo-mécanique en sont deux exemples. La stratégie logicielle dans de nombreux contextes de simulation est de développer des solveurs numériques dédiés à un domaine ou une physique, puis d’exécuter des simulations multi-domaines en couplant ces solveurs spécifiques. SALOME propose un ensemble de services pour créer un workflow de simulation qui connecte différentes unités de calcul. Ce workflow peut ensuite être exécuté sur un PC portable, une station de travail, un réseau distribué d’ordinateurs ou des ressources HPC.

Les principales fonctionnalités sont :

  • Intégration de solveurs spécifiques à un domaine
    • Ces composants SALOME sont construits avec des interfaces standard pour permettre le couplage de différents domaines physiques. Ils peuvent être utilisés comme unités de calcul d’un processus de simulation. Des outils YACSGEN sont fournis pour automatiser l’intégration des configurations standards (intégration de programmes exécutables, fonctions d’une bibliothèque ou de scripts python).
  • Supervision d’un workflow de calcul
    • Le workflow est défini comme un graphe de composants SALOME connectés, pouvant inclure la modélisation CAO, le maillage, les solveurs spécifiques au domaine et les composants informatiques. Ce flux de travail complexe est géré sous forme de scripts Python. Il peut être modifié à l’aide de l’interface graphique ou textuelle.
  • Répartition sur les ressources HPC.
    • SALOME contient un gestionnaire de tâches (JOBMANAGER) pour définir un calcul à effectuer (incluant soit un simple composant SALOME soit un workflow complet) et pour piloter la soumission du calcul à un ensemble distribué d’ordinateurs ou de ressources HPC. Le gestionnaire de tâches peut gérer de nombreux systèmes de gestion de batch tels que PBS, LSF, SGE, LOADLEVELER ou SLURM via une interface générique normalisée. Il est livré avec une interface graphique mais peut être utilisé au niveau de la programmation à l’aide d’une interface C++ ou Python pour créer des scripts simples ou des outils spécifiques à un domaine.
  • Conception d’expériences numériques.
    • SALOME fournit un ordonnanceur pour gérer les calculs paramétriques. Les données d’entrée sont le plan d’expérience et la fonction de calcul. L’ordonnanceur peut être utilisé avec des modules avancés tels que OpenTURNS et URANIE, pour générer l’échantillon d’entrée et analyser les résultats de sortie (méta-modélisation, analyse statistique, quantification de l’incertitude).
Schéma YACS
Etude paramétrique

Plus de détails dans la documentation de YACS et de JOBMANAGER.