300 likes | 312 Views
Explore the growth and adoption of Open TURNS in various projects, including Debian labeling, scientific advancements, and upcoming developments. Discover user experiences and new features since the last User Day in April 2008.
E N D
22 juin 2009 Open TURNS Journée Utilisateurs #2
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
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 printpour 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 Exemple d’une poutre encastrée en un bord Déviation verticale : d = - FL3 / (3EI) • 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)
A venir… • Chantiers « techniques » envisagés • HPC • Bayésien • Séries chronologiques • Estimation de quantiles • v1.0 • Macro-fonctions « utilisateurs »