outils gratuits de visualisation et de post-traitement
TRANSCRIPT
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
- 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
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
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
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
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
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
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
XmGrace
Raccourcis clavier
08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 9/106
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
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
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
Exemple de mise en forme
Valeur critique
XmGrace
08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 13/106
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Fonctions 2D ½ (surfacique)- Tracés basiques :
- Tracés avancés :
Gnuplot
08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 37/106
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
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
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
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
Exemples de visualisation 2D ½ (surfacique) et d’histogramme
Gnuplot
08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 42/106
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
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
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
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
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
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
- 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
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
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
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
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
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
08/02/2013 55/105Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)
Paraview
http://www.itk.org/Wiki/File:ParaView_UsersGuide_ParaViewGUIOverview.png
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
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
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
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
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
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
Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)
- Liste des filtres
Paraview
08/02/2013 62/106
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Paraview
08/02/2013 Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT) 82/106
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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)
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)
- 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
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
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
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
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