downloading

publicité
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 TURNS
Projets 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 TURNS
Groupes 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
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 »
Téléchargement