Sciences, recherche, médecine


PELICANS : un outil d’implémentation de solveurs d’EDP

Bruno Piar, Fabrice Babik, Didier Vola, Lionel Chailan

Outils scientifiques - Mardi 10/07 - 16:00
Durée : 45 minutes
Intervenants : Didier Vola (IRSN)
Lang. :
Salle : H16  -  Bâtiment : H

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
- Bruno Piar, Fabrice Babik, Didier Vola (IRSN)
- Lionel Chailan (Assystem-France)

—  conférence annulée

Outils scientifiques - Mardi 10/07 - 11:00

Ouverture de la session
Retour d’expérience de KST

Outils scientifiques - Mardi 10/07 - 14:00

LibreSource pour la science,
OpenTURNS, un logiciel de (...)

Outils scientifiques - Mardi 10/07 - 16:00

PELICANS : un outil d’implément
GDL - GNU Data Language

CFD - Mercredi 11/07 - 09:00

Gerris flow solver
ESP-r

CFD - Mercredi 11/07 - 11:00

Code_Saturne® d’EDF entre (...)
QNET-CFD

Calcul scientifique - Mercredi 11/07 - 14:00

Logiciel libre et calcul (...)
SCOS - Standards Ouverts (...)

Calcul scientifique - Mercredi 11/07 - 16:00

L’ETSF : Un Nouveau Regard (...)
Grille de calcul LCG

Géomatique - Jeudi 12/07 - 09:00

OrbisGIS : un SIG pour la (...)
GRASS, un SIG adapté aux (...)

Géomatique - Jeudi 12/07 - 11:00

GeOxygene : plate-forme (...)
GOWS Project : Vers des (...)

Debian-Science - Jeudi 12/07 - 14:00

Distributions personnalisées
Debian-Science : Une distribut

Debian-Science - Jeudi 12/07 - 16:00

Discussion libre Debian-scienc

Médecine - Vendredi 13/07 - 09:00

Introduction à la journée (...)
CImg - Une Bibliothèque (...)
Les logiciels libre pour (...)
Le projet Debian-Med

Médecine - Vendredi 13/07 - 11:00

TeleDiab : système d’informatio
Projet TeleDiab : développement
DiabOUTCOME : système pour (...)

Médecine - Vendredi 13/07 - 14:00

Analyse d’une application (...)
OHF - l’infrastructure libre
Améliorer la qualité de vie (...)

Médecine - Vendredi 13/07 - 16:00

JSR-275 - Mesures et unités
Interface pour les dispositifs

Dernières infos

Un succès
Les huitièmes rencontres mondiales du logiciel libre se sont terminées sur un succès impressionnant. Environ 3000 visiteurs ont en effet fait le déplacement a Amiens du 10 au 14 juillet 2007.
En attendant de connaitre le déroulement de la prochaine édition, vous pouvez consulter les videos prises (...)