Logiciel open source de calcul numérique

Passer au contenu principal

Use of Scilab & Xcos for Design of Experiments and Optimizations using chained proprietary simulation components

Par Stéphane JIMENEZ, ArcelorMittal

ArcelorMittal R & D a choisi Scilab comme moteur de base pour développer une plateforme générique de simulation pour l'expérimentation, l'ajustement et l'optimisation des modèles numériques développés en interne.

La solution globale, qui comprend un référentiel métier qui accueillera les composantes du modèle et agira comme un serveur ATOMS pour la plateforme de simulation, repose sur deux paradigmes principaux :

  • Gérer et partager les connaissances au sein du secteur R & D à travers les éléments du modèle exécutable (pas de code source), y compris une multitude de modèles hétérogènes propriétaires.
  • Fournir aux chercheurs une application permettant une édition graphique des chaînes de simulation des modèles, et la conception associée de l'expérimentation, sans nécessairement avoir à écrire une ligne de code.

La puissance et la richesse du moteur de simulation de Scilab n'est plus à démontrer, ainsi que sa capacité à interfacer facilement des bibliothèques développées dans d’autres langages comme le C + +, C, Fortran, Java, Python, etc.

Scilab a donc été retenu comme le candidat idéal pour notre plateforme de simulation, et est maintenant plus sérieusement considéré comme le remplaçant open source de Matlab et d’iSight. Xcos constitue également une base idéale pour développer rapidement un éditeur graphique des processus de simulation.

Nous travaillons actuellement sur un prototype à travers des études de cas importants.
Nous avons développé notre boîte à outils et des blocs Xcos permettant de manipuler graphiquement des modèles propriétaires FORTRAN identifiés dans la palette. Nous avons développé des composants dédiés comme des macros Scilab pour mettre en œuvre les algorithmes les plus utilisés dans la conception d’expérimentation (analyse de sensibilité, ajustement du modèle ou optimisation).
Une prochaine étape consistera à consolider ou à réécrire en C les développements actuels et à les intégrer dans une application packagée.