poster - ISIMA

Transcription

poster - ISIMA
Keridwen : Une chaîne de validation de résultats de
simulation numérique sur maillages 3D non structurés
B. Jeanty-Ruard(1), D. Rodgers(2), B. Thiébault(1), P. Souquet(1), J.-C. Matéo-Velez(3),
P. Sarrailh(3), B. Rivière(3), E. Amouroux(4), M. Faure(4), J. Forest(5)
www.keridwen.org
(1) Artenum Toulouse, (2) ESA-ESTEC, (3) ONERA-DESP,
(4) ISIMA, (5) Artenum Paris ([email protected])
Objectifs :
Dans le cycle de vie d’un logiciel de modélisation, l’étape de validation peut se révéler
particulièrement longue et difficile. Son coût peut dépasser celui du développement. Par ailleurs, cet
effort doit suivre l’évolution du logiciel afin de vérifier la validité des modèles et d’identifier toute
éventuelle régression. Ceci ne peut se faire qu’en rejouant systématiquement des cas tests et en
comparant les résultats à des valeurs de référence préalablement validées. Via un mécanisme de
comparaison de champs, la chaîne de validation de Keridwen cherche à répondre à ce besoin et offre
un mécanisme semi-automatisé de résultats de simulation numérique sur maillages 3D non structurés.
Chaîne de validation automatisée:
Subversion (http://subversion.apache.org/)
Système de contrôle de version open source.
a) Téléchargement des codes sources du logiciel à partir d’un dépôt SVN
Hudson (http://hudson-ci.org/)
Framework d'Intégration continue développé en langage
Java permettant de réduire le temps d’intégration
nécessaire pour la livraison d’un logiciel.
1 Utilisation de
Maven (http://maven.apache.org/)
JUnit (http://junit.org/)
Gestion de projet logiciel basé sur un
Project Object Model (POM)
Framework pour la mise en place de tests
unitaires utilisés avec le langage Java
a) Compilation des codes sources
• Lance les tests unitaires définis dans
les codes sources
b) Gestion des dépendances logicielles
2 Utilisation de
Penelope
c) Utilisation de
d) Installation (génération des jars)
3 Utilisation de
4
(http://www.artenum.com/FR/Produits-JFreeMesh.html)
Ant (http://ant.apache.org/)
Envoie d’un mail résumant les résultats
de toutes les simulations
Résultats de la chaîne de validation sur un serveur FTP
Bibliothèque Java permettant d’exécuter les
processus décrits dans des fichiers. Ant fournit
un certain nombre de tâches permettant par
exemple de compiler des codes sources,
d’exécuter des applications, …
a) Création d’une version testable d’un logiciel
à partir des codes installés par Maven
Développée par Artenum,
Penelope est une bibliothèque
Java haute performance
permettant de manipuler et de
stocker des maillages non
structurés 3D et des champs
de valeurs s’y rattachant
(DataField).
• Comparaison des résultats validés et ceux
calculés avec la nouvelle version du logiciel
tous deux définis sous la forme d’un champ de
valeurs défini sur un sous-ensemble d’un
maillage 3D non structuré
b) Pour chaque projet de référence:
• Lancement d’une simulation sur ce projet
avec la nouvelle version du logiciel
• Calcul des résultats de la simulation sous
forme d’un champ de valeurs définit sur un
sous-ensemble d’un maillage 3D non structuré
(DataField)
• Utilisation de la bibliothèque Penelope
• Génération d’un rapport comparatif
V1
V3
V2
V4
Comparaison de
champs de valeurs
sur des nœuds
colocalisés
V5
V7
V6
V8
V2-V6
V1-V5
V3-V7
c) Création d’une archive
V4-V8
Cas d’application au projet ESA/SPIS : La chaîne de validation de Keridwen a été appliquée avec succès au projet ESA/SPIS. SPIS, pour Spacecraft Plasma Interactions
Software (www.spis.org), est un logiciel libre de modélisation des interactions entre des structures spatiales et leur environnent plasma. Initié en 2002, SPIS a été appliqué sur
plusieurs missions scientifiques et commerciales. La confiance dans les résultats de calcul est donc critique et SPIS a été préalablement validé sur des cas de référence.
Cependant, chaque nouvelle évolution du logiciel amène un risque de régression. Une validation manuelle systématique serait cependant prohibitive en terme de moyens
humains. La chaîne de validation de Keridwen permet d’automatiser partiellement le processus de validation et permet aux experts de se focaliser sur les cas critiques.
Résultat de référence
=
Résultat de test
Différentiel
Conclusion et Perspectives : La chaîne de validation de Keridwen permet de tester la validité d’un logiciel de simulation numérique par comparaison de champs colocalisés sur des maillages 3D non-structurés à des valeurs de références préalablement calculées. Elle a été appliquée avec succès au projet ESA/SPIS. Plusieurs
évolutions sont envisagées à moyen terme :
• Extension des fonctions de comparaison de champs à champs non co-localisés, par interpolation ;
• Intégration d’une chaîne automatique de post-traitement offscreen des résultats de simulation (plan de coupe, iso-surface, …)
• Partage via Internet des résultats de validation sous forme de scènes de réalité virtuelle 3D (X3D) ;
• Génération automatique d’une galerie d’images pour la présentation des résultats.
Remerciements : P. Mahey et V. Barra (ISIMA)
Journées Développement logiciel - Septembre 2013 - Ecole Polytechnique à Palaiseau, France