Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour...

30
Open TURNS Journée Utilisateurs #2 22 juin 2009

Transcript of Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour...

Page 1: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

Open TURNS Journée Utilisateurs #2

22 juin 2009

Page 2: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 3: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 4: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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é

Page 5: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 6: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 7: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 8: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 9: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

Share.OpenTURNS.org

Page 10: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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,

Page 11: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 12: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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] ...

Page 13: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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() )

Page 14: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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]

Page 15: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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 )

Page 16: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 17: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 18: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 19: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 20: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 21: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 22: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 23: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 24: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 25: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 26: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 27: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 28: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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

Page 29: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

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)

Page 30: Open TURNS Journée Utilisateurs #2 22 juin 2009. Journée Utilisateurs Open TURNS #2 Ordre du jour La Communauté Open TURNS sagrandit Projets ayant adopté

A venir…

Chantiers « techniques » envisagés

HPC

Bayésien

Séries chronologiques

Estimation de quantiles

v1.0

Macro-fonctions « utilisateurs »