Sciences, recherche, médecinePELICANS : un outil d’implémentation de solveurs d’EDPBruno Piar, Fabrice Babik, Didier Vola, Lionel Chailan
Outils scientifiques - Mardi 10/07 - 16:00 L’Institut de Radioprotection et de Sûreté Nucléaire (IRSN) développe depuis de nombreuses années des logiciels de simulation de thermo-mécanique qui impliquent des domaines divers comme les transferts de chaleur, la mécanique des fluides (laminaire, turbulente, réactive, multi-espèces, multi-phases, Newtonienne ou non-Newtonienne) et la mécanique des solides (élasticité, viscoplasticité, endommagement, fracturation). En réponse au besoin croissant de mutualisation entre ces développements, une abstraction de l’activité de construction d’une simulation numérique a été élaborée. Le point de départ fut la reconnaissance que le processus global pouvait être séparé en trois étapes : une phase de modélisation mathématique conduisant à une formulation du problème par un système d’équations aux dérivées partielles (EDPs), puis une phase de modélisation numérique établissant une méthode d’approximation de la solution de ce système, et enfin une phase d’implémentation d’un logiciel calculant cette approximation. Il est apparu que, pour une large gamme de simulations de thermo-mécanique, la complexité et le coût de cette toute dernière étape pouvaient être considérablement réduits par l’utilisation d’outils d’implémentation qui se concentrent sur les EDPs elles-mêmes plutôt que sur le contexte physique. Cette vision abstraite met l’accent sur l’objectif d’implémentation. Dans ce contexte, un framework C++ doté d’un ensemble de composants réutilisables intégrés, appelé PELICANS, a été conçu par l’IRSN pour simplifier les développements d’applications de mathématiques numériques et de calcul scientifique, en particulier celles concernant les EDPs et les problèmes aux valeurs limites et initiales. PELICANS fournit les fonctionnalités pour gérer des discrétisations sur des maillages, structurés ou non, par des méthodes de type éléments finis et volumes finis. Les situations suivantes sont accessibles : frontières mobiles, maillages déformables dynamiquement, multi-domaines éventuellement non conformes, méthodes des caractéristiques, raffinement de maillage adaptatif multi-niveaux. De plus, PELICANS permet le développement d’applications parallèles ainsi qu’un couplage cohérent avec des librairies numériques externes réputées. PELICANS est aujourd’hui le noyau numérique de plusieurs codes industriels développés par l’IRSN dans le domaine de la sûreté nucléaire. PELICANS définit une approche "normative", sans être inutilement restrictive, pour la construction d’applications. Sont fournis des types de composants intégrés couvrant une large gamme de comportements ainsi que des structures prédéfinies pour les codes. Les composants standard peuvent être combinés de multiples façons pour l’élaboration d’une grande variété d’applications. Il peuvent être étendus par adaptation ou actualisation et représentent cette partie du logiciel que les développeurs ne doivent pas produire puisqu’elle l’a été précédemment par d’autres. Les structures standard de code, ou framework, sont des squelettes d’applications où toutes les parties génériques ont déjà été implémentées. Les développeurs utilisent alors les techniques orientées objet, comme l’héritage, pour construire les parties manquantes et façonner les composants pour la nouvelle application. PELICANS permet ainsi de se concentrer sur les problèmes spécifiques à l’application considérée. Les éléments communément utilisés sont quant à eux gérés directement par le framework. Ainsi, la rapidité de développement est accrue, l’étendue du nouveau code est réduite, la réutilisabilité est mise en oeuvre à grande échelle et les coûts de maintenance sont réduits. Une méthodologie d’utilisation du C++ a été adoptée pour le développement de PELICANS (des outils spécialisés ont été développés à cet effet). L’esprit de cette approche est triple. D’une part, la Conception Par Contrats, considérée comme essentielle pour le Développement à Base de Composants, est uniformément mise en oeuvre. Ainsi, les relations entre les composants logiciels sont rationalisées (en particulier, la notion d’héritage est sémantiquement réduite au Principe de Substitution de Liskov formalisé en termes de surcharge d’assertion). De plus, le principe d’Auto-Documentation est déployé, de façon cohérente avec les assertions de la Conception Par Contrats. Enfin, l’usage des potentialités complexes du C++ est volontairement limité, ce qui permet de ne pas restreindre l’accessibilité de PELICANS aux programmeurs C++ expérimentés. Cette approche cohérente et validée constitue également l’un des produits finis du projet PELICANS. PELICANS est distribué sous licence CeCILL-C (une adaptation de la licence LGPL au droit français, voir http://www.cecill.info). Bien qu’étant la propriété de l’IRSN, PELICANS est totalement gratuit, open-source et peut être réutilisé dans des logiciels distribués sous une licence quelconque. La page du projet est : https://gforge.irsn.fr/gf/project/pelicans. Auteurs
— conférence annulée |
Outils scientifiques - Mardi 10/07 - 11:00Ouverture de la sessionRetour d’expérience de KST Outils scientifiques - Mardi 10/07 - 14:00LibreSource pour la science,OpenTURNS, un logiciel de (...) Outils scientifiques - Mardi 10/07 - 16:00PELICANS : un outil d’implémentGDL - GNU Data Language CFD - Mercredi 11/07 - 09:00Gerris flow solverESP-r CFD - Mercredi 11/07 - 11:00Code_Saturne® d’EDF entre (...)QNET-CFD Calcul scientifique - Mercredi 11/07 - 14:00Logiciel libre et calcul (...)SCOS - Standards Ouverts (...) Calcul scientifique - Mercredi 11/07 - 16:00L’ETSF : Un Nouveau Regard (...)Grille de calcul LCG Géomatique - Jeudi 12/07 - 09:00OrbisGIS : un SIG pour la (...)GRASS, un SIG adapté aux (...) Géomatique - Jeudi 12/07 - 11:00GeOxygene : plate-forme (...)GOWS Project : Vers des (...) Debian-Science - Jeudi 12/07 - 14:00Distributions personnaliséesDebian-Science : Une distribut Debian-Science - Jeudi 12/07 - 16:00Discussion libre Debian-sciencMédecine - Vendredi 13/07 - 09:00Introduction à la journée (...)CImg - Une Bibliothèque (...) Les logiciels libre pour (...) Le projet Debian-Med Médecine - Vendredi 13/07 - 11:00TeleDiab : système d’informatioProjet TeleDiab : développement DiabOUTCOME : système pour (...) Médecine - Vendredi 13/07 - 14:00Analyse d’une application (...)OHF - l’infrastructure libre Améliorer la qualité de vie (...) Médecine - Vendredi 13/07 - 16:00JSR-275 - Mesures et unitésInterface pour les dispositifs Dernières infos
Un succès
|
|