outils gratuits de visualisation et de post-traitement

106
Outils gratuits de visualisation et de post-traitement CUTIS : Club des Utilisateurs Toulousains d’Informatique Scientifique Hervé NEAU Alexei STOUKOV Annaïg PEDRONO Pierre ELYAKIME IMFT / CoSiNus 08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 1/106

Upload: lytram

Post on 05-Jan-2017

274 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Outils gratuits de visualisation et de post-traitement

Outils gratuits de visualisation et de post-traitement

CUTIS : Club des Utilisateurs Toulousains d’Informatique Scientifique

Hervé NEAUAlexei STOUKOVAnnaïg PEDRONOPierre ELYAKIME

IMFT / CoSiNus

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 1/106

Page 2: Outils gratuits de visualisation et de post-traitement

- Introduction

- XmGrace (Post-traitement 1D)

- Gnuplot (Post-traitement 1D/2D)

- ParaView (Post-traitement 2D/3D)

- Scilab (Programmation et visualisation)

- Conclusion

- Bonus 1 : Wink (création fichier flash)

- Bonus 2 : D’une série d’images à une vidéo (mencoder)

Plan de l’exposé

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 2/106

Page 3: Outils gratuits de visualisation et de post-traitement

Objectifs :

- Développer l’utilisation de logiciels gratuits de visualisation et de post-traitement

- Aider à la prise en main de ces logiciels

- Limiter l’utilisation inutile et inadaptée de logiciels payants (Matlab, Excel pour tracé xy)

Exemples de tarifs Education/Recherche de produits commerciaux :

- EnSight : logiciel de référence pour le post-traitement en mécanique des fluides Location annuelle de 40 licences = 4311 € TTC

- Tecplot : logiciel de post-traitement puissant et complet Location annuelle licence site

IMFT multi-plateforme = 5000 € TTC

- Matlab : langage de programmation pour le calcul numérique et la visualisation de données Location annuelle 75 Licences

INPT = 8 300 € TTC

Introduction

Introduction

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 3/106

Page 4: Outils gratuits de visualisation et de post-traitement

Exemples de produits du domaine public

Logiciel de visualisation et de post-traitement 1D :- Grace/Xmgrace : tracé de courbes 1D, grand nombre de possibilités : définition de l'échelle, des libellés, des symboles, des types de ligne, lecture/écriture des paramètres en cours de session, régression polynomiale, splines, DFT/FFT, fonction d'auto-corrélation

Logiciel de visualisation et de post-traitement 2D :- Gnuplot : utilitaire interactif de tracé par des commandes ; représentation de fonctions ou données 1D, 2D, de surface 2D ½ (z=f(x,y))

Logiciels de visualisation et de post-traitement 3D avec possibilité de scripts python :- ParaView - MayaVi- VisIt - …

Post-traitement avec programmation :- Scilab - Octave- JMATHLIB - FreeMat- Matplotlib - …

Introduction

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 4/106

Page 5: Outils gratuits de visualisation et de post-traitement

Présentation : Grace 5.1.22 - Outil du domaine public pour la représentation graphique des données 1D- Plateforme : systèmes avec un serveur X

Fonction : Post-traitement de données 1D- Définition de l'échelle, des libellés, des symboles, des types de ligne, ... - Lecture/Ecriture des paramètres en cours de session - Régression polynomiale, splines, DFT/FFT, fonction d'auto/correlation- Impression en format PostScript, pdf, jpeg, png, HPGL et FrameMaker (format .mif)

Installation à l’IMFT / Documentation- A l’IMFT, disponible sur toutes les machines Linux : /usr/bin/xmgrace

• User guide : /usr/share/doc/packages/xmgrace/doc/UsersGuide.html • Tutorial : /usr/share/doc/packages/xmgrace/doc/Tutorial.html• Faq : /usr/share/doc/packages/xmgrace/doc/FAQ.html

- Disponible sur la quasi-totalité des centres de calcul- Site web : http://plasma-gate.weizmann.ac.il/Grace/- Supports de cours : http://www.idris.fr/data/cours/visu/xmgrace/xmgrace.html

http://www.lptmc.jussieu.fr/user/viot/COURS/langage6.pdf

- Manuels détaillés : http://www.inel.gov/relap5/xmgr5.pdfhttp://vis.lbl.gov/NERSC/Software/grace/docs/UsersGuide.html

XmGrace

Grace / XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 5/106

Page 6: Outils gratuits de visualisation et de post-traitement

Utilisation basique

- Fichier de données à représenter :

nedit exemple.data

NB :Extension par défaut des données de Grace : *.dat

Pour voir les autres, il faut modifier le filtre : *.dat => *

- Lancement de xmgrace :

xmgrace exemple.data

visualisation automatique

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 6/106

Page 7: Outils gratuits de visualisation et de post-traitement

Structure de données

- Fichier de données à représenter : less exemplexyztuvw.org

- Data, Import, ASCII …, Load as, NXY

- G0.S0(2)(6) : Graphe 0, courbe 0 :col. 2=f(col. 1), type XY, 6 lignes

- …- G0.S6(2)(6) : Graphe 0, courbe 6 : col. 7 = f(col. 1), type XY, 6 lignes Possiblité de masquer certaines courbes, d’en supprimer, d’en éditer …

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 7/106

Page 8: Outils gratuits de visualisation et de post-traitement

Barre de menu

Raccourcis de visualisation

Ligne d’information

Coordonnées du curseur

Zone de visualisation

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 8/106

Page 9: Outils gratuits de visualisation et de post-traitement

XmGrace

Raccourcis clavier

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 9/106

Page 10: Outils gratuits de visualisation et de post-traitement

Modification de la mise en forme d’un tracé (1/3)

- Titre du tracé - Double clic sur le haut du dessin- Menu Plot, sous menu Graph Appareance

Les onglets Main, Title, Frame, ...permettent de personnaliser la présentation : - titre : taille, police, couleur- position de la légende, …- légende : taille, police, …

NB : Il est possible d’utiliser des caractères grecs :- Cliquer dans la zone de texte

du menu concerné- <ctrl-E> => fenêtre Font tool- Choisir la police Symbol- Entrer les caractères - Cliquer sur Apply

ou bien Fenêtre Graph Appearance

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 10/106

Page 11: Outils gratuits de visualisation et de post-traitement

Modification de la mise en forme d’un tracé (2/3)

- Modification et personnalisation des axes- Double clic au niveau des axes du tracé- Menu Plot, sous menu Axis properties

Les onglets Main, Axis label& bar, Tick labels, Ticksmarks et Special permettent de définir et personnaliser :- titre des axes : taille, police, …- repères, grille- intersection des axes- …

ou bien Fenêtre Axes

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 11/106

Page 12: Outils gratuits de visualisation et de post-traitement

Modification de la mise en forme d’un tracé (3/3)

- Personnalisation de la courbe- Double clic au niveau de la courbe- Menu Plot, sous menu Set appearance

Les onglets permettent d’adapter le style de la courbe, les symboles des points, les barres d’erreur, …

- Personnalisation de la fenêtre de tracé - Menu Plot, sous menu Plot appearance

ou bien

Fenêtre Set appearance

Fenêtre Plot appearance

NB : Pour ajouter des zones de texte, des lignes ou des flèches : Menu Windows, sous-menu Drawing Objects

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 12/106

Page 13: Outils gratuits de visualisation et de post-traitement

Exemple de mise en forme

Valeur critique

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 13/106

Page 14: Outils gratuits de visualisation et de post-traitement

Sauvegarde des données et de la mise en forme (paramètres) (1/2)

- Sauvegarde/Relecture des données et de la mise en forme

- Sauvegarde :- Menu File, sous-menu

Save ou Save as … exemple.agr

- Exemple de listing du fichier exemple.agr après sauvegarde

- Relecture :- xmgrace, menu File, sous-menu Open …- directement : xmgrace exemple.agr

- Sauvegarde/Relecture des données seules

- Sauvegarde :- Menu Data, sous-menu Export ASCII

- Relecture :- xmgrace, menu Data, sous-menu Import ASCII- directement : xmgrace exemple.data

XmGrace

ou bien

ou bien

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 14/106

Page 15: Outils gratuits de visualisation et de post-traitement

Sauvegarde des données et de la mise en forme (paramètres) (2/2)

- Sauvegarde/Relecture paramètres seuls

- Sauvegarde :- Menu Plot, sous-menu Save parameters exemple.par

- Relecture :- xmgrace, menu Plot, sous-menu Load parameters- directement : xmgrace exemple.data –p exemple.par

Même mise en forme pour différents fichiers de données (étude paramétrique) Plusieurs présentations pour un ensemble de données

- Modification des paramètres

- Menu Window, sous-menu Commands : modification de la mise en forme grâce à des commandes entrées interactivement

- Sauvegarde de ces paramètres (ajout à ceux existants) dans un fichier par les sous-menus Save ou Save parameters

Même syntaxe dans les 2 cas (cf. documentation en ligne)

XmGrace

ou bien

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 15/106

Page 16: Outils gratuits de visualisation et de post-traitement

Mise en forme avancée (multigraphes, couleur, date/heure, …)

XmGrace

Multigraphes :Menu Edit, sous menu

Arrange graphs

Date et heure :Menu Plot

appearance,enable Time

stamp

NB : taille de la page par défaut

letter à remplacer par

A4

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 16/106

Page 17: Outils gratuits de visualisation et de post-traitement

Courbes analytiques

- Menu Edit, sous-menu Data sets… Fenêtre Data set properties

- Menu Edit, sous-menu Create new, By formula

- Exemple :y=cos (x) pour x=[0,30] avecun échantillonnage de 400 points

- Cliquer sur As (AutoScale) pour visualiser la courbe

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 17/106

Page 18: Outils gratuits de visualisation et de post-traitement

Transformations de données (1/2)

- Menu Data, sous-menu Transformations large choix de fonctions

- Exemple de combinaison de courbes :

Courbe 0 : y=cos (x) Courbe 1 : y=2x Courbe 2 : 2*Courbe 0 + Courbe 1

- Créer les courbes analytiques 0 et 1 : G0.S0 et G0.S1

- Créer la courbe 2 combinaison des courbes 0 et 1 :- Menu Edit, sous-menu Data Sets …- Sélectionner une des 2 courbes, menu Edit et Duplicate Courbe 2 créée : G0.S2

- Modifier la courbe 2 : - Menu Data, sous-menu Transformations et

Evaluate expression- Sélectionner courbe 2 : G0.S2 comme Source et Destination- Dans formula, entrer la formule de la courbe 2 puis Apply :

s2.y=2*s0.y+s1.y (s2.x=s1.x inutile car même x pour tous) Courbe 2 modifiée : G0.S2 : 2*Courbe 0 + Courbe 1

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 18/106

Page 19: Outils gratuits de visualisation et de post-traitement

NB:

- Modification manuelle des points : menu Edit, Data sets… , Edit, Edit data, In text editor

- Pour faire des opérations entre données, attention aux abscisses!

Transformations de données (2/2)

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 19/106

Page 20: Outils gratuits de visualisation et de post-traitement

Extraction des « caractéristiques » des données

- Menu Data, sous-menu Feature extraction…

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 20/106

Page 21: Outils gratuits de visualisation et de post-traitement

Lecture spécifique de fichiers de données

- Comment ne lire que certaines colonnes dans un fichier?- Menu Data, sous-menu Import ASCII … Fenêtre Read sets

- Sélectionner le fichier : ici exemplexyztuvw.org- Menu Bouton Load as, sélectionner Block data, puis cliquer sur OK Fenêtre Edit block data

- Sélectionner le type de données : ici XY- Sélectionner la colonne contenant les données pour X : ici 1(s’il n’y en a pas => Index)

- Sélectionner la colonne contenant les données pour Y : ici 4- Apply

- En inversant les choix pour X et Y

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 21/106

Page 22: Outils gratuits de visualisation et de post-traitement

Détails de toutes les options : xmgrace –help

-autoscale x|y|xy Override any parameter file settings-batch batch_file Execute batch_file on start up-dpipe descriptor Read data from descriptor on startup-fixed width height Set canvas size fixed to width*height-graphtype graph_type Set the type of the current graph-hardcopy No interactive session, just print and quit-legend load Turn the graph legend on-log x|y|xy Set the axis scaling of the current graph to logarithmic-noprint In batch mode, do not print-npipe file Read data from named pipe on startup-nxy nxy_file Assume data file is in X Y1 Y2 Y3 ... format-param parameter_file Load parameters from parameter_file to the current graph-pexec parameter_string Interpret string as a parameter setting-pipe Read data from stdin on startup-printfile file Save print output to file (hardcopy output)-results results_file Write results of some data manipulations to results_file-saveall save_file Save all graphs to save_file-timer delay Set allowed time slice for real time inputs to delay ms-timestamp Add timestamp to plot

Principales options d’appel de XmGrace

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 22/106

Page 23: Outils gratuits de visualisation et de post-traitement

Pipe et Batch (1/3)

- Post-traitement via un script de exemple.data avec sortie d’un fichier jpeg

cat exemple.data | xmgrace -pipe -hdevice JPEG -hardcopy -printfile exemple.jpeg

Création du fichier exemple.jpeg dans le répertoire de lancement de la commande

Visualisation de l’image (xv, gwenview, …)

- Post-traitement avec mise en forme (exemple.par) via un script de exemple.data avec sortie d’un fichier jpeg

cat exemple.org | xmgrace -pipe -hdevice JPEG -hardcopy -printfile exemple2.jpeg -param exemple.par

Création du fichier exemple2.jpeg dans le répertoire de lancement de la commande

Visualisation de l’image (xv, gwenview, …)

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 23/106

Page 24: Outils gratuits de visualisation et de post-traitement

Pipe et Batch (2/3)

- Visualisation automatisée de n fichiers de données : création d’une vidéo via un script shell, lancer n fois la commande précédente (1 fois par fichier de données) n fichiers jpeg => création d’une vidéo *.avi avec mencoder ou

d’un gif animé avec gimp (convert *.jpeg exemple.gif)

- Exemple de script shell script_xmgrace pour créer une animation sur 5 fichiers de données : exemple*.dat

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 24/106

Page 25: Outils gratuits de visualisation et de post-traitement

Pipe et Batch (3/3)

Listing d’exécution du script script_xmgrace

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 25/106

Page 26: Outils gratuits de visualisation et de post-traitement

Autres fonctionnalités « sympa »- Caractères spéciaux :

Lettres accentuées, caractères grecs, indices/puissancesTableau ci-contre => toutes les combinaisons possibles

- Exemple : Pour le titre d’un graphe (Graph Appearance)

- Multigraphes :

possibilité de regrouper n graphes sur une même feuille (ici n=20)

XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 26/105

Page 27: Outils gratuits de visualisation et de post-traitement

Animations avec XmGraceExemple d’animation : http://www.mpipks-dresden.mpg.de/mpi-doc/kantzgruppe/wiki/projects/Xmgrace.html

A program (mush.exe) generates the dynamics of the billiard. The (x,y) components of the trajectory at each instant are in trajectory.dat and trajectory2.dat. The frame of the mushroom table is at the file frame.dat. The program that reads these files and plots them inside Xmgrace commands was written in C (mus_grace.c).

mus.exe [points] [line] [frames] [file] points=[1 or 2] line=1 yes, 0 no frames=[1,10^5] file=trajectory

A typical command to animate with the XmGrace :./mus.exe 2 1 300 trajectory | xmgrace -pipe -noask -autoscale none -fixed 1200 800 -timestamp -nosafe

-geometry 1200x1200 The condensed command :./anime_mus.exe 2 1 300 trajectory

To generate gif animator, uncomment the lines 251-254 in the program "mus_grace.c" above and create the directory "fig/". Then useconvert *.png animation.gif

Do yourself: gcc -o mus.exe -lm mus_grace.cchmod 755 anime.exe./anime_mus.exe 2 1 300 trajectory => animation on Xmgrace screen

=> png files in "fig/".

XmGrace

Gif Animé 4Ko XmGrace

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 27/106

Page 28: Outils gratuits de visualisation et de post-traitement

Présentation : Gnuplot 4.4 Patchlevel 2- Produit du domaine public pour le tracé de fonctions et de données. Les données ont 2 dimensions spatiales au maximum (1D, 2D, 2D½)

- Plates-formes disponibles : Linux, Unix, Windows, Mac- Possède son propre langage interprété - Utilisation en batch ou en interactif

- The "GNU" in gnuplot is NOT related to the Free Software Foundation, the naming is just a coincidence

Où trouver Gnuplot- A l’IMFT, disponible sur toutes les machines Linux : gnuplot

- User guide : /usr/share/doc/packages/gnuplot/doc/gnuplot.pdf - Site web : http://www.gnuplot.info- Documentation : http://www.gnuplot.info/docs_4.4/gnuplot.pdf

http://hebergement.u-psud.fr/naulin/notice_gnuplot_magistere.pdfhttp://www.manpagez.com/info/gnuplot/gnuplot-4.4.0/gnuplot_190.phphttp://www.idris.fr/data/cours/visu/gnuplot/gnuplot.html

- Documentation en français : http://www.ensta-paristech.fr/~kielbasi/docs/gnuplot.pdfhttp://f3wm.kegtux.org/linux/gnuplot.htmlhttp://calcul.math.cnrs.fr/Documents/Ecoles/PF-2011/Cours/gnuplot_THOLIN.pdfhttp://ofset.sourceforge.net/freeduc/book/book_17.htmlhttp://bdesgraupes.pagesperso-orange.fr/UPX/Master1/presentation_gnuplot.pdf

Gnuplot

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 28/106

Page 29: Outils gratuits de visualisation et de post-traitement

Principe d’utilisation

- Utilisation :gnuplotset options plot { ranges } { <function> | { "<datafile>" ...} splot { ranges } { <function> | {"<datafile>" ....} quit

- Exemples :

gnuplot> plot sin(x) => tracé fonction sinus(x)

gnuplot> splot f(x) => tracé surface f(x,y)

- NB : - Pour sortir d’un menu, taper "q" (comme sous vi)- Accéder au menu d’aide : "help"- Sortir du menu d’aide : "Return"- Quitter Gnuplot : "exit", "quit" ou "<Ctrl>-D"

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 29/106

Page 30: Outils gratuits de visualisation et de post-traitement

Principe d’utilisation

- Accès à l’aide générale :

gnuplot> help

- Accès à l’aide sur un point précis :

gnuplot> help sin

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 30/106

Page 31: Outils gratuits de visualisation et de post-traitement

Utilisation basique

- Exécution + tracé d’une fonction

__ Lancement de Gnuplot__ Commande de tracé de sin(x) __ Sortie de Gnuplot

Gnuplot

Visualisation de la fonction dans une fenêtre Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 31/106

Page 32: Outils gratuits de visualisation et de post-traitement

Visualisation basique d’un fichier de données

- Exemple d’un fichiers de données : évolution de la population mondialede gnous et de pingouins de 1970 à 2000 : population.dat

- Visualisation des points

- Visualisation de la 1ère courbe

- Visualisation des 2 courbes

ou bien

Gnuplot

Intervalles

des X et Y

Titre de la

légende

Relier les points

par des segments

gnuplot> plot "population.dat"

gnuplot> plot [*:*] [0:1800] "population.dat" title "pingouins" with linespoints

gnuplot> plot [*:*] [0:1800] "population.dat" title "pingouins" with linespointsgnuplot> replot "population.dat" using 1:3 title "gnous" with linespoints

gnuplot> plot [*:*] [0:1800] "population.dat" title "pingouins" withlinespoints, "population.dat" using 1:3 title "gnous" with linespoints

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 32/106

Page 33: Outils gratuits de visualisation et de post-traitement

Mise en forme

- Set, show et les paramètres :- set : ajustement d’un très grand nombre d'options et de

paramètres par défaut- help set : liste détaillée de ces options- Exemple : gnuplot> set xrange [1980:1995]

gnuplot> set Yrange [0:1400]gnuplot> plot "population.dat" title "pingouins" with linespoints, "population.dat"

using 1:3 title "gnous" with linespoints- nombreuses variantes pour les autres variables : y, x2, y2 (pour les axes secondaires), z (pour le tracé

de surfaces), r (pour le mode polaire) et t, u, v (pour les courbes/surfaces paramétriques).

- show : permet de connaître la valeur d'un paramètre défini avec set. Ces valeurs peuvent être numériques, des intervalles, des mots-clefs tirés d'un ensemble bien défini, ON ou OFF (options binaires)

NB:- Utilisation de couples de mots-clefs : set commande, set nocommande

- Exemple courbe de Lissajous : gnuplot> set parametricgnuplot> plot sin(2*t),sin(3*t) gnuplot> set noparametric

- Passage en mode polaire (set polar, set nopolar) - Combinaison des modes polaire et paramétrique

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 33/106

Page 34: Outils gratuits de visualisation et de post-traitement

Fonctions et paramètres

- Création et réutilisation de fonctions :

- Optimisation d’un tracé

Modification de la précision du tracé une nouvelle fonction

Gnuplot

gnuplot> r(x,y)=sqrt(x**2+y**2) Définition de la fonction r(x,y)gnuplot> a=2 Définition de paramètres (ici a=2)gnuplot> f(x,y)=a*sin(r(x,y))/r(x,y) Définition de f(x,y) avec

réutilisation de la fonction r(x,y) gnuplot> splot f(x,y) Tracé de la fonction surfacique

graphe basique : surface représentée comme un réseau d’iso-courbes x et y, régulièrement espacées, dont toutes les lignes sont visibles

gnuplot> set hidden3d Activation lignes cachéesgnuplot> set isosamples 30,30 Nombre de lignes tracées dans

chaque direction (ici 30*30) régulièrement espacées

gnuplot> replot Actualisation du dernier tracé avec les nouveaux paramètres

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 34/106

Page 35: Outils gratuits de visualisation et de post-traitement

Tracés avec intervalle et titre

- Intervalle sur les abscisses :

- Intervalle sur les abscisses et les ordonnées :

ou bien

- Titres :

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 35/106

Page 36: Outils gratuits de visualisation et de post-traitement

Fonctions paramétriques ou polaires

- Mode paramétrique + tracé de sin(t)/t =f(t) + titre légende :

-

- Tracé de t=f(sin(t)/t) :

Création, sauvegarde et relecture d’une fonction

- Création, sauvegarde et lecture d’une nouvelle fonction

fonction.dat

Gnuplot

"

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 36/106

Page 37: Outils gratuits de visualisation et de post-traitement

Fonctions 2D ½ (surfacique)- Tracés basiques :

- Tracés avancés :

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 37/106

Page 38: Outils gratuits de visualisation et de post-traitement

Tracés d’iso-contours

- Tracés d’iso-contours avec surface :

- Tracés d’iso-contours sans surface

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 38/106

Page 39: Outils gratuits de visualisation et de post-traitement

Lecture de données (1/3)- Format :

- ASCII - binaire (cf. http://bdesgraupes.pagesperso-orange.fr/UPX/Master1/presentation_gnuplot.pdf)

- Fichier en colonne- Ligne commençant par un # => commentaire

- Tracé par défaut : plot 'plotxy.dat'- Colonne 2 = f(colonne 1)- Seuls les points sont tracés par défaut. Pour ajouter les segments

de droite : plot 'plotxy.dat' with linespoints

- using : modificateur le plus courant pour les fichiers de données- Syntaxe : plot 'fichier' using {<entree> {:<entree> {:<entree> ...}}} {'format'}

- Si un format est spécifié, chaque enregistrement est lu par la fonction 'scanf' (du C), avec la chaîne de format spécifiée. Sinon, l'enregistrement est lu et scindé en colonnes selon les espaces et tabulations.

- L'expression peut utiliser $1 pour accéder au premier nombre lu, $2 pour le deuxième, etc…

- 'scanf' accepte plusieurs spécifications numériques mais Gnuplot n'accepte en entrée que des réels en virgule flottante double précision, donc "lf" est le seul spécificateur permis.

'scanf' attend des blancs : espace, tabulation ("\t"), saut de ligne ("\n"), ou saut de page ("\f"), entre les nombres. Tout le reste doit explicitement être éliminé de la chaîne d'entrée!

Gnuplot

Exemple pour le fichier plotxy.dat

ou

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 39/106

Page 40: Outils gratuits de visualisation et de post-traitement

Lecture de données (2/3)- Exemples :

plot ‘plotxy_virg.txt ’ using 1:($2+$3) "%lf,%lf,%lf" with linespoints tracé de la somme des 2ème et 3ème colonnes

du fichier plotxy_virg.txt en fonction de la première avec comme séparateur des ","

plot ‘plotxy_avance.txt’ using "%*lf%lf%*20[^\n]%lf" with linespoints données lues dans plotxy_avance.txt selon un format compliqué :

%*lf : ignore un nombre %If : lit un nombre double précision (x puis y) %*20[^\n] : ignore 20 caractères non-saut-de-ligne

plot ‘population.dat' using 1:($3>10 ? $2 : 1/0) with boxes : filtrage avec l’opérateur ternaire "?" tracé de la colonne 2 en fonction de la

colonne 1 à condition que les données de la colonne 3 dépasse 10.

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 40/106

Page 41: Outils gratuits de visualisation et de post-traitement

Lecture de données (3/3)- Exemples : données temporelles :

set xdata timeset timefmt "%d/%Y"set format x "%Y-%d"plot ’meteo.dat’ using 1:2 with steps

tracé des précipitations en fonction des mois de l’année 2012 à partir du fichier meteo.dat

NB: Gnuplot accepte des données temporelles. Aucun format ne peut être spécifié après usingdans ce mode temporel.

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 41/106

Page 42: Outils gratuits de visualisation et de post-traitement

Exemples de visualisation 2D ½ (surfacique) et d’histogramme

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 42/106

Page 43: Outils gratuits de visualisation et de post-traitement

Sauvegarde et lecture d’un script

- Sauvegarde d’un script :- tous les paramètres de mise en forme- les fonctions - les tracés

save ‘cmd.gnuplot’

- Relecture d’un script :

load ‘cmd.gnuplot’

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 43/106

Page 44: Outils gratuits de visualisation et de post-traitement

Commandes shell

- Pour accéder aux commandes shell, il faut précéder la commande de « ! » :

Impression dans un fichier *.ps

xv sin.ps

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 44/106

Page 45: Outils gratuits de visualisation et de post-traitement

Lancement en interactif ou en batch

Gnuplot peut être exécuté en mode script (batch) ou interactif (cf. help batch).

Tout argument passé en ligne de commande est interprété comme nom de fichier contenant des commandes Gnuplot. Chaque fichier est chargé avec la commande load, dans l'ordre spécifié. Gnuplot termine après le traitement du dernier fichier. Les commandes exit et quit terminent toutes les deux le fichier de commande courant et passent au suivant, jusqu'à ce que tous aient été traités.

- Exemples : - Session interactive : gnuplot- Session batch exécutant 2 fichiers de commande : gnuplot script1.gp script2.gp &

Un script (script.gp) peut être lancé de deux manières : - soit en mode interactif, en tapant à l'invite après avoir lancé gnuplot : load "script.gp" - soit en mode "batch", en invoquant directement dans la fenêtre shell : gnuplot script.gp &

Dans ce mode batch, Gnuplot exécute les commandes du fichier, puis termine directement. parfait pour sauver automatiquement des images la commande pause force Gnuplot à attendre une action de l'utilisateur permettant de visualiser le résultat.

Gnuplot

Listing de script.gp

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 45/106

Page 46: Outils gratuits de visualisation et de post-traitement

Exemple d’utilisation en batch (1/2) : Suivi journalier automatique de l’utilisation des licences Matlab à l’INPT (A. Stoukov)

- Serveur de jetons de l’INPT : création d’un fichier x.dat date et nombre maximal de jetons utilisés simultanément

Pour une date, 1 colonne = 1 produit MathWorks

- Script en perl (create_plot_max.pl) :- interroge le serveur de jetons afin d'identifier les colonnes

- crée le fichier script Gnuplot stats.plt- exécute "gnuplot stats.plt"

- Un cron exécute create_plot_max.pl images en png

NB: Le fichier stats.plt a été créé pour le deboggage mais ce n’est pas indispensable car perl peut le créer dans la mémoire.

Automatisation de l'affichage des statsd'utilisation sur le serveur intranet

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 46/106

Page 47: Outils gratuits de visualisation et de post-traitement

Exemple d’utilisation en batch (2/2) : Suivi journalier de l’utilisation des licences matlab à l’INPT (A. Stoukov)

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 47/106

Page 48: Outils gratuits de visualisation et de post-traitement

Exemple de fitting : Tracé de speedup et d’approximation de cette courbe par un polynome d’ordre 2 (A. Stoukov)

Script visu.pltinterpréteur gnuplot

définition f(x) initialisation a, b, c

fit du speedup calculé (T1_coeur/Tn_coeurs) à partir des données du fichier speedup par f(x)

définition speedup linéaire f1(x)=xtracé du speedup calculé, de la fonction fit f(x)

et du speedup linéaire f1(x)

./visu.plt

Gnuplot

#!/usr/bin/gnuplot -persist# Exemple de trace de speedup et d'approximation de cette # courbe par le polynome d'ordre 2# Copyleft A.S. - 11/2010

f(x)=a*x**2+b*x+ca=0.1b=0.1c=0.1fit f(x) 'speedup' using 1:(119.32/$2) via a,b,cf1(x)=xplot 'speedup' using 1:(119.32/$2) w points title 'Speedup' , f(x) w l title 'Fit', f1(x) w l title 'Linear speedup'

1 119.323 41.774 35.245 31.486 28.497 26.74

Listing du fichier speedupColonne 1 : nombre de cœursColonne 2 : Local CPU time

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 48/106

Page 49: Outils gratuits de visualisation et de post-traitement

- abs(x) - acos(x) - acosh(x) - arg(x) - asin(x) - asinh(x) - atan(x) - atan2(y,x) - atanh(x) - EllipticK(k) - EllipticE(k) - EllipticPi(n,k) - besj0(x) - besj1(x) - besy0(x) - besy1(x) - ceil(x) - cos(x) - cosh(x) - erf(x) - erfc(x) - exp(x) - floor(x) - gamma(x) - ibeta(p,q,x) - inverf(x) - igamma(a,x) - imag(x) - invnorm(x) - int(x) - lambertw(x) - lgamma(x) - log(x) - log10(x) - norm(x) - rand(x) - real(x) - sgn(x) - sin(x) - sinh(x) - sqrt(x) - tan(x) - tanh(x)

Opérateurs

- ** : a**b exponentiation - * : a*b multiplication - / : a/b division - % : a%b modulo - + : a+b addition - - : a-b soustraction - == : a==b égalité - != : a!=b inégalité - < : a<b less than - <= : a<=b less than or = to - > : a>b greater than - >= : a>=b greater than or = to- & : a&b ET - ^ : a^b OU exclusif - | : a|b OU inclusif - && : a&&b ET logique - || : a||b OU logique - ?: : a?b:c opération ternaire - = : a = b assignment - , : (a,b) serial evaluation- . : A.B string concatenation

Liste des fonctions mathématiques prédéfinies

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 49/106

Page 50: Outils gratuits de visualisation et de post-traitement

Fonctionnalités

Gnuplot possède un grand nombre de fonctionnalités qui sont toutes documentées en ligne.

La principale difficulté est de savoir que les fonctionnalités existent : - exécution de scripts Gnuplot : help load, help call- changement de terminal et impression de tracés : help set term, help set output- tracé d'histogrammes, de barres d'erreurs, de graphes financiers, … : help style- ajustement de paramètres d'une fonction pour coller à un résultat expérimental

(Levenberg-Marquardt) : help fit-...

NB :D’une version à l’autre les fonctionnalités de Gnuplot peuventévoluer de façon significative

Gnuplot

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 50/106

Page 51: Outils gratuits de visualisation et de post-traitement

Présentation : ParaView 3.14.1- outil gratuit de visualisation et post-traitement 2D et 3D- traitement et la visualisation de grands volumes de données en parallèle - disponible sur machines monoprocesseur (Windows, Linux, Mac) comme

sur supercalculateurs à mémoire distribuée ou clusters (Linux, Unix)- gestion de nombreux formats d’entrée- gestion des maillages structurés et non structurés- version parallèle (MPI) et mode client / serveur

Spécificités :- application « open source » multi plate-forme - traitement distribué de très grosses données- interface ouverte, flexible et intuitive- standards « libres » pour développer une architecture extensible

. traitement et rendu des données : Visualization Toolkit (VTK, C++)

. interface utilisateur : Tcl/Tk and C++- création de nouveaux modules :

. lecture de données dans des formats spécifiques : « reader »)

. post-traitement personnalisés (iso-volumes, plan de coupe, …) : « filtres »- création de macros- lancement en batch

Paraview

ParaView

http://ait.web.psi.ch/services/visualization/docs/ParaView_20070220/slides.html

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 51/106

Page 52: Outils gratuits de visualisation et de post-traitement

ParaView

Où trouver ParaView- site web officiel de ParaView : http://www.paraview.org

Mode d’emploi :- User’s Guide en ligne- Paraview Guide payant depuis la version 1.7 (25$)- Tutoriaux disponibles sur leur site (Wiki) web ainsi que faq- Des « mailing list » très actives - 2 livres « The ParaView Guide » consultables à CoSiNus + 2 livres « VTK User’s Guide »

Téléchargement : http://www.paraview.org/paraview/resources/software.php- soit directement des exécutables pour Windows 32/64 , Linux 32/64, Mac OSX- soit les fichiers source à compiler (! compilation longue et délicate…)

Sites web : Intranet CoSiNus / IMFT- http://denali.princeton.edu/Paraview/ParaViewUsersGuide.v3.14.pdf- http://www.idris.fr/data/cours/visu/paraview/paraview.html- Mode Client/ serveur parallèle :

https://wiki.ucar.edu/display/dasg/Building+ParaView+for+Parallel+operation- ParaView et Python : ftp://ftp.cscs.ch/out/jfavre/EPF-L/ParaViewPython.pdf- Rendu avancé : http://cs-ljk.imag.fr/visualisation-46/examples/article/rendu-d-une-goutte- Présentations (installation, python, //, visu à distance) : http://cs-ljk.imag.fr/visualisation-46/paraview/

Paraview

Données 2D : Paraview + Blender

+ Luxrender

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 52/106

Page 53: Outils gratuits de visualisation et de post-traitement

Installation / Exécution

Installation - Pour une installation standard, télécharger la version compilée correspondant à votre

plate-forme (Linux, Windows, Mac OS X…) et suivre les instructions Installation très simple et rapide (téléchargement 65 à 112Mo + installation <5min) Dans le sous-répertoire bin du répertoire d’installation, exécutable paraview Accès à toutes les fonctionnalités

- Pour personnaliser Paraview ou bien l’installer sur une machine particulière, télécharger les sources, et les compiler avec cmake (http://www.cmake.org/HTML/Download.html)

NB : ParaView est maintenant installé sur de nombreux centres de calcul et souvent en mode client / serveur

Exécution de Paraview

- Sous Windows, double-clic sur l’icône Paraview

- Sous Linux : - dans le répertoire ./bin du répertoire d’installation, exécuter : ./paraview &

- A l’IMFT : paraview &

- Si lancement sur plusieurs processeurs en local (version compilée avec mpi) : mpirun –np 4 paraview &

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 53/106

Page 54: Outils gratuits de visualisation et de post-traitement

Paraview

Barre de menus pour l’accès aux menus déroulants

Données chargées

Zone d’affichage pour la visualisation

Barre d’état pour les messages d’aide, d’erreur ou d’indication d’avancement

Barre d’outils (plan de coupe, vecteur, iso-valeur, 3D, …)

Variables lisibles

Paramètres de visualisation

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 54/106

Page 55: Outils gratuits de visualisation et de post-traitement

08/02/2013 55/105Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

Paraview

http://www.itk.org/Wiki/File:ParaView_UsersGuide_ParaViewGUIOverview.png

Page 56: Outils gratuits de visualisation et de post-traitement

56/10508/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

Lecture d’un fichierFormats compatibles : http://paraview.org/Wiki/ParaView/Users_Guide/List_of_readers - ADAPT : .nc .cdf .elev .hdr - ANALYZE : .img .hdr - ANSYS : .inp - AVS UCD Binary/Ascii : .inp- BOV Files : .bov - BYU : .g - CAM NetCFD unstr. : .nc .ncdf - CCSM MTSD : .nc .cdf .elec .ncd- CCSM STSD : .nc .cdf .elec .ncd - CEAucd : .ucd .inp - CGNS : .cgns - CMAT : .cmat- CTRL : .ctrl - Case file : .spcth-timeseries - Chombo : .hdf5 .h5 - Claw : .claw- Comma-separated-values : .csv - Cosmology : .cosmo .gadget2- Curve2D : .curve .ultra .ult .u - DDCMD : .ddcmd- Digital Elevation Mal : .dem - Dyna3D : .dyn - EnSight : .case .Case - EnSight Master Serv : .sos .SOS- Enzo VisIt : .hierarchy - Enzo : .boudary - ExodusII : .g .e .ex2 …e-s* - ExtrudedVol : .exvol- FLASH VisIt : .flash .f5 - Fvcom * : .nc .cdf .elev .ncd - Facet Polygonal Data : .facet - Flash : .Flash .flash- Fluent Case : .cas - Fluent VisIt : .case - GGCM : .3df .mer - GTC : .h5- GULP : .trg - Gadget : .gadget - Gaussian Cube : .cube - Image : .pnm .ppm .sdt .spr .imgvol- JPEG Images : .jpg .jpeg - Lammps* : .dump .e .lammps - LODI * : .nc .cdf. Elev .ncd - LSDyna : .k .lsdyna . D3plot- Legacy VTK : .vtk .pvtk - Lines : .lines - M3DC1 : .h5 - MFIX Unstr. Grid : .RES- MM5 : .mm5 - MPAS NetCDF : .ncdf .nc - Meta Image : .mhd .mha - Metafile restart. ex : ex.timeseries- Miranda : .mir .raw - Multilevel 3d Plas. : .m3d .h5- NASTRAN : .nas .f06 - Nek5000 : .nek3d .nek .n…- Nrrd Raw Image : .nrrd .nhdr - OpenFOAM : .foam - PATRAN : .neu - PFLOTRAN : .h- PLOT2D : .p2d - PLOT 3D : .xyz - PLY Polygonal : .ply - PNG Image : .png- POP Ocean * : .pop .pop.nc* - ParaDIS : .prds .data .dat - ParaDIS Tecplot : .f… .cyl .dat - Paraview Data : .pvd- Phasta : .pht - Pixie : .h5 - Protein Data Bank : .ent .pdb - RAW : .raw- SAMRAI : .samrai - SAR : .SAR .sar - SAS : .sasgeom .sas .sasdata - SESAME : .sesame- SLAC Mesh : .ncdf .nc - SLC Particle : .ncdf .netcdf - Silo : .silo .pdb - Spheral : .spheral .sv- Spy Plot History : .t* .hsct* - SpyPlot CTH : .spc .spct - Stereo Lithography : . Stl - TFT : .dat .tft- TIFF Image : .tif .tiff - Tsurf : .ts_deg83 - Tecplot : .tec .TEC .Tec .tp .TP .plt - Tetrad : .hdf5 .h5- UNIC : .h5 - VASP * : .CHG .OUT . POS - VPIC : .vpc - VRML 2 : .wrl .vrml- VTK* - Velodyne : .vld .rst - VisIt Meta PLOT3d : .vp3d - VizSchema : .h5 .vsh5- Wavefront OBJ : .obj - WindBlade Data : .wind - Xmol Molecule : .xyz - XYZ : .xyz- Xdmf Reader : .xmf .xdmf - Xmdv : .okc - netCDF files gen … : .ncdf .nc - proSTAR : .cel .vrt

Paraview

Page 57: Outils gratuits de visualisation et de post-traitement

Lecture d’un fichier

- Lecture d’un fichier : - Menu File, sous-menu Open - Sélectionner le fichier à lire, puis OK- Dans le panneau gauche, fenêtre Pipeline browser,

sélectionner la ou les éléments à visualiser- Apply

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 57/106

Page 58: Outils gratuits de visualisation et de post-traitement

Visualisation- Utilisation de la souris :

- bouton gauche rotation- bouton droite zoom- bouton du centre translation

- Visualisation par défaut : géométrie en surface colorée par 1ère variable

- Visualisation plus avancée : légende avec l’échelle de couleur dimensions de la géométrie temps suppression du repère de rotation transparence modification de la palette de couleurs

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 58/106

Page 59: Outils gratuits de visualisation et de post-traitement

Propriétés des données et AffichageL’onglet Properties permet de connaitre les variables contenues dans un jeu de données et de choisir celles que l’on veut post-traiter.

L’onglet Display permet de paramétrer l’affichage :- choix de la variable- choix de la palette de couleurs- dimensions- type de représentation- transparence- …

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 59/106

Page 60: Outils gratuits de visualisation et de post-traitement

Informations sur les donnéesL’onglet Information permet d’obtenir des informations sur :- le type des données- le nombre de cellules

du maillage- la taille en mémoire - le nom des variables, leur type et leur min et max

- les dimensions du maillage

- les différentes sauvegardes en temps

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 60/106

Page 61: Outils gratuits de visualisation et de post-traitement

Terminologie

- reader : objet source qui lit les données depuis un ou plusieurs fichiers

- filter ou filtre : objet de travail qui à partir d’au moins 1 fichier de données (entrée) => 1 sortie

Exemples de filtres : plan de coupe, contour, ligne de courant, probe, …=> Données => Filtre 1=> Filtre 2 …

Après chaque filtre, les données changent de type => accès à plus ou moins de filtresLes filtres en noir sont ceux actifs, ceux grisés ne sont pas accessibles pour ce type de données

- Liste des filtres :- Barre de menu, Filters

Ex : Valeurs données aux nœuds du maillage > inactivation du filtre qui projette du centre cellule vers les nœuds

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 61/106

Page 62: Outils gratuits de visualisation et de post-traitement

Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

- Liste des filtres

Paraview

08/02/2013 62/106

Page 63: Outils gratuits de visualisation et de post-traitement

Filtres

- Il existe de nombreux filtres qui sont regroupés en 7 thèmes :

• Common: same set of filters as on the common filters toolbar

• Cosmology: filters developed at LANL for cosmology research

• Data Analysis : filters designed to retrieve quantitative values from the dataThese filters compute data on the mesh, extract elements from the mesh, or plot data.

• Material Analysis

• Statistics: filters that provide descriptive statistics of data, primarily in tabular form

• Temporal: filters that analyze or modify data that changes over timeAll filters can work on data that changes over time because they are re-executed at each time step. Filters in this category have the additional capability to inspect and make use of or even modify the temporal dimension.

• Alphabetical: filters do not fit into the above categories so all filters can be found here

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 63/106

Page 64: Outils gratuits de visualisation et de post-traitement

Exemples de visualisation avancée : Ecoulement de la chaleur interne et distribution de température autour d’un cube

- File, Open Data, choix cube.case, Apply Données au format Ensight 2 variables : 1 scalaire : température

1 vecteur : vitesse Visualisation par défaut de la

température en mode surface

Rotation + Color Legend + Cube axes + Opacity Visualisation en perspective du champ de

température du cube avec échelle et légence, dimensions de la géomtrie et transparence

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 64/106

Page 65: Outils gratuits de visualisation et de post-traitement

Plan de coupe

- Menu Filter, Slice- Définir le centre du plan de coupe et la normale

- Apply- Dans Pipeline Browser nouvelle entité : Slice

- Afficher cube.case en Outline

Visualisation plan de coupe

L’onglet Display permet de personnaliser l’affichage

NB: Possibilité de définir x plans de coupe

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 65/106

Page 66: Outils gratuits de visualisation et de post-traitement

Vecteurs vitesse

- Dans Pipeline Browser, sélectionner l’entité source des vecteurs vitesse (ici Slice2)

- Menu Filter, Alphabetical, Glyph

- Définir type de Glyph (ici Arrow), variable, orientation, échelles, …

- Apply nouvelle entité : Glyph

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 66/106

Page 67: Outils gratuits de visualisation et de post-traitement

Extraction de cellules répondant à un critère min/max

- Ici ne sont affichées que les cellules dont la température est comprise entre 15 et 48°C

Isosurface + Découpe du domaine

- Isosurface de température (15, 22,5, 30, 37,5, 45°C) sur le ½ cube arrière en X

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 67/106

Page 68: Outils gratuits de visualisation et de post-traitement

Sonde en 1 point (Probe) / profil 1D (PlotOverLine)

Possibilité de sauver les valeurs dans un fichier texte

Tracé partiellement paramétrableAbscisse = Arc_length

Lignes de courant

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 68/106

Page 69: Outils gratuits de visualisation et de post-traitement

Tracer en un point en fonction du temps

- Créer une sélection avec le filtre Select Point Through

- Filtre : Plot Selection Over Time

- Ici tracé du "displacement" et du "stress" en 1 pointen fonctiondu temps

Possibilité de sauver les valeursdans un fichier texte

Tracé partiellementparamétrable

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 69/106

Page 70: Outils gratuits de visualisation et de post-traitement

Autres fonctionnalités

- Calcul de nouvelles variables- Interpolation Cell data to Point data

- Capture d’écran : Menu File, Save View Image (bmp, jpg, png, …)- Sauvegarde d’animations : Menu File, Save animation

sauver des fichiers images (jpeg) et proscrire avi par défaut- Sauvegarde des actions en python : Tools, Start trace / Stop Trace (*.py)- Sauvegarde de l’état de visualisation de ParaView (*.pvsm) : Menu File, Save session state - Sauvegarde de l’ensemble des commandes python (*.py) : Menu File, Python state file- Mode batch, script python, …

Limitations- Affichage pas aussi paramétrable qu’avec EnSight ou Tecplot (temps, échelle, titre, tracé XY, …)- Ne gère pas de façon optimum les fichiers temporels pour les plots- Au sein du format EnSight, seul le format « C binary » doit être utilisé pour une bonne portabilité dans un code Fortran (unformatted + acces direct : cf. intranet CoSiNus)

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 70/106

Page 71: Outils gratuits de visualisation et de post-traitement

Paraview

Quelques formats d’écritures lisibles par ParaView

Ensight

BOV

VTK

Plot3D

Tecplot

http://wiki.canterbury.ac.nz/display/BlueFern/ParaView

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 71/106

Page 72: Outils gratuits de visualisation et de post-traitement

Paraview

Format BOV : Brick of values (1/5)

Format binaire encapsulé très pratique pour des maillages structurés rectilinéaires uniformes par direction (DNS par exemple) venant de VisIt=> un champ par pas de temps par fichier=> utile pour fichier de reprise de calcul

1 fichier d’entête *.bov ASCII décrit (encapsule) un fichier binaire

- Exemple : TIME: 1.23456DATA_FILE: ./U.bin# The data size corresponds to NX,NY,NZ in the above example code.DATA_SIZE: 256 512 256# Allowable values for DATA_FORMAT are: BYTE,SHORT,INT,FLOAT,DOUBLEDATA_FORMAT: DOUBLEVARIABLE: x_velocity# Endian representation of the computer that created the data.# On Linux default is LITTLE, on Unix (IBM) default is BIG.DATA_ENDIAN: LITTLE# Centering refers to how the data is distributed in a cell. If you# give “zonal” then it’s 1 data value per zone. Otherwise the data# will be centered at the nodes.CENTERING: nodal# Offset : 0 en CBYTE_OFFSET: 4BRICK_ORIGIN: 0. 0. 0.BRICK_SIZE: 1. 2. 1.

TempsFichier binaire encapsuléNb de nœud par direction

Format de la variableNom de la variable

Little ou big endian

Cell data ou node data

Offset (0 en C; 4 en Fortran)Coordonnées de l’origine

Dimensions du bloc

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 72/106

Page 73: Outils gratuits de visualisation et de post-traitement

Paraview

Format BOV (2/5)

- Génération du fichier binaire - en Fortran 90 : write_bin.f90

- Compilation : gfortran write_bin.f90 pfg90 write_bin.f90 ifort write_bin.f90- Exécution : a.out => U.bin- Fichier entête *.bov : BYTE_OFFSET: 4 => Paraview

NB : Par rapport au binaire C, chaque instruction indépendante write() en format binaire Fortran unformatted ajoute en début et fin du bloc de données un mot (4 bytes) donnant la taille du bloc.

write(10) k [4] [valeur binaire pour k] [4] 1 variable = 4 bytes (entier / flottant) write(10) ((a(i,j),i=1,2),j=1,3) [24] 6*[valeurs binaires pour a(.,.)] [24] avec [] : bloc de 4 byteswrite(10) b,c [8] [valeurs binaires pour b] [valeur binaire pour c] [8]

Avec pgf90 et ifort, il est possible de remplacer l’argument ’unformatted’ du OPEN par ’binary’. L’écriture se fait alors comme en C et l’offset du *.bov devient donc 0 au lieu de 4.

Valorisation U(i,j,k)

Ouverture fichier binaire fortranOuverture fichier binaire C si supporté

par compilateurEcriture de U

Fermeture du fichier

PROGRAM write_binIMPLICIT NONEDOUBLE PRECISION U(256,512,256)INTEGER :: i,j,kDO 1 k=1,256; DO 1 j=1,512; DO 1 i=1,256

U(i,j,k)=i+j+k1 ENDDO OPEN(unit = 10, status='replace', file='U.bin', form='unformatted')!OPEN(unit = 10, status='replace', file='U.bin', form='binary')WRITE(10) UCLOSE(10)END PROGRAM write_bin

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 73/106

Page 74: Outils gratuits de visualisation et de post-traitement

Paraview

Format BOV (3/5)

- en C : write_bin.c

- Compilation : gcc write_bin.c icc write_bin.c- Exécution : a.out => U.bin- Fichier entête *.bov : BYTE_OFFSET: 0 => Paraview

Allocation dynamique U(i*j*k)

Ouverture fichier binaire C

Ecriture de U

Fermeture du fichier

#include <stdio.h>#include <stdlib.h>

int main(){int i,j,k,index = 0;int NX = 256; int NY = 512; int NZ = 256;FILE *f = NULL;double* U=malloc(NX * NY * NZ * sizeof(double));for(k = 0; k < NZ; ++k)

for(j = 0; j < NY; ++j)for(i = 0; i < NX; ++i)

U[k*NY*NX + j*NX + i] = i+j+k;f = fopen("U.bin", "wb");fwrite((void *)U, sizeof(double), NZ*NY*NX, f);fclose(f);free(U);return 0;

}

Valorisation U(i*j*k)

Libération de la mémoire U

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 74/106

Page 75: Outils gratuits de visualisation et de post-traitement

Paraview

Format BOV (4/5)

- en C++ : write_bin.c++

- Compilation : g++ write_bin.c++- Exécution : a.out => U.bin- Fichier entête *.bov : BYTE_OFFSET: 0 => Paraview

Allocation dynamique U(i*j*k)

Ouverture fichier binaire C

Ecriture de U

Fermeture du fichier

#include <stdio.h>#include <stdlib.h>

int main(){int i,j,k,index = 0;int NX = 256; int NY = 512; int NZ = 256;FILE *f;double *U = new double[NX*NY*NZ];for (k=0; k<NZ; k++)

for (j=0; j<NY; j++)for (i=0; i<NX; i++)

U[k*NY*NX + j*NX + i] = i+j+k;f = fopen("Ucplusplus.bin", "wb");if ( f == NULL ){printf("Probleme !\n");}else{fwrite(U, sizeof(double), NZ*NY*NX, f);printf("good!\n");fclose(f);}delete[] U;

}

Valorisation U(i*j*k)

Libération de la mémoire U

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 75/106

Page 76: Outils gratuits de visualisation et de post-traitement

Paraview

Format BOV (5/5)

- en MPI-IO Fortran :Main_write_mpiio.f90

source /PRODCOM/bin/config.cshmympi ifort ou mympi pgfmpif90 Main_write_mpiio.f90mpirun –np 4 ./a.out

Fichier entête *.bov : BYTE_OFFSET: 12 => paraview

Proc 0 : Ecriture nx,ny,nz

Ouverture fichier binaire (format C)

Création des vues : masque par cœur

Accès par cœur au fichier binaire

call mpi_file_open( mpi_comm_world, trim(filename), ior(mpi_mode_create, &mpi_mode_wronly), mpi_info_null, descripteur, code )

dimsuids(1) = nx; dimsuids(2) = ny; dimsuids(3) = nzustart(1) = sx-1 ;ustart(2) = sy-1 ; ustart(3) = sz-1ucount(1) = ex - sx + 1; ucount(2) = ey - sy + 1; ucount(3) = ez - sz + 1 if(rang == 0) then

call mpi_file_write(descripteur, dimsuids, 3, mpi_integer, &mpi_status_ignore,code)

end if ! offset = 12 to write var array dimensions (nx,ny,nz) before valuespos_file = sizeof(dimsuids) call mpi_type_create_subarray(3, dimsuids, ucount, ustart, &

mpi_order_fortran, mpi_real8, filetype, code) call mpi_type_commit(filetype, code) locsize = product(ucount) call mpi_file_set_view(descripteur, pos_file, mpi_real8, &

filetype, "native", mpi_info_null, code) call mpi_file_write_all(descripteur, var, locsize, mpi_real8,mpi_status_ignore, &

code) call mpi_file_close(descripteur, code) call mpi_type_free(filetype, code)

Offset de 3*4bytes : écriture nx, ny, nz

Ecriture de la variable

Taille des données par cœurValidation du type MPI des vues

Fermeture du fichier binaireDésallocation du type MPI

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 76/106

Page 77: Outils gratuits de visualisation et de post-traitement

Paraview

Formats de fichiers VTK

- Description complète des 2 formats VTK : http://www.vtk.org/VTK/img/file-formats.pdf- 2 livres « VTK User’s Guide » consultables à CoSiNus

Simple legacy format : Le plus simple, format séquentiel, facile à lire et à écrire à la main ou automatiquement mais moins flexible que ceux basés sur XML

XML format (eXtensible Markup Language : métalangage permettant d’inventer de nouvelles balises) : Plus délicats à utiliser, permettant les I/O parallèles, la compression des donnéesA préférer au format legacy VTK quand c’est possible

Par convention, à chaque type de données correspond une extension : • ImageData (.vti) — Serial vtkImageData (structured)• PolyData (.vtp) — Serial vtkPolyData (unstructured)• RectilinearGrid (.vtr) — Serial vtkRectilinearGrid (structured)• StructuredGrid (.vts) — Serial vtkStructuredGrid (structured)• UnstructuredGrid (.vtu) — Serial vtkUnstructuredGrid (unstructured)• PImageData (.pvti) — Parallel vtkImageData (structured)• PPolyData (.pvtp) — Parallel vtkPolyData (unstructured)• PRectilinearGrid (.pvtr) — Parallel vtkRectilinearGrid (structured)• PStructuredGrid (.pvts) — Parallel vtkStructuredGrid (structured)• PUnstructuredGrid (.pvtu) — Parallel vtkUnstructuredGrid (unstructured)

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 77/106

Page 78: Outils gratuits de visualisation et de post-traitement

Paraview

VTK : Simple Legacy

Le format de fichiers VTK classiques hérités du passé (“simple legacy formats”) est composé de 5 parties :

• # vtkDataFile Version x.x

• en-tête (256 caractères maximum se terminant par \n)• format des données : ASCII ou BINARY

• topologie des données, DATASET : STRUCTURED_POINTS, STRUCTURED_GRID, UNSTRUCTURED_GRID, POLYDATA, RECTILINEAR_GRID, FIELD

• description du jeu de données : POINT_DATA, CELL_DATA,suivi d’un entier donnant le nombre de points ou de cellules

# vtk DataFile Version 2.0Really cool dataASCII | BINARYDATASET type...POINT_DATA n...CELL_DATA n…

TitreFormat

Topologie

Entête

Attributs des jeux de données

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 78/106

Page 79: Outils gratuits de visualisation et de post-traitement

Paraview

Exemple de format de fichiers VTK ”classique” (1/2) :

# vtk DataFile Version 3.1Premier exemple \nASCIIDATASET UNSTRUCTURED_GRID Type de donnéesPOINTS 9 FLOAT Nécessaire pour ce DATASET0 0 00 1 00 2 01 2 01 1 01 0 02 0 02 1 02 2 0CELLS 4 20 Nécessaire pour ce DATASET4 0 5 4 1 Nombre de cellules : 44 1 4 3 2 Taille de la liste les définissant : 204 5 6 7 4 Pour chaque cellule : Nb pts Liste pts4 4 7 8 3CELL_TYPES 4 Nécessaire pour ce DATASET9 9 9 9 Type de chaque cellule : 9=VTK QUAD…

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 79/106

Page 80: Outils gratuits de visualisation et de post-traitement

Paraview

POINT_DATA 9 Données aux points : 2 scalaires

Exemple de format de SCALARS Pression FLOAT

fichiers VTK ”classique” : LOOKUP_TABLE default (Table des couleurs)

(2/2) 000121000SCALARS Temperature FLOATLOOKUP_TABLE default11.11.22.12.53.51.31.41.6CELL_DATA 4 Données cellules : un scalaireSCALARS Cell_Temperature FLOATLOOKUP_TABLE default0121

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 80/106

Page 81: Outils gratuits de visualisation et de post-traitement

Paraview

Exemple de format de fichiers VTU Format auto- descriptif utilisant

des balises

Exemple : Position de 10 particules (Points) vitesse + rayon (PointData)

Balise Points

Balise titre

<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian"><UnstructuredGrid><Piece NumberOfPoints=" 10 " NumberOfCells="0"><Points>

<DataArray type="Float32" NumberOfComponents="3" format="ascii">0.1597367003747256 -1.4479341772310840E-002 -0.9373475590231557 0.4519081277586044 -1.5019326217895210E-002 -0.9323674553677120 …7 lignes

-0.4519081277586044 -1.5019326217895210E-002 -0.9323674553677120 </DataArray>

</Points><PointData>

<DataArray type="Float32" Name="Vitesse" NumberOfComponents="3" format="ascii">5.2718103783379010E-002 0.4721535659700070 -4.9179832881017273E-002 8.0616282930066271E-002 0.4607956027206985 -2.2730773808916180E-002 …7 lignes8.0616282930066271E-002 0.4607956027206985 -2.2730773808916180E-002

</DataArray><DataArray type="Float32" Name="Rayon" format="ascii">

1.0000000000000000E-003 2.0000000000000000E-003 1.0000000000000000E-003 … 2 lignes1.0000000000000000E-003

</DataArray></PointData><Cells>

<DataArray type="Int32" Name="connectivity" format="ascii"></DataArray>

<DataArray type="UInt8" Name="types" format="ascii"></DataArray>

</Cells></Piece>

</UnstructuredGrid></VTKFile>

Balise variables associées aux points

Balise topologieBalise descriptive bloc

Fin Balise Points

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 81/106

Page 82: Outils gratuits de visualisation et de post-traitement

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 82/106

Page 83: Outils gratuits de visualisation et de post-traitement

Paraview

Formats de fichiers EnSight Gold

- Description complète des formats EnSight : http://www3.ensight.com/EnSight10_Docs/UserManual.pdf

- Format créé pour la mécanique des fluides, stable et reconnu par ParaView

EnSight 5 : Format hérité du passé, uniquement pour non-structuré et variable aux nœuds

EnSight 6 :Utilisation du fichier caseSupporte les maillages structurés et non structurésSupporte les variables aux nœuds ou par élément

EnSight Case Gold (recommandé)Plus rapide que EnSight 6 et plus efficace en mémoire (surtout pour les gros volumes de données)Utilise une numérotation par part et non plus un tableau global

=> un fichier descripteur => un fichier de géométrie=> n fichiers de données : 1 fichier par variable par pas de temps

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 83/106

Page 84: Outils gratuits de visualisation et de post-traitement

Paraview

Exemple d’écriture de données au format EnSight Gold binaire structuré (1/2) :

5 fichiers Fortran 90 + 1 Makefile (pour la compilation) détails sur intranet CoSiNus- ensight_case.f90 : écriture du fichier entête *.case- ensight_geo_curvilinear.f90 : écriture du fichier géométrie *.geo si curviligne- ensight_geo_rectilinear.f90 : écriture du fichier géométrie *.geo si rectiligne- ensight_var.f90 : écriture des variables - MainEnsight.f90 : programme principal

make => EnsightWrite.x TestCurvi.case

EnsightGeom.geo temperat*********.scl velocity*********.vec

…WriteBinary = .true. ! Ascii or binary switchcall WriteCurvEnsightGeo(1,nx,1,ny,1,nz, &

xp,yp,zp,GeoName,WriteBinary)

allocate(tab_time((nstop-ntini)/nprint+1))! Time Loopdo npt = ntini,nstop,nprintind = ind + 1tab_time(ind) = npt * 1. ! write vector fieldcall WriteEnsightVar(3,nx,ny,nz,vel,'velocity',WriteBinary, &

1,nx,1,ny,1,nz,npt)temp = temp + npt! write scalar fieldcall WriteEnsightVar(1,nx,ny,nz,temp,'temperat',WriteBinary, &

1,nx,1,ny,1,nz,npt)end docall EnsightCase(CaseName,VarNameArray,VarTypeArray,nb_var, &

GeoName,ntini,nstop,nprint,tab_time) end program MainEnsight

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 84/106

Page 85: Outils gratuits de visualisation et de post-traitement

Paraview

Exemple d’écriture de données au format EnSight Gold binaire structuré (2/2) :

- Fichier descripteur : *.case

********* : numéro du pas de temps sur 9 chiffres

FORMATtype: ensight gold

GEOMETRYmodel: EnsightGeom.geo

VARIABLEvector per node: velocity velocity*********.vecscalar per node: temperat temperat*********.scl

TIME time set: 1 number of steps: 6filename start number: 0filename increment: 10time values:

0.000 10.000 20.000 30.000 40.000 50.000

Nom du fichier de géométrie

Type de format EnSight

Nombre de pas de temps

Liste des variables de type vectorListe des variables de type scalar

Numéro du 1er pas de tempsIncrément du numéro du pas de temps

Valeur des 6 pas de temps (s.)

Informations temporelles pour part 1

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 85/106

Page 86: Outils gratuits de visualisation et de post-traitement

Paraview

Exemple d’écriture de particules au format EnSight Gold binaire structuré (1/2) :

4 fichiers Fortran 90 + 1 Makefile (pour la compilation) détails sur intranet CoSiNus- WriteEnSightCasePart.f90 : écriture du fichier entête *.case pour les particules- WriteEnsightGeoPart.f90 : écriture du fichier géométrie *.geo pour les particules- WriteEnsightVarPart.f90 : écriture des variables associées aux particules- MainEnsightPart.f90 : programme principal

make => EnsightWritePart.x Particules.case

Particles********.geo temperat********.scl velocity********.vec

…WriteBinary = .true. ! Ascii or binary switch! Time Loopdo npt = ntini,nstop,nprintcall random_number(vel)vel = vel - 0.5 ! to center xp = mod(xp + vel(1,:)*0.1,1.)yp = mod(yp + vel(2,:)*0.1,1.)zp = mod(zp + vel(3,:)*0.1,1.)ind = ind + 1tab_time(ind) = npt * 1. ! write particles coordinatescall WriteEnsightGeoPart(1,np,xp,yp,zp,GeoName,WriteBinary,npt)! write vector fieldcall WriteEnsightVarPart(3,np,vel,'velocity',WriteBinary,1,np,npt)temp = temp + 0.1 ! write scalar fieldcall WriteEnsightVarPart(1,np,temp,'temperat',WriteBinary,1,np,npt)

end docall WriteEnsightCasePart(CaseName,VarNameArray, &

VarTypeArray, nb_var,GeoName,ntini,nstop,nprint,tab_time) end program MainEnsightPart

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 86/106

Page 87: Outils gratuits de visualisation et de post-traitement

Paraview

Exemple d’écriture de particules au format EnSight Gold binaire structuré (2/2) :

- Fichier descripteur : *.case

********** : numéro du pas de temps sur 8 chiffres

FORMATtype: ensight gold

GEOMETRYmodel: Particles********.geo

VARIABLEvector per node: velocity velocity********.vecscalar per node: temperat temperat********.scl

TIME time set: 1 number of steps: 6filename start number: 0filename increment: 10time values:

0.00010.00020.00030.00040.00050.000

Nom du fichier de géométrie

Type de format EnSight

Nombre de pas de temps

Liste des variables de type vectorListe des variables de type scalar

Numéro du 1er pas de tempsIncrément du numéro du pas de temps

Valeur des 6 pas de temps (s.)

Informations temporelles pour part 1

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 87/106

Page 88: Outils gratuits de visualisation et de post-traitement

Paraview

Plot 3D

- Description du format et routines d’écriture en f90 :http://www.grc.nasa.gov/WWW/wind/valid/plot3d.htmlhttp://people.sc.fsu.edu/~jburkardt/f_src/plot3d_io/plot3d_io.htmlhttp://people.sc.fsu.edu/~jburkardt/data/plot3d/plot3d.html

Tecplot

- Description du format propriétaire Tecplot :ftp://ftp.tecplot.com/pub/doc/tecplot/360/dataformat.pdf

- Format assez pratique pour la CFD mais qui évolue rapidement et qui n’est que partiellement supporté par ParaView

- Format à utiliser pour traiter des données mais pas comme format de sortie natif des résultats

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 88/106

Page 89: Outils gratuits de visualisation et de post-traitement

Bilan

- Logiciel de visualisation 3D très performant :

possibilité de traiter de très gros volumes de données y compris en parallèle

mode mode client / serveur

scriptable (Python)

- Logiciel ouvert en entrée (nombreux formats reconnus, possibilité de créer son propre reader)

- Logiciel personnalisable (créer son propre filter)

- Nombreuses fonctionnalités

- Logiciel en évolution constante et rapide

Très bon logiciel gratuit pour la visualisation et le post-traitement

Paraview

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 89/106

Page 90: Outils gratuits de visualisation et de post-traitement

11/02/2013

Scilab

Scilab

Présentation : Scilab 5.4 - Logiciel open source gratuit de calcul numérique : puissant environnement de développement pour les

applications scientifiques et l’ingénierie- Possède un grand nombre de fonctionnalités semblables à Matlab- Plateforme : Linux, Mac OSX, Windows- Scilab est distribué sous la licence open source CeCILL (compatible GPL)

Où trouver Scilab- site web officiel de Scilab :

http://www.scilab.org/fr

Mode d’emploi :- http://www.scilab.org/fr/resources/documentation

Aide, wiki, dictionnaire Matlab/Scilab, tutoriels, …

- http://www.iecn.u-nancy.fr/~pincon/scilab/doc.pdf- http://www.math.u-bordeaux1.fr/~ayger/initMS

- A l’IMFT, sous Linux installation sous /PRODCOM : scilab &

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 90/106

Page 91: Outils gratuits de visualisation et de post-traitement

11/02/2013

Accès à l’aide de Scilab

- Cliquez sur l’icone ou bien tapez F1

Scilab

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 91/106

Page 92: Outils gratuits de visualisation et de post-traitement

11/02/2013

Scilab possède de très nombreuses fonctions semblables à celles de Matlab

Fonctionnalités pour le traitement des données :- Visualisation 2D et 3D- Fonctions élémentaires (min, max, tri, …)- Manipulation matricielle – Algèbre linéaire- Mathématiques et simulation- Optimisation- Gestion de fichiers (écriture, lecture, …)- Outils statistiques (médiane, moyenne, … )- Interpolation (linéaire, spline, … )- Traitement du signal (fft, fft inverse, …)- Equation différentielle (évaluation d’une fonction, …)

Traduction Matlab / Scilab :Il existe des outils de "traduction" de programme Matlab en Scilab : mfile2sci

http://help.scilab.org/docs/5.4.0/fr_FR/mfile2sci.html

Scilab

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 92/106

Page 93: Outils gratuits de visualisation et de post-traitement

11/02/2013

Exemple de syntaxe Scilab / Matlab pour des plots XY

Syntaxe Scilabx = 1:10; figure; hold on; plot(x, sin(x), '-r'); plot(x, cos(x), '-c'); title('Exemple 2D'); legend('sin(x)';'cos(x)'); xlabel('Valeurs abscisse'); ylabel('Valeurs ordonnées'); hold off

Syntaxe Matlabx = 1:10; figure; hold on; plot(x, sin(x), '-r'); plot(x, cos(x), '-c'); title('Exemple 2D'); legend('sin(x)';'cos(x)'); xlabel('Valeurs abscisse'); ylabel('Valeurs ordonnées'); hold off

Scilab

=

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 93/106

Page 94: Outils gratuits de visualisation et de post-traitement

11/02/2013

Scilab

Syntaxe Scilabt=[0:0.3:2*%pi]';z=sin(t)*cos(t');figure; surf(t,t,z); title('Exemple 3D');

Exemple de syntaxe Scilab / Matlab pour des tracés 2D 1/2

Syntaxe Matlabt=[0:0.3:2*pi]';z=sin(t)*cos(t');figure; surf(t,t,z); title('Exemple 3D');

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 94/106

Page 95: Outils gratuits de visualisation et de post-traitement

11/02/2013

Scilab

Syntaxe Scilab

xmin = -1; xmax = 1; ymin = -1; ymax = 1;cadre = [xmin,ymin,xmax,ymax];xx = xmin:0.1:xmax; yy = ymin:0.1:ymax;[XX,YY]=ndgrid(xx,yy); UU = XX; VV = -YY;champ(xx,yy,UU,VV,rect=cadre);aa = get('current_axes');aa.x_location = 'middle'; aa.y_location = 'middle';

Exemple de syntaxe Scilab / Matlab pour des tracés de vecteurs

Syntaxe Matlab

xmin = -1; xmax = 1; ymin = -1; ymax = 1;cadre = [xmin,ymin,xmax,ymax];xx = xmin:0.1:xmax; yy = ymin:0.1:ymax;[XX,YY] = meshgrid(xx,yy);UU = XX; VV = -YY;quiver(XX,YY,UU,VV,'b')xlabel('x'); ylabel('y');xlim([xmin,xmax]); ylim([ymin,ymax]);

≠≠

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 95/106

Page 96: Outils gratuits de visualisation et de post-traitement

11/02/2013

Fonctions élémentaires :

- exp(x); sin(x); cos(x); log(x); log10(x); …

- min(x) : calcul du minimum d’un vecteur

- max(x) : calcul du maximum d’un vecteur

- gsort(x) : tri d’un vecteur

- find(x>10) : Détermine les indices i du vecteur x tel que x(i)>10

- modulo(n,m) : n modulo m

- norm(x,2) : norme 2 du vecteur x

- isempty(x) : détermine si le vecteur x est vide

- …

Scilab

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 96/106

Page 97: Outils gratuits de visualisation et de post-traitement

11/02/2013

Algèbre linéaire, manipulation matricielle

- A = [ 1 2 3; 4 5 6; 7 8 9 ] : écriture matricielle

- A + B : addition matricielle

- A*B : multiplication matricielle

- A.*B : multiplication terme à terme de matrices

- A’ : transposée de A

- inv(A) : calcul de l’inverse d’une matrice

- spec(A) : calcul des valeurs propres de A

- [R] = chol(A) : factorisation de Cholesky

- [A1 A2] = lu(A) : factorisation LU

- [Q R] = qr(A) : factorisation QR

- …

Scilab

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 97/106

Page 98: Outils gratuits de visualisation et de post-traitement

11/02/2013

Gestion des fichiers textes / binaires

- fd = mopen(fichier, ‘r’ ou ‘w’ ) : ouverture d’un fichier

- txt = mgetl(fd, m) : lecture d’un fichier texte

- mfprintf(fd,'hello %s %d.\n','world',1) : écriture dans un fichier texte

- mclose(fd) : fermeture du fichier texte

Outils statistiques

- mean(x) : calcul de la moyenne du vecteur/de la matrice x

- median(x) : calcul de la médiane des éléments du vecteur/de la matrice x

- st_deviation(x) : calcul de l’écart type des éléments du vecteur/de la matrice x

- correl(x,y,fre) : calcul de la corrélation entre les deux variables x et y

- variance(x) : calcul de la variance des éléments du vecteur/de la matrice x

- covar(x,y,fre) : calcul de la covariance entre les deux variables x et y

Scilab

08/02/2013 98/106Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

Page 99: Outils gratuits de visualisation et de post-traitement

11/02/2013

Interpolation

- interpln([x;y], xx) : interpolation linéaire

- interp1 : méthode d’interpolation 1D

- interp2 : méthode d’interpolation 2D

- interp3 : méthode d’interpolation 3D

- spline : interpolation par spline cubique

Traitement du signal

- x = fft(a) : transformée de Fourier rapide du vecteur a

- x = ifft(a) : transformée de Fourier rapide inverse du vecteur a

- x = fft2(a) : transformée de Fourier rapide en 2D

Scilab

08/02/2013 99/106Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

Page 100: Outils gratuits de visualisation et de post-traitement

11/02/2013

- Il existe un certain nombre de toolbox Scilab qui reprennent certaines fonctionnalités des toolbox Matlab.

Scilab

Matlab Toolbox Scilab Module CoverageMatlab Scilab, Atoms/Imsls, Atoms/Specfun, Atoms/makematrix, Atoms/csv_readwrite, Atoms/spilu 90% Simulink Xcos 80% Stateflow No 0% Stateflow Coder No 0% Simulink Verification and Validation No 0% Real-Time Workshop No ? Real-Time Workshop Embedded Coder No ? Control System Toolbox Scilab/CACSD ~50% Robust Control Toolbox Scilab/CACSD ? System Identification Toolbox Scilab/CACSD ? MATLAB Report Generator No 0% Simulink Report Generator No 0% Optimization Scilab/optimization, ATOMS/quapro, ATOMS/fmincon 80% Curve Fitting Toolbox Scilab/interpolation, Scilab/datafit, Scilab/fit_dat ? Global Optimization Genetic Algorithms,Simulated Annealing 50% Neural Network ATOMS/ANN, ATOMS/Lolimot Equalis Neural Network ?

Communications System Toolbox Forge/opc-client, Forge/serial-port Equalis Communication Module ?

Communications Blockset Sourceforge/Hart ATOMS/dde siseli ATOMS/socketAerospace Toolbox ATOMS/celestlab ? Aerospace Blockset No 0%

Toolbox (1/2)

08/02/2013 100/106Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

Page 101: Outils gratuits de visualisation et de post-traitement

11/02/2013

Scilab

Statistics Toolbox Scilab/statistics, Scilab/randlib, ATOMS/Stixbox, ATOMS/Lowdisc 30% Fuzzy logic toolbox No 0% Matlab Compiler ATOMS/scilab2c ? Matlab Fixed Point Equalis Fixed Point Toolbox ? Simulink Fixed Point No 0% SIM power systems No 0% Simulink Accelerator XCos/Code Generator 50% Signal Processing Toolbox Scilab/signal_processing Equalis Signal Processing Module ? Signal Processing Blockset No 0% Filter Design Scilab/Signal Processing 50% Image Processing Toolbox ATOMS/SIVP, ATOMS/IPD, Sourceforge/SIPModel Predictive Control Toolbox No 0% Partial Differential Equation Toolbox No 0% Simulink Control Design No 0% Symbolic Math Toolbox Forge/scimax, Forge/symcomp ? Database Toolbox Forge/ScidbMapping Toolbox No 0% Parallel Computing Toolbox Scilab/parallel_run, Scilab/Pvm module Equalis Soft Cruncher ? Real time windows target No 0% SimDriveline No 0% Simscape No 0% Simulink 3D Animation (Virtual reality toolbox) No 0% Spreadsheet Link EXCEL ATOMS/xls_link ? MATLAB Builder EXCEL ATOMS/Scilab_XLL ? XPC target No 0% XPC target embedded option No 0%

Toolbox (2/2)

08/02/2013 101/106Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

Page 102: Outils gratuits de visualisation et de post-traitement

- 1D XmGrace à l’IMFT, sous Linux : xmgrace (version 5.*)

- 2D Gnuplot à l’IMFT, sous Linux : gnuplot (version 4.*)

- 3D Paraview à l’IMFT, sous Linux : paraview (version 3.14)

- Calcul numérique Scilab à l’IMFT, sous Linux : scilab (version 5.4)

- Ces logiciels ne remplacent pas les logiciels commerciaux mais permettent le limiter le nombre de licences de logiciels payant et permettent une utilisation hors IMFT et hors VPN

- Il existe de nombreux autres logiciels gratuits de post-traitement : Mayavi, Visit, Vigie (INRIA), vtk, Octave,…

Conclusion

Conclusion : Logiciels gratuits de post-traitement

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 102/106

Page 103: Outils gratuits de visualisation et de post-traitement

Bonus

Bonus 1 : Wink Création de tutoriaux et de présentations au format flash

Présentation : Wink 2.0- Logiciel gratuit de création de tutoriaux et de présentation au format flash (*.swf)- Plateforme : Linux / Windows

Téléchargement / Installation- Site Web : http://www.debugmode.com/wink/

Spécificités :- Capture d’écran ou de fenêtre, automatique ou manuelle

(1 capture = 1frame)- Contrôle du temps par frame- Dimensionnement des frames- Insertion de sons, d’images, de textes, de liens, …- Optimisation de la palette pour diminuer la taille de document - A partir de n captures d’écran, création du document flash (*.swf) Installation très simple Prise en main très rapide (10 min pour la 1ère présentation flash), utilisation intuitive Documents flash de petite taille et de bonne qualitéNB : Nécessite l’installation de Macromédia Flash Player sous Windows et de GTK 2.4 ou mieux sous Linux

Exemple de présentation réalisée avec Wink par A. Stoukovhttps://intranet.imft.fr/Wink-creation-de-tutoriels-et-de,2470?var_mode=calcul

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 103/106

Page 104: Outils gratuits de visualisation et de post-traitement

Bonus

Bonus 2 : Création de vidéos à partir d’une série d’images

Cf. intranet CoSiNus : https://intranet.imft.fr/Creer-une-video-a-partir-d-un

Sous Linux : nécessite mencoder, ffmpeg, convert (préinstallés à l’IMFT)

- Créer les vidéos avi lisibles avec Windows Mediaplayer :mencoder mf://\*.jpg -mf w=800:h=600:fps=3:type=jpg -ovc lavc -lavcopts vcodec=wmv2 -oac copy -o output.avi

- Créer les vidéos avi lisibles avec mplayer sous linux ou VLC :mencoder mf://\*.jpg -mf w=800:h=600:fps=3:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o output.avi

- Créer les vidéos avi « HQ » en haute qualité lisibles avec mplayer sous linux ou VLC :mencoder mf://\*.jpg -mf w=1332:h=817:fps=8:type=jpg -ovc lavc –lavcoptsvcodec=mpeg4:vpass=2:vbitrate=5314:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3 -oac copy -o toto.avi

NB : Calcul optimal_bitrate = 50 * 25 * width * height / 256Parfois il faut remplacer vpass=2 par vpass=1

Vidéo 1146*626 8fpsà partir de 600 images Vidéo avi de 7,3Mo

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 104/106

Page 105: Outils gratuits de visualisation et de post-traitement

Bonus

Bonus 2 : Création de vidéos à partir d’une série d’images

- Créer un gif animé à partir d’images "png" : mkdir animfor i in 4540..5500..40 ; do cp Scene_1image0$i.png anim ; donecd animfor f in `ls -1` ; do convert $f `basename $f png`gif ;done/mnt/hmf/bin/gifmerge -20 -l0 Scene_1image0*.gif > anim.gifconvert -resample 13% -depth 3 anim.gif anim_small.gif

- Pour convertir une vidéo "avi" en vidéo "swf" pour les navigateurs Web :ffmpeg -i output2.avi output2.swf

- Pour convertir une vidéo "avi" en vidéo "swf" pour les navigateurs Web en qualité supérieure :ffmpeg -b 6000k -i isoa2_opt.avi isoa2_opt2.swf

- Sites de référence : http://mariovalle.name/mencoder/mencoder.htmlhttp://en.linuxreviews.org/HOWTO_Convert_video_fileshttp://www.mplayerhq.hu/DOCS/HTML/fr/menc-feat-selecting-codec.html

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 105/106

Page 106: Outils gratuits de visualisation et de post-traitement

Bonus

Bonus 2 : Création de vidéos à partir d’une série d’images

Freeware sous Windows : ImageToAVI 1.0.0.5- Logiciel gratuit sous Windows pour convertir une série d’images (*.bmp, *.jpg, *.gif) en une vidéo (*.avi)- Site Web : http://www.aswsoftware.com/products/imagetoavi/imagetoavi.shtml 1 version avec installation et 1 sans installation

Spécificités :- Très simple et rapide à installer et à utiliser- Contrôle frame/s., répétition frames- Choix de la taille de la vidéo (h*l)- Insertion audio, ajout d’un fond, zoom automatique - Grand choix de codec pour la compression vidéo

avi (privilégier cinepak codec by radius) Vidéos de petites tailles et de bonne qualité

Autres applications similaires gratuites :- sous Windows : VirtualDub, WinMorph, Ekd,

PhotoLapse 3, JavaScript Animator Express, …

- sous Linux : jpegtoavi, GifMerge+Gifsicle (gif animé), convert,Ekd …

EnSight tools …Vidéo 704*480 à partir de 335 images (60Mo) vidéo de 26Mo en

cinepak codec by radius

08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 106/106