Open TURNS Journée Utilisateurs #2
22 juin 2009
Journée Utilisateurs Open TURNS #2 Ordre du jour
La Communauté Open TURNS s’agrandit Projets ayant adopté Open TURNS
Labelisation Debian
Formations à Open TURNS
Site de partage
Nouveautés depuis la Journée Utilisateurs # 1 (avril 2008) Ajouts scientifiques
Ajouts technologiques
Ajouts pour développeurs
Ajouts de documentation
Et très bientôt, 0.13.2 (sept 09) :
• portage Windows
• IHM graphique : EFICAS
• Ajouts scientifiques
À venir …
Exposés EDF : « Étude probabiliste d’un essai de fatigue sur la maquette FATHER » (R&D – MMC)
EADS, Phimeca
La parole est à vous ... Session Développeurs
Session Métier
Communauté Open TURNSProjets nationaux et européens multi-partenaires
Projet ANR OPUS ( 04/2011): CEA, ECP, Supélec, Softia, EADS, Dassault Aviation, INRIA, Université Paris VI
Objectif : élargissement de la communauté Open TURNS (développeurs et utilisateurs)
Projet ANR de développement d’une plateforme technologique de gestion des incertitudes
Open TURNS est une brique constitutive de cette plateforme
Identification et développement de méthodes amont (bases réduites, méthodes d’analyse de sensibilité, calculs de quantile)
Projet systm@tic EHPOC (--> 08/2010): CEA, BERTIN, EADS, IFP, CEA, ECP, Dassault Aviation, CNES
Objectif: test et validation de la méthodologie incertitudes. Développement de la communauté utilisateurs
Dassault Aviation a choisi Open TURNS pour effectuer ses tests (cas de dimensionnement avec du couplage fluide – structure).
Analyse et comparaison de fonctionnalités avec d’autres outils (COUGAR, URANIE, DAKOTA (?))
Benchmark proposé (cas poutre Open TURNS)
Projet ANR CISSSI: UBP, ONERA, Phimeca, CEA
Objectif: Développement de capacités HPC et métier (méta modèles (SVM) et champs stochastiques)
Lien avec la communauté Séïsme
MIRADOR (Fini): IOSIS, COB, EGIS, BOUYGUES, Armines, IFMA, Phimeca
Implémentation du chaos polynomial dans Open TURNS EDF R&D a développé le module chaos polynomial
Applications des méthodes incertitudes (fiabilité) à des problèmes du Génie Civil.
Projet ANR SISTAE (fin 09/2009) – FP7 PICASSO (début 07/2009 2012): PHIMECA, EADS, CEA, …
Communauté mécanique en contrôle non destructif (lien avec la plateforme CIVA) – Développement de régressions par quantiles et d’approches Bayésiennes
Validation et finalisation du portage Windows
Projet FP7 CRESCENDO (2009-2012) (62 partenaires: Airbus/Rolls Royce/Eurocopter + éditeurs de logiciels)
Elargissement au niveau européen de la communauté utilisateurs
Organisation de la simulation dans un cycle de conception. Lien avec les éditeurs de logiciel travaillant dans le secteur aéronautique.
Qualité de la simulation basée en partie sur les méthodologies incertitudes (méthodologie et outils seront proposés au consortium)
Projet system@tic CSDL (Complex System Design Lab) (2009-2012): Dassault, Renault, EADS, C-S, Bull, Alcatel, ESI, Eurodecision, Enginesoft, ONERA, INRIA (SCILAB), C3S, ARMINES, (...)...and HPC Project.
Intégration de la thématique Incertitudes et de l’outil Open TURNS dans une problématique de dimensionnement multi-disciplinaire
Communauté Open TURNSGroupes de travail thématiques
GDR MASCOT NUM (www.gdr-mascotnum.fr): GDR CNRS formé depuis 2008 animant la communauté de recherche française sur la thématique
Journées 2010 prévues
Prochains évènements à l’automne (Workshop + journée bourse aux stages (26 novembre)
Rédaction d’une newsletter
GT ImdR « Incertitudes »: Vue applicative de la problématique (lien avec les industriels). Un site de références bibliographiques est en cours de constitution
GT ImdR « 3S : Sécurité et Sûreté des Structures »
Groupe SfdS « Fiabilité et incertitudes »: groupe nouvellement créé centré sur les thématiques de fiabilité
Communauté Open TURNS
Exemples de Projets internes EDF:
• Etudes du réseau de distribution : client ERDF et RTE, code Mosard
• Etudes d'accidents graves : brèche sur le circuit primaire : client SEPTEN, code Code_Cathare
• Chaîne de calcul des coeurs nucléaires : plans de chargement / suivi et exploitation des tranches / méthodologies de calculs des études de gestion de combustible : client SEPTEN
• Problématique du transport des combustibles : code Syrthes
• Tenue mécanique de la cuve du réacteur nucléaire, code Code_Aster : client SEPTEN
Projets internes EADS:
• Support aux études Airbus (maintenance, calcul de masse, acoustique, avant-projets, aérodynamique, mécanique des structures, essais en vol, contrôle non destructif)
• Support aux études Astrium (compatibilité électromagnétique, navigation/pilotage, mécanique des structures, propulsion…)
Etudes PHIMECA:
• IOSIS, EDF Themis, EDF MRI
• PhimecaSoft 3.0 fera appel à Open TURNS
Labellisation Debian
Open TURNS a été accepté dans debian/testing
Migration effectuée en collaboration avec C. Prudhomme (Université Joseph Fourier – Grenoble)
Intérêt: Elargissement de la communauté de développeurs et utilisateurs potentiels
Formations à Open TURNS
Formation initiale (~100 élèves):
Université Claude Bernard (Lyon)
Ecole Centrale Paris
Université Paris XIII
Formation continue (~200 personnes):
Formation à la méthodologie : ImdR, EDF-ITECH et Phimeca
Formation outil : EDF – ITECH et Phimeca
Formation IW institute en cours de montage sur des méthodes avancées
Share.OpenTURNS.org
• Objectifs
• Lieu de partage d'informations• Création d'une communauté d'utilisateurs• Rendre plus accessible la création des scripts• Lieu plus accessible que la mailing-list• Espace plus libre que le site officiel openturns.org
• Comment contribuer ?
• Lire, tester, commenter...• Poster :
Obtenir un login pour poster : demander sur la mailing-list user Se loguer : suivre le lien write a post
Share.OpenTURNS.org
Ajouts scientifiques (1/2)
Depuis avril 2008, version 0.12.3 -> version 0.13.1: Modélisation probabiliste:
nouvelles distributions (Laplace, ChiSquare, Rayleigh, NonCentralStudent, Student ND, Epanechnikov)
nouvelles copules (SklarCopula, ClaytonCopula, FrankCopula, GumbelCopula)
nouveaux mécanismes d’assemblage (RandomMixture, ComposedCopula, TruncatedDistribution)
Modélisation non probabiliste:
Intervalles
suites à discrépance faible
Analyse statistique:
calcul d’indices de Sobol
calculs de moments centrés et export CSV pour les échantillons
Modèles:
Fonctions python
Polynômes
Combinaison linéaire de fonctions
Wrappers génériques -> voir le zoom technique
Méta-modèles:
Chaos Polynomial -> voir le zoom technique
Moindres carrés génériques
Plans d’expériences:
Plans LHS, Sobol, Monté Carlo, Pondérés,
Ajouts scientifiques (2/2)
Depuis avril 2008, version 0.12.3 -> version 0.13.1, suite: Méthodes déterministes:
Min/Max sur un interval ND (méthode TNC: Truncated Newton Constrained)
Algorithmes de simulation:
historique de simulation et de convergence,
Quasi Monté Carlo
Post Analytical Sampling (Importance Sampling, Controlled Importance Sampling)
Méthodes analytiques:
Algorithme SQP
Transformation de Nataf généralisée
Transformation de Rosenblatt
Graphiques:
Tracé d’iso-contours
QQ-plot & dorite de Henry améliorés
Tests statistiques:
Statistique exacte pour le test de Kolmogorov
Share.OpenTURNS.org
• Les règles :
• Espace de liberté : non (moins) administré que openturns.org• Privilégier l'anglais • A minima :
Donner la version d'OpenTURNS utilisée Choisr une catégorie et/ou un tag adapté
• Trucs d'écriture :
• Coloration syntaxique du code : /// [python]
from openturns import *
///
• Un jour /// [openturns] ...
Nouveautés depuis la Journée Utilisateurs #1
Ajouts technologiques :
Mécanisme de cache pour les NumericalMathFunction
Création de fonction python directement dans la TUI
class calculDeviationPython( OpenTURNSPythonFunction ) :
# the following method defines the input size (4) and the output size (1)
def __init__( self ) :
OpenTURNSPythonFunction.__init__( self, 4, 1 )
# the following method gives the implementation of calculDeviationPython
def f ( self, x ) :
E = x[0]
F = x[1]
L = x[2]
I = x[3]
return [ - ( F * L*L*L ) / ( 3. * E * I ) ]
# Use the function defined in the script python with the openturns
# library
# Create a NumericalMathFunction from calculDeviationPython
modeleOpenTURNS = NumericalMathFunction( calculDeviationPython() )
Nouveautés depuis la Journée Utilisateurs #1
Ajouts technologiques (suite) :
Pretty print pour les objets principaux
En python :
>>> p = NumericalPoint( [1.2, 3.4, 5.6] )
>>> print p
[1.2,3.4,5.6]
>>> print repr( p )
class=NumericalPoint name=Unnamed dimension=3 implementation=class=NumericalPointImplementation name=Unnamed dimension=3 values=[1.2,3.4,5.6]
En C++ :
NumericalPoint p( 3 );
std::cout << p << std::endl;
[0.0,0.0,0.0]
OStream fullprint( std::cout );
fullprint << p << std::endl;
class=NumericalPoint name=Unnamed dimension=3 implementation=class=NumericalPointImplementation name=Unnamed dimension=3 values=[0.0,0.0,0.0]
Nouveautés depuis la Journée Utilisateurs #1
Ajouts technologiques (suite) :
Mécanime de wrapper simplifié
#include "WrapperCommon.h"
#include "WrapperMacros.h"
#define WRAPPERNAME exemple
FUNC_EXEC( WRAPPERNAME,
FUNC_EXEC_BODY_CALLING_COMMAND_IN_TEMP_DIR( "exemple" ) )
Wrapper multithreadé
• Ajout d’une macro
FUNC_EXEC_SAMPLE_MULTITHREADED( WRAPPERNAME )
• Utilise automatiquement la fonction func_exec_…
• Détermine automatiquement le nombre de CPU/cœurs présents
Système de log simplifié
>>> Log.Show( Log.USER + Log.INFO + Log.WARN + Log.ERROR )
Nouveautés depuis la Journée Utilisateurs #1
Ajouts pour développeurs :
Ajout d’un mécanisme de module :
• Accès simplifié au développement interne d’Open TURNS
• Cycle de développement plus rapide (compilation, tests, etc.)
• A réserver aux nouvelles fonctionnalités
Démonstration
Modularisation du code python :
• Gain en temps de compilation
• Gain en place mémoire
• Gain en développement de module
Modification de certaines dépendances :
• XML ( Xercès libXML2)
• BOOST supprimé
Ajout d’un système de suivi de consommation mémoire
Amélioration de la production de documentation Doxygen
Nouveautés depuis la Journée Utilisateurs #1
Ajouts Documentation :
Contribution Guide :
• + étapes de développement et de déploiement d’un module
• + description des modalités d’interaction avec le serveur subversion d’Open TURNS
Wrapper Guide (très prochainement)
• Mécanismes de couplage
• Traduction en cours
Example Guide :
• Exemple de la poutre encastrée : démarche Incertitudes complète (tous critères) avec analyse des résultats
Et très bientôt : Open TURNS / Windows
Objectifs :
Toucher plus d’utilisateurs
Couplage avec des logiciels windows
Iso-fonctionnalité
Réalisation :
Cross compilation
Deux environnements de test
Setup windows
Conclusions
Et très bientôt : Open TURNS / Windows
Intéresser plus d’utilisateurs :
Demande lors de la dernière Journée Utilisateurs
Utile dans PICASSO (couplage CIVA)
Besoin pour des projets internes des partenaires
Facilité d’accès à la plateforme :
Linux n’est plus une nécessité pour les utilisateurs
Et très bientôt : Open TURNS / Windows
Couplage Open TURNS / Logiciels Windows
Actuellement
1 machine Windows, 1 machine Linux
Connexions réseaux
Mise en place complexe, lenteurs
Nouvelle solution
Wrapper Windows
Compilation avec mingw32
Et très bientôt : Open TURNS / Windows
Isofonctionnalité
Principe
Toutes les fonctionnalités sont présentes sous Windows
Résultats identiques Linux/Windows
Moyens
Environnement de test
Intégration du test de la plateforme Windows dans le processus de release
Et très bientôt : Open TURNS / Windows
Objectifs :
Toucher plus d’utilisateurs
Couplage avec des logiciels windows
Iso-fonctionnalité
Réalisation :
Cross compilation
Deux environnements de test
Setup windows
Conclusions
Et très bientôt : Open TURNS / Windows
Cross compilation
Pourquoi ?
Garder l’environnement de compilation sous Linux
Faciliter le support
Outils
Mingw32: www.mingw.org
Les dll des dépendances d’Open TURNS :
Lapack, pthreads, dlfcn, libxml2, regex
Inconvénients
Pas de compatibilité avec Visual C++
Environnement de compilation lourd
Et très bientôt : Open TURNS / Windows
Deux environnements de tests
Linux
Objectif: permettre aux développeurs de vérifier la compatibilité de leurs développements
Outil: Wine
Windows
Objectif : Vérification pré-release
Outil: msys
Et très bientôt : Open TURNS / Windows
Setup Windows
Objectif
Simplifier l’installation
Assurer la compatibilité des dépendances
Outils
Innosetup: http://www.jrsoftware.org/isinfo.php
Et très bientôt : Open TURNS / Windows
Objectifs :
Toucher plus d’utilisateurs
Couplage avec des logiciels windows
Iso-fonctionnalité
Réalisation :
Cross compilation
Deux environnements de test
Setup windows
Conclusions
Et très bientôt : Open TURNS / Windows
Où en est-on ?
Iso-fonctionnalité
Portage réalisé
Mêmes résultats Linux/Windows
Setup à venir très prochainement
Questions restantes
Environnement de tests lourds
Incompatibilité MS Visual
Performances dégradées
0.13.2 : IHM graphique EFICAS
IHM graphique EFICAS :
Développé par EDF R&D, Logiciel open source, licence LGPL
Catalogue présentant une grande majorité des fonctionnalités de la démarche incertitudes
• 3 critères : Min/Max, Tendance centrale, Dépassement de seuil
• Modélisation probabiliste : variables aléatoires indépendantes (version de juin 2009)
• Propagation : simulation ou FORM/SORM (+Tirage Importance)
• Hiérarchisation : coefficients de corrélation (SRC & Co), Facteurs d’importance et de sensibilité
Génère le script python de l’étude (fichier.py)
Catalogue pour la fabrication des wrappers
Génère le script du couplage (fichier.xml)
EFICAS = aide à l’apprentissage de la TUI + à l’écriture des fichiers de couplage
0.13.2 : IHM graphique EFICAS - Démonstration
Variables probabilisées :
Module d’Young E Beta ( r=0.9, t=3.2, a=2.8e7, b=4.8e7 )
Force F LogNormale (E[F] = 3e4, [F] = 9e3, borne inf. = 1.5e4 )
Longueur L Uniforme (250, 260 )
Inertie de flexion Beta ( r=2.5, t=4.0, a=3.1e2, b=4.5e2 )
(unités adaptées pour avoir une déviation en cm)
Critère probabiliste : Dépassement du seuil 30 cm : d < -90 cm
Méthode : Monte Carlo (104 calculs)
Exemple d’une poutre encastrée en un bord
Déviation verticale : d = - FL3 / (3EI)
A venir…
Chantiers « techniques » envisagés
HPC
Bayésien
Séries chronologiques
Estimation de quantiles
v1.0
Macro-fonctions « utilisateurs »
Top Related