Vous êtes sur la page 1sur 106

Outils gratuits

de visualisation et de post-traitement

IMFT / CoSiNus

Herv NEAU
Alexei STOUKOV
Annag PEDRONO
Pierre ELYAKIME

CUTIS : Club des Utilisateurs Toulousains dInformatique Scientifique


08/02/2013

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

1/106

Plan de lexpos

- Introduction
- XmGrace

(Post-traitement 1D)

- Gnuplot

(Post-traitement 1D/2D)

- ParaView

(Post-traitement 2D/3D)

- Scilab

(Programmation et visualisation)

- Conclusion
- Bonus 1 : Wink (cration fichier flash)
- Bonus 2 : Dune srie dimages une vido (mencoder)

08/02/2013

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

2/106

Introduction

Introduction
Objectifs :
- Dvelopper lutilisation de logiciels gratuits de visualisation et de post-traitement
- Aider la prise en main de ces logiciels
- Limiter lutilisation inutile et inadapte de logiciels payants (Matlab, Excel pour trac xy)

Exemples de tarifs Education/Recherche de produits commerciaux :


- EnSight : logiciel de rfrence pour le post-traitement en mcanique 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 numrique et la visualisation de donnes
Location annuelle 75 Licences
INPT = 8 300 TTC

08/02/2013

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

3/106

Introduction

Exemples de produits du domaine public


Logiciel de visualisation et de post-traitement 1D :
- Grace/Xmgrace : trac de courbes 1D, grand nombre de possibilits : dfinition de l'chelle, des libells,
des symboles, des types de ligne, lecture/criture des paramtres en cours de session, rgression
polynomiale, splines, DFT/FFT, fonction d'auto-corrlation
Logiciel de visualisation et de post-traitement 2D :
- Gnuplot : utilitaire interactif de trac par des commandes ; reprsentation de fonctions ou donnes 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
- JMATHLIB
- Matplotlib

08/02/2013

- Octave
- FreeMat
-

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

4/106

XmGrace

Grace / XmGrace
Prsentation : Grace 5.1.22
- Outil du domaine public pour la reprsentation graphique des donnes 1D
- Plateforme : systmes avec un serveur X
Fonction : Post-traitement de donnes 1D
- Dfinition de l'chelle, des libells, des symboles, des types de ligne, ...
- Lecture/Ecriture des paramtres en cours de session
- Rgression polynomiale, splines, DFT/FFT, fonction d'auto/correlation
- Impression en format PostScript, pdf, jpeg, png, HPGL et FrameMaker (format .mif)
Installation lIMFT / Documentation
- A lIMFT, disponible sur toutes les machines Linux :
User guide :
Tutorial :
Faq :

/usr/bin/xmgrace

/usr/share/doc/packages/xmgrace/doc/UsersGuide.html
/usr/share/doc/packages/xmgrace/doc/Tutorial.html
/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 dtaills :

http://www.inel.gov/relap5/xmgr5.pdf
http://vis.lbl.gov/NERSC/Software/grace/docs/UsersGuide.html

08/02/2013

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

5/106

XmGrace

Utilisation basique
- Fichier de donnes reprsenter :
nedit exemple.data

NB :
Extension par dfaut des donnes de Grace : *.dat
Pour voir les autres, il faut modifier le filtre : *.dat => *

- Lancement de xmgrace :
xmgrace exemple.data

visualisation automatique

08/02/2013

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

6/106

XmGrace

Structure de donnes
- Fichier de donnes reprsenter :

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, den supprimer, den diter
08/02/2013

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

7/106

XmGrace

Barre de menu

Zone de visualisation

Coordonnes
du curseur
Raccourcis de
visualisation

Ligne dinformation

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

XmGrace

Modification de la mise en forme dun trac (1/3)


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

Fentre Graph Appearance

Les onglets Main, Title, Frame, ...


permettent de personnaliser
la prsentation :
- titre : taille, police, couleur
- position de la lgende,
- lgende : taille, police,
NB : Il est possible dutiliser
des caractres grecs :
- Cliquer dans la zone de texte
du menu concern
- <ctrl-E> => fentre Font tool
- Choisir la police Symbol
- Entrer les caractres
- Cliquer sur Apply

08/02/2013

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

10/106

XmGrace

Modification de la mise en forme dun trac (2/3)


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

Fentre Axes

Les onglets Main, Axis label


& bar, Tick labels, Ticks
marks et Special permettent
de dfinir et personnaliser :
- titre des axes : taille, police,
- repres, grille
- intersection des axes
-

08/02/2013

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

11/106

XmGrace

Modification de la mise en forme dun trac (3/3)


- Personnalisation de la courbe
- Double clic au niveau de la courbe
ou bien
- Menu Plot, sous menu Set appearance
Fentre Set appearance
Les onglets permettent dadapter le
style de la courbe, les symboles des
points, les barres derreur,

- Personnalisation de la fentre de trac


- Menu Plot, sous menu Plot appearance
Fentre Plot appearance
NB : Pour ajouter des zones de texte, des
lignes ou des flches : Menu Windows,
sous-menu Drawing Objects

08/02/2013

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

12/106

XmGrace

Exemple de
mise en forme

Valeur critique

08/02/2013

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

13/106

XmGrace

Sauvegarde des donnes et de la mise en forme (paramtres) (1/2)


- Sauvegarde/Relecture des donnes
et de la mise en forme
- Sauvegarde :
- Menu File, sous-menu
Save ou Save as
exemple.agr
- Exemple de listing du fichier
exemple.agr aprs sauvegarde
- Relecture :
- xmgrace, menu File, sous-menu Open
ou bien
- directement : xmgrace exemple.agr
- Sauvegarde/Relecture des donnes seules
- Sauvegarde :
- Menu Data, sous-menu Export ASCII
- Relecture :
- xmgrace, menu Data, sous-menu Import ASCII
ou bien
- directement : xmgrace exemple.data
08/02/2013

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

14/106

XmGrace

Sauvegarde des donnes et de la mise en forme (paramtres) (2/2)


- Sauvegarde/Relecture paramtres seuls
- Sauvegarde :
- Menu Plot, sous-menu Save parameters
exemple.par
- Relecture :
- xmgrace, menu Plot, sous-menu Load parameters
ou bien - directement : xmgrace exemple.data p exemple.par
Mme mise en forme pour diffrents fichiers de donnes (tude paramtrique)
Plusieurs prsentations pour un ensemble de donnes
- Modification des paramtres
- Menu Window, sous-menu Commands : modification
de la mise en forme grce des commandes entres
interactivement
- Sauvegarde de ces paramtres (ajout ceux existants) dans un
fichier par les sous-menus Save ou Save parameters
Mme syntaxe dans les 2 cas (cf. documentation en ligne)
08/02/2013

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

15/106

XmGrace

Mise en forme avance (multigraphes, couleur, date/heure, )

Multigraphes :
Menu Edit,
sous menu
Arrange graphs
Date et heure :
Menu Plot
appearance,
enable Time
stamp
NB : taille de la
page par dfaut
letter
remplacer par
A4

08/02/2013

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

16/106

XmGrace

Courbes analytiques
- Menu Edit, sous-menu Data sets
Fentre Data set properties
- Menu Edit, sous-menu Create new,
By formula
- Exemple :
y=cos (x) pour x=[0,30] avec
un chantillonnage de 400 points
- Cliquer sur As (AutoScale)
pour visualiser la courbe

08/02/2013

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

17/106

XmGrace

Transformations de donnes (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

- Crer les courbes analytiques 0 et 1 : G0.S0 et G0.S1


- Crer la courbe 2 combinaison des courbes 0 et 1 :
- Menu Edit, sous-menu Data Sets
- Slectionner une des 2 courbes, menu Edit et Duplicate
Courbe 2 cre : G0.S2
- Modifier la courbe 2 :
- Menu Data, sous-menu Transformations et
Evaluate expression
- Slectionner 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 mme x pour tous)
Courbe 2 modifie : G0.S2 : 2*Courbe 0 + Courbe 1
08/02/2013

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

18/106

XmGrace

Transformations de donnes (2/2)

NB:
- Modification manuelle des points :
menu Edit, Data sets , Edit, Edit data, In text editor
- Pour faire des oprations entre donnes, attention aux abscisses!
08/02/2013

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

19/106

Extraction des caractristiques des donnes


- Menu Data, sous-menu Feature extraction

08/02/2013

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

20/106

XmGrace

Lecture spcifique de fichiers de donnes


- Comment ne lire que certaines colonnes dans un fichier?
- Menu Data, sous-menu Import ASCII
Fentre Read sets
- Slectionner le fichier : ici exemplexyztuvw.org
- Menu Bouton Load as, slectionner Block data, puis cliquer sur OK
Fentre Edit block data
- Slectionner le type de donnes : ici XY
- Slectionner la colonne contenant les donnes pour X : ici 1
(sil ny en a pas => Index)
- Slectionner la colonne contenant les donnes pour Y : ici 4
- Apply

- En inversant les choix pour X et Y


08/02/2013

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

21/106

XmGrace

Principales options dappel de XmGrace


Dtails de toutes les options : xmgrace help
-autoscale x|y|xy
-batch
batch_file
-dpipe
descriptor
-fixed
width height
-graphtype graph_type
-hardcopy
-legend
load
-log
x|y|xy
-noprint
-npipe
file
-nxy
nxy_file
-param
parameter_file
-pexec
parameter_string
-pipe
-printfile
file
-results
results_file
-saveall
save_file
-timer
delay
-timestamp
08/02/2013

Override any parameter file settings


Execute batch_file on start up
Read data from descriptor on startup
Set canvas size fixed to width*height
Set the type of the current graph
No interactive session, just print and quit
Turn the graph legend on
Set the axis scaling of the current graph to logarithmic
In batch mode, do not print
Read data from named pipe on startup
Assume data file is in X Y1 Y2 Y3 ... format
Load parameters from parameter_file to the current graph
Interpret string as a parameter setting
Read data from stdin on startup
Save print output to file (hardcopy output)
Write results of some data manipulations to results_file
Save all graphs to save_file
Set allowed time slice for real time inputs to delay ms
Add timestamp to plot

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

22/106

XmGrace

Pipe et Batch (1/3)


- Post-traitement via un script de exemple.data avec sortie dun fichier jpeg
cat exemple.data | xmgrace -pipe -hdevice JPEG -hardcopy -printfile exemple.jpeg

Cration du fichier exemple.jpeg dans le rpertoire de


lancement de la commande
Visualisation de limage (xv, gwenview, )

- Post-traitement avec mise en forme (exemple.par) via un script


de exemple.data avec sortie dun fichier jpeg
cat exemple.org | xmgrace -pipe -hdevice JPEG
-hardcopy -printfile exemple2.jpeg -param exemple.par

Cration du fichier exemple2.jpeg dans le rpertoire de


lancement de la commande
Visualisation de limage (xv, gwenview, )
08/02/2013

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

23/106

XmGrace

Pipe et Batch (2/3)


- Visualisation automatise de n fichiers de donnes : cration dune vido
via un script shell, lancer n fois la commande prcdente (1 fois par fichier de donnes)
n fichiers jpeg => cration dune vido *.avi avec mencoder ou
dun gif anim avec gimp (convert *.jpeg exemple.gif)
- Exemple de script shell script_xmgrace pour crer une animation sur 5 fichiers de donnes : exemple*.dat

08/02/2013

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

24/106

XmGrace

Pipe et Batch (3/3)

Listing dexcution du script script_xmgrace

08/02/2013

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

25/106

XmGrace

Autres fonctionnalits sympa


- Caractres spciaux :
Lettres accentues, caractres grecs, indices/puissances
Tableau ci-contre => toutes les combinaisons possibles
- Exemple : Pour le titre dun graphe (Graph Appearance)

- Multigraphes :
possibilit de regrouper
n graphes sur une mme
feuille (ici n=20)

08/02/2013

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

26/105

XmGrace

Animations avec XmGrace


Exemple danimation : 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 use
convert *.png animation.gif

Do yourself:
gcc -o mus.exe -lm mus_grace.c
chmod 755 anime.exe
./anime_mus.exe 2 1 300 trajectory

=> animation on Xmgrace screen


=> png files in "fig/".
Gif Anim
4Ko XmGrace

08/02/2013

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

27/106

Gnuplot

Gnuplot
Prsentation : Gnuplot 4.4 Patchlevel 2
- Produit du domaine public pour le trac de fonctions et de donnes. Les donnes ont 2
dimensions spatiales au maximum (1D, 2D, 2D)
- Plates-formes disponibles : Linux, Unix, Windows, Mac
- Possde son propre langage interprt
- 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 lIMFT, 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.pdf
http://www.manpagez.com/info/gnuplot/gnuplot-4.4.0/gnuplot_190.php
http://www.idris.fr/data/cours/visu/gnuplot/gnuplot.html

- Documentation en franais : http://www.ensta-paristech.fr/~kielbasi/docs/gnuplot.pdf


http://f3wm.kegtux.org/linux/gnuplot.html
http://calcul.math.cnrs.fr/Documents/Ecoles/PF-2011/Cours/gnuplot_THOLIN.pdf
http://ofset.sourceforge.net/freeduc/book/book_17.html
http://bdesgraupes.pagesperso-orange.fr/UPX/Master1/presentation_gnuplot.pdf
08/02/2013

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

28/106

Gnuplot

Principe dutilisation
- Utilisation :
gnuplot
set 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 dun menu, taper "q" (comme sous vi)
- Accder au menu daide : "help"
- Sortir du menu daide : "Return"
- Quitter Gnuplot : "exit", "quit" ou "<Ctrl>-D"

08/02/2013

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

29/106

Gnuplot

Principe dutilisation
- Accs laide gnrale :
gnuplot> help

- Accs laide sur un point prcis :


gnuplot> help sin

08/02/2013

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

30/106

Gnuplot

Utilisation basique
- Excution + trac dune fonction

__ Lancement de Gnuplot
__ Commande de trac de sin(x)
__ Sortie de Gnuplot
Visualisation de la fonction
dans une fentre Gnuplot
08/02/2013

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

31/106

Gnuplot

Visualisation basique dun fichier de donnes


- Exemple dun fichiers de donnes : volution de la population mondiale
de gnous et de pingouins de 1970 2000 : population.dat
- Visualisation des points
gnuplot> plot "population.dat"

- Visualisation de la 1re courbe


gnuplot> plot [*:*] [0:1800] "population.dat" title "pingouins" with linespoints
Intervalles
des X et Y

Titre de la
lgende

Relier les points


par des segments

- Visualisation des 2 courbes


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

ou bien
gnuplot> plot [*:*] [0:1800] "population.dat" title "pingouins" with
linespoints, "population.dat" using 1:3 title "gnous" with linespoints
08/02/2013

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

32/106

Gnuplot

Mise en forme
- Set, show et les paramtres :
- set : ajustement dun trs grand nombre d'options et de

paramtres par dfaut


- help set : liste dtaille 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 paramtriques).
- show : permet de connatre la valeur d'un paramtre dfini avec set. Ces valeurs peuvent tre numriques,
des intervalles, des mots-clefs tirs d'un ensemble bien dfini, ON ou OFF (options binaires)
NB:
- Utilisation de couples de mots-clefs : set commande, set nocommande
- Exemple courbe de Lissajous :

gnuplot> set parametric


gnuplot> plot sin(2*t),sin(3*t)
gnuplot> set noparametric

- Passage en mode polaire (set polar, set nopolar)


- Combinaison des modes polaire et paramtrique
08/02/2013

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

33/106

Gnuplot

Fonctions et paramtres
- Cration et rutilisation de fonctions :
gnuplot> r(x,y)=sqrt(x**2+y**2)
gnuplot> a=2
gnuplot> f(x,y)=a*sin(r(x,y))/r(x,y)
gnuplot> splot f(x,y)

Dfinition de la fonction r(x,y)


Dfinition de paramtres (ici a=2)
Dfinition de f(x,y) avec
rutilisation de la fonction r(x,y)
Trac de la fonction surfacique

graphe basique : surface reprsente comme un rseau diso-courbes x et y, rgulirement


espaces, dont toutes les lignes sont visibles
- Optimisation dun trac
gnuplot> set hidden3d
gnuplot> set isosamples 30,30

gnuplot> replot

Activation lignes caches


Nombre de lignes traces dans
chaque direction (ici 30*30)
rgulirement espaces
Actualisation du dernier trac
avec les nouveaux paramtres

Modification de la prcision du trac une nouvelle fonction


08/02/2013

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

34/106

Gnuplot

Tracs avec intervalle et titre


- Intervalle sur les abscisses :

- Intervalle sur les abscisses et les ordonnes :

ou bien

- Titres :

08/02/2013

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

35/106

Gnuplot

Fonctions paramtriques ou polaires


- Mode paramtrique + trac de sin(t)/t =f(t) + titre lgende :
-

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

Cration, sauvegarde et relecture dune fonction


- Cration, sauvegarde et lecture dune nouvelle fonction

"
fonction.dat

08/02/2013

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

36/106

Gnuplot

Fonctions 2D (surfacique)
- Tracs basiques :

- Tracs avancs :

08/02/2013

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

37/106

Gnuplot

Tracs diso-contours

- Tracs diso-contours avec surface :

- Tracs diso-contours sans surface

08/02/2013

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

38/106

Gnuplot

Lecture de donnes (1/3)


- Format :
- ASCII
ou
- binaire (cf. http://bdesgraupes.pagesperso-orange.fr/UPX/Master1/presentation_gnuplot.pdf)
- Fichier en colonne
- Ligne commenant par un # => commentaire

Exemple pour le fichier plotxy.dat

- Trac par dfaut : plot 'plotxy.dat'


- Colonne 2 = f(colonne 1)
- Seuls les points sont tracs par dfaut. Pour ajouter les segments
plot 'plotxy.dat' with linespoints
de droite :
- using : modificateur le plus courant pour les fichiers de donnes
- Syntaxe : plot 'fichier' using {<entree> {:<entree> {:<entree> ...}}} {'format'}
- Si un format est spcifi, chaque enregistrement est lu par la fonction 'scanf' (du C), avec la chane de
format spcifie. Sinon, l'enregistrement est lu et scind en colonnes selon les espaces et tabulations.
- L'expression peut utiliser $1 pour accder au premier nombre lu, $2 pour le deuxime, etc
- 'scanf' accepte plusieurs spcifications numriques mais Gnuplot n'accepte en entre que des rels en
virgule flottante double prcision, donc "lf" est le seul spcificateur 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 chane d'entre!
08/02/2013

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

39/106

Gnuplot

Lecture de donnes (2/3)


- Exemples :
plot plotxy_virg.txt using 1:($2+$3) "%lf,%lf,%lf" with linespoints

trac de la somme des 2me et 3me colonnes


du fichier plotxy_virg.txt en fonction de la
premire avec comme sparateur des ","
plot plotxy_avance.txt using "%*lf%lf%*20[^\n]%lf" with linespoints

donnes lues dans plotxy_avance.txt selon un format compliqu :


%*lf : ignore un nombre
%If : lit un nombre double prcision (x puis y)
%*20[^\n] : ignore 20 caractres non-saut-de-ligne

plot population.dat' using 1:($3>10 ? $2 : 1/0) with boxes :

filtrage avec loprateur ternaire "?"


trac de la colonne 2 en fonction de la
colonne 1 condition que les donnes
de la colonne 3 dpasse 10.
08/02/2013

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

40/106

Gnuplot

Lecture de donnes (3/3)


- Exemples : donnes temporelles :
set xdata time
set timefmt "%d/%Y"
set format x "%Y-%d"
plot meteo.dat using 1:2 with steps

trac des prcipitations en fonction des mois de lanne 2012 partir du fichier meteo.dat
NB: Gnuplot accepte des donnes temporelles. Aucun format ne peut tre spcifi aprs using
dans ce mode temporel.

08/02/2013

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

41/106

Gnuplot

Exemples de visualisation
2D (surfacique) et dhistogramme

08/02/2013

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

42/106

Gnuplot

Sauvegarde et lecture dun script


- Sauvegarde dun script :
- tous les paramtres de mise en forme
- les fonctions
- les tracs
save cmd.gnuplot

- Relecture dun script :


load cmd.gnuplot

08/02/2013

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

43/106

Gnuplot

Commandes shell
- Pour accder aux commandes shell, il faut prcder la commande de ! :

Impression dans un fichier *.ps

xv sin.ps

08/02/2013

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

44/106

Gnuplot

Lancement en interactif ou en batch


Gnuplot peut tre excut en mode script (batch) ou interactif (cf. help batch).
Tout argument pass en ligne de commande est interprt comme nom de fichier contenant des commandes
Gnuplot. Chaque fichier est charg avec la commande load, dans l'ordre spcifi. Gnuplot termine aprs 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 traits.
- Exemples :
- Session interactive : gnuplot
- Session batch excutant 2 fichiers de commande : gnuplot script1.gp script2.gp &
Un script (script.gp) peut tre lanc de deux manires :
- soit en mode interactif, en tapant l'invite aprs avoir lanc gnuplot : load "script.gp"
- soit en mode "batch", en invoquant directement dans la fentre shell : gnuplot script.gp &
Dans ce mode batch, Gnuplot excute 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 rsultat.
Listing de script.gp
08/02/2013

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

45/106

Gnuplot

Exemple dutilisation en batch (1/2) :


Suivi journalier automatique de lutilisation des licences Matlab lINPT (A. Stoukov)
- Serveur de jetons de lINPT : cration dun fichier x.dat

date et nombre maximal de jetons utiliss simultanment


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
- cre le fichier script Gnuplot stats.plt
- excute "gnuplot stats.plt"
- Un cron excute create_plot_max.pl
images en png
NB: Le fichier stats.plt a t cr pour le
deboggage mais ce nest pas indispensable
car perl peut le crer dans la mmoire.
Automatisation de l'affichage des stats
d'utilisation sur le serveur intranet
08/02/2013

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

46/106

Gnuplot

Exemple dutilisation en batch (2/2) :


Suivi journalier de lutilisation des licences matlab lINPT (A. Stoukov)

08/02/2013

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

47/106

Gnuplot

Exemple de fitting :
Trac de speedup et dapproximation de cette courbe par un polynome dordre 2 (A. Stoukov)
Script visu.plt
interprteur gnuplot
dfinition f(x)
initialisation a, b, c
fit du speedup calcul (T1_coeur/Tn_coeurs)
partir des donnes du fichier speedup par f(x)
dfinition speedup linaire f1(x)=x
trac du speedup calcul, de la fonction fit f(x)
et du speedup linaire f1(x)

#!/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+c
a=0.1
b=0.1
c=0.1
fit f(x) 'speedup' using 1:(119.32/$2) via a,b,c
f1(x)=x
plot 'speedup' using 1:(119.32/$2) w points title 'Speedup' , f(x) w l title
'Fit', f1(x) w l title 'Linear speedup'

./visu.plt
Listing du fichier speedup
Colonne 1 : nombre de curs
Colonne 2 : Local CPU time

08/02/2013

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

1
3
4
5
6
7

119.32
41.77
35.24
31.48
28.49
26.74

48/106

Gnuplot

Liste des fonctions mathmatiques prdfinies


- abs(x)
- atanh(x)
- ceil(x)
- ibeta(p,q,x)
- log(x)
- sqrt(x)

- acos(x)
- EllipticK(k)
- cos(x)
- inverf(x)
- log10(x)
- tan(x)

- acosh(x)
- EllipticE(k)
- cosh(x)
- igamma(a,x)
- norm(x)
- tanh(x)

- arg(x)
- asin(x)
- EllipticPi(n,k) - besj0(x)
- erf(x)
- erfc(x)
- imag(x)
- invnorm(x)
- rand(x)
- real(x)

- asinh(x)
- besj1(x)
- exp(x)
- int(x)
- sgn(x)

- atan(x)
- atan2(y,x)
- besy0(x)
- besy1(x)
- floor(x)
- gamma(x)
- lambertw(x) - lgamma(x)
- sin(x)
- sinh(x)

Oprateurs
- ** : a**b exponentiation - * : a*b multiplication
- / : a/b division
- - : a-b soustraction
- == : a==b galit
- + : a+b addition
- <= : a<=b less than or = to - > : a>b greater than
- < : a<b less than
- & : a&b ET
- ^ : a^b OU exclusif
- | : a|b OU inclusif
- || : a||b OU logique
- ?: : a?b:c opration ternaire - = : a = b assignment
- . : A.B string concatenation

08/02/2013

- % : a%b modulo
- != : a!=b ingalit
- >= : a>=b greater than or = to
- && : a&&b ET logique
- , : (a,b) serial evaluation

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

49/106

Gnuplot

Fonctionnalits
Gnuplot possde un grand nombre de fonctionnalits qui sont toutes documentes en ligne.
La principale difficult est de savoir que les fonctionnalits existent :
- excution de scripts Gnuplot : help load, help call
- changement de terminal et impression de tracs : help set term, help set output
- trac d'histogrammes, de barres d'erreurs, de graphes financiers, : help style
- ajustement de paramtres d'une fonction pour coller un rsultat exprimental
(Levenberg-Marquardt) : help fit
-...
NB :
Dune version lautre les
fonctionnalits de Gnuplot peuvent
voluer de faon significative

08/02/2013

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

50/106

Paraview

ParaView
Prsentation : ParaView 3.14.1
- outil gratuit de visualisation et post-traitement 2D et 3D
- traitement et la visualisation de grands volumes de donnes en parallle
- disponible sur machines monoprocesseur (Windows, Linux, Mac) comme
sur supercalculateurs mmoire distribue ou clusters (Linux, Unix)
- gestion de nombreux formats dentre
- gestion des maillages structurs et non structurs
- version parallle (MPI) et mode client / serveur
http://ait.web.psi.ch/services/visualization/docs/ParaView_20070220/slides.html
Spcificits :
- application open source multi plate-forme
- traitement distribu de trs grosses donnes
- interface ouverte, flexible et intuitive
- standards libres pour dvelopper une architecture extensible
. traitement et rendu des donnes : Visualization Toolkit (VTK, C++)
. interface utilisateur : Tcl/Tk and C++
- cration de nouveaux modules :
. lecture de donnes dans des formats spcifiques : reader )
. post-traitement personnaliss (iso-volumes, plan de coupe, ) : filtres
- cration de macros
- lancement en batch

08/02/2013

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

51/106

Paraview

ParaView
O trouver ParaView
- site web officiel de ParaView : http://www.paraview.org
Mode demploi :
- Users 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 trs actives
- 2 livres The ParaView Guide consultables CoSiNus + 2 livres VTK Users Guide
Tlchargement : http://www.paraview.org/paraview/resources/software.php
- soit directement des excutables pour Windows 32/64 , Linux 32/64, Mac OSX
- soit les fichiers source compiler (! compilation longue et dlicate)
Donnes 2D :
Sites web : Intranet CoSiNus / IMFT
Paraview + Blender
+ Luxrender
- http://denali.princeton.edu/Paraview/ParaViewUsersGuide.v3.14.pdf
- http://www.idris.fr/data/cours/visu/paraview/paraview.html
- Mode Client/ serveur parallle :
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
- Prsentations (installation, python, //, visu distance) : http://cs-ljk.imag.fr/visualisation-46/paraview/

08/02/2013

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

52/106

Paraview

Installation / Excution
Installation
- Pour une installation standard, tlcharger la version compile correspondant votre
plate-forme (Linux, Windows, Mac OS X) et suivre les instructions
Installation trs simple et rapide (tlchargement 65 112Mo + installation <5min)
Dans le sous-rpertoire bin du rpertoire dinstallation, excutable paraview
Accs toutes les fonctionnalits
- Pour personnaliser Paraview ou bien linstaller sur une machine particulire, tlcharger
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
Excution de Paraview
- Sous Windows, double-clic sur licne Paraview
- Sous Linux :

- dans le rpertoire ./bin du rpertoire dinstallation, excuter : ./paraview &

- A lIMFT : paraview &


- Si lancement sur plusieurs processeurs en local (version compile avec mpi) : mpirun np 4 paraview &
08/02/2013

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

53/106

Paraview

Barre de menus pour


laccs
aux menus droulants

Barre doutils (plan de coupe,


vecteur, iso-valeur, 3D, )

Donnes charges
Zone daffichage pour la visualisation
Paramtres de visualisation
Variables lisibles

Barre dtat pour les messages daide,


derreur ou dindication davancement

08/02/2013

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

54/106

Paraview

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

08/02/2013

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

55/105

Paraview

Lecture dun fichier


Formats compatibles : http://paraview.org/Wiki/ParaView/Users_Guide/List_of_readers
- ADAPT : .nc .cdf .elev .hdr
- BOV Files : .bov
- CCSM STSD : .nc .cdf .elec .ncd
- CTRL : .ctrl
- Comma-separated-values : .csv
- Digital Elevation Mal : .dem
- Enzo VisIt : .hierarchy
- FLASH VisIt : .flash .f5
- Fluent Case : .cas
- GULP : .trg
- JPEG Images : .jpg .jpeg
- Legacy VTK : .vtk .pvtk
- MM5 : .mm5
- Miranda : .mir .raw
- Nrrd Raw Image : .nrrd .nhdr
- PLOT2D : .p2d
- POP Ocean * : .pop .pop.nc*
- Phasta : .pht
- SAMRAI : .samrai
- SLAC Mesh : .ncdf .nc
- Spy Plot History : .t* .hsct*
- TIFF Image : .tif .tiff
- UNIC : .h5
- VTK*
- Wavefront OBJ : .obj
- Xdmf
Reader : .xmf .xdmf
08/02/2013

- ANALYZE : .img .hdr


- ANSYS : .inp
- AVS UCD Binary/Ascii : .inp
- BYU : .g
- CAM NetCFD unstr. : .nc .ncdf - CCSM MTSD : .nc .cdf .elec .ncd
- CEAucd : .ucd .inp
- CGNS : .cgns
- CMAT : .cmat
- Case file : .spcth-timeseries - Chombo : .hdf5 .h5
- Claw : .claw
- Cosmology : .cosmo .gadget2 - Curve2D : .curve .ultra .ult .u
- DDCMD : .ddcmd
- Dyna3D : .dyn
- EnSight : .case .Case
- EnSight Master Serv : .sos .SOS
- Enzo : .boudary
- ExodusII : .g .e .ex2 e-s*
- ExtrudedVol : .exvol
- Fvcom * : .nc .cdf .elev .ncd - Facet Polygonal Data : .facet - Flash : .Flash .flash
- Fluent VisIt : .case
- GGCM : .3df .mer
- GTC : .h5
- Gadget : .gadget
- Gaussian Cube : .cube
- Image : .pnm .ppm .sdt .spr .imgvol
- Lammps* : .dump .e .lammps - LODI * : .nc .cdf. Elev .ncd
- LSDyna : .k .lsdyna . D3plot
- Lines : .lines
- M3DC1 : .h5
- MFIX Unstr. Grid : .RES
- MPAS NetCDF : .ncdf .nc - Meta Image : .mhd .mha
- Metafile restart. ex : ex.timeseries
- Multilevel 3d Plas. : .m3d .h5- NASTRAN : .nas .f06
- Nek5000 : .nek3d .nek .n
- OpenFOAM : .foam
- PATRAN : .neu
- PFLOTRAN : .h
- PLOT 3D : .xyz
- PLY Polygonal : .ply
- PNG Image : .png
- ParaDIS : .prds .data .dat - ParaDIS Tecplot : .f .cyl .dat - Paraview Data : .pvd
- Pixie : .h5
- Protein Data Bank : .ent .pdb - RAW : .raw
- SAR : .SAR .sar
- SAS : .sasgeom .sas .sasdata
- SESAME : .sesame
- SLC Particle : .ncdf .netcdf - Silo : .silo .pdb
- Spheral : .spheral .sv
- SpyPlot CTH : .spc .spct - Stereo Lithography : . Stl
- TFT : .dat .tft
- Tsurf : .ts_deg83
- Tecplot : .tec .TEC .Tec .tp .TP .plt - Tetrad : .hdf5 .h5
- VASP * : .CHG .OUT . POS - VPIC : .vpc
- VRML 2 : .wrl .vrml
- Velodyne : .vld .rst
- VisIt Meta PLOT3d : .vp3d
- VizSchema : .h5 .vsh5
- WindBlade Data : .wind
- Xmol Molecule : .xyz
- XYZ : .xyz
- Outils
Xmdv gratuits
: .okc de visualisation
- netCDF
files gen
: .ncdf
.nc - proSTAR : .cel .vrt 56/105
(H. NEAU
CoSiNus
/ IMFT)

Paraview

Lecture dun fichier


- Lecture dun fichier :
- Menu File, sous-menu Open
- Slectionner le fichier lire, puis OK
- Dans le panneau gauche, fentre Pipeline browser,
slectionner la ou les lments visualiser
- Apply

08/02/2013

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

57/106

Paraview

Visualisation
- Utilisation de la souris :
- bouton gauche rotation
- bouton droite zoom
- bouton du centre translation
- Visualisation par dfaut :
gomtrie en surface colore par 1re variable

- Visualisation plus avance :


lgende avec lchelle de couleur
dimensions de la gomtrie
temps
suppression du repre de rotation
transparence
modification de la palette de couleurs
08/02/2013

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

58/106

Paraview

Proprits des donnes et Affichage


Longlet Properties permet
de connaitre les variables
contenues dans un jeu de
donnes et de choisir celles
que lon veut post-traiter.
Longlet Display permet
de paramtrer laffichage :
- choix de la variable
- choix de la palette de couleurs
- dimensions
- type de reprsentation
- transparence
-

08/02/2013

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

59/106

Paraview

Informations sur les donnes


Longlet Information permet
dobtenir des informations
sur :
- le type des donnes
- le nombre de cellules
du maillage
- la taille en mmoire
- le nom des
variables, leur type et
leur min et max
- les dimensions du
maillage
- les diffrentes
sauvegardes en temps

08/02/2013

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

60/106

Paraview

Terminologie
- reader : objet source qui lit les donnes

depuis un ou plusieurs fichiers


- filter ou filtre : objet de travail qui partir

dau moins 1 fichier de donnes


(entre) => 1 sortie
Exemples de filtres : plan de coupe,
contour, ligne de courant, probe,
=> Donnes => Filtre 1=> Filtre 2
Aprs chaque filtre, les donnes changent
de type => accs plus ou moins de filtres
Les filtres en noir sont ceux actifs, ceux
griss ne sont pas accessibles pour ce type
de donnes
- Liste des filtres :
- Barre de menu, Filters
Ex : Valeurs donnes aux nuds du maillage > inactivation du filtre qui projette du centre cellule vers les nuds
08/02/2013

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

61/106

Paraview

- Liste des filtres

08/02/2013

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

62/106

Paraview

Filtres
- Il existe de nombreux filtres qui sont regroups en 7 thmes :
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 data
These 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 time
All 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

08/02/2013

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

63/106

Paraview

Exemples de visualisation avance : Ecoulement de la chaleur interne et distribution de


temprature autour dun cube
- File, Open Data, choix cube.case, Apply
Donnes au format Ensight
2 variables :
1 scalaire : temprature
1 vecteur : vitesse
Visualisation par dfaut de la
temprature en mode surface

Rotation + Color Legend + Cube axes + Opacity


Visualisation en perspective du champ de

temprature du cube avec chelle et lgence,


dimensions de la gomtrie et transparence

08/02/2013

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

64/106

Paraview

Plan de coupe
- Menu Filter, Slice
- Dfinir 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


Longlet Display permet de personnaliser laffichage
NB: Possibilit de dfinir x plans de coupe
08/02/2013

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

65/106

Paraview

Vecteurs vitesse
- Dans Pipeline Browser,
slectionner lentit source
des vecteurs vitesse (ici Slice2)
- Menu Filter, Alphabetical,
Glyph

- Dfinir type de Glyph (ici


Arrow), variable, orientation,
chelles,
- Apply
nouvelle entit : Glyph

08/02/2013

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

66/106

Paraview

Extraction de cellules
rpondant un
critre min/max
- Ici ne sont affiches que les
cellules dont la temprature
est comprise entre 15 et 48C

Isosurface + Dcoupe du domaine


- Isosurface de temprature
(15, 22,5, 30, 37,5, 45C)
sur le cube arrire en X

08/02/2013

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

67/106

Paraview

Lignes de courant

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


Possibilit de sauver les valeurs dans un
fichier texte
Trac partiellement paramtrable
Abscisse = Arc_length

08/02/2013

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

68/106

Paraview

Tracer en un point en fonction du temps


- Crer une slection avec le filtre Select Point Through
- Filtre : Plot Selection Over Time
- Ici trac du
"displacement" et du
"stress" en 1 point
en fonction
du temps
Possibilit de
sauver les valeurs
dans un fichier texte
Trac partiellement
paramtrable

08/02/2013

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

69/106

Paraview

Autres fonctionnalits
- Calcul de nouvelles variables
- Interpolation Cell data to Point data
- Capture dcran : Menu File, Save View Image (bmp, jpg, png, )
- Sauvegarde danimations : Menu File, Save animation
sauver des fichiers images (jpeg) et proscrire avi par dfaut
- Sauvegarde des actions en python : Tools, Start trace / Stop Trace (*.py)
- Sauvegarde de ltat de visualisation de ParaView (*.pvsm) : Menu File, Save session state
- Sauvegarde de lensemble des commandes python (*.py) : Menu File, Python state file
- Mode batch, script python,

Limitations
- Affichage pas aussi paramtrable quavec EnSight ou Tecplot (temps, chelle, titre, trac XY, )
- Ne gre pas de faon 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)

08/02/2013

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

70/106

Paraview

Quelques formats dcritures 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 trs pratique pour des maillages structurs rectilinaires 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 dentte *.bov ASCII dcrit (encapsule) un fichier binaire
- Exemple :

Temps

Fichier binaire encapsul


Nb de nud par direction
Format de la variable
Nom de la variable
Little ou big endian

Cell data ou node data


Offset (0 en C; 4 en Fortran)
Coordonnes de lorigine
Dimensions du bloc
08/02/2013

TIME: 1.23456
DATA_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,DOUBLE
DATA_FORMAT: DOUBLE
VARIABLE: 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 its 1 data value per zone. Otherwise the data
# will be centered at the nodes.
CENTERING: nodal
# Offset : 0 en C
BYTE_OFFSET: 4
BRICK_ORIGIN: 0. 0. 0.
BRICK_SIZE: 1. 2. 1.
Outils gratuits de visualisation (H. NEAU CoSiNus / IMFT)

72/106

Paraview

Format BOV (2/5)


- Gnration du fichier binaire
- en Fortran 90 : write_bin.f90
Valorisation U(i,j,k)
Ouverture fichier binaire fortran
Ouverture fichier binaire C si support
par compilateur
Ecriture de U
Fermeture du fichier

PROGRAM write_bin
IMPLICIT NONE
DOUBLE PRECISION U(256,512,256)
INTEGER :: i,j,k
DO 1 k=1,256; DO 1 j=1,512; DO 1 i=1,256
U(i,j,k)=i+j+k
1 ENDDO
OPEN(unit = 10, status='replace', file='U.bin', form='unformatted')
!OPEN(unit = 10, status='replace', file='U.bin', form='binary')
WRITE(10) U
CLOSE(10)
END PROGRAM write_bin

- Compilation : gfortran write_bin.f90 pfg90 write_bin.f90 ifort write_bin.f90


- Excution :
a.out
=> U.bin
- Fichier entte *.bov : BYTE_OFFSET: 4 => Paraview
NB : Par rapport au binaire C, chaque instruction indpendante write() en format
binaire Fortran unformatted ajoute en dbut et fin du bloc de donnes un mot (4 bytes) donnant la taille du bloc.
write(10) k
write(10) ((a(i,j),i=1,2),j=1,3)
write(10) b,c

[4] [valeur binaire pour k] [4]


1 variable = 4 bytes (entier / flottant)
[24] 6*[valeurs binaires pour a(.,.)] [24]
avec [] : bloc de 4 bytes
[8] [valeurs binaires pour b] [valeur binaire pour c] [8]

Avec pgf90 et ifort, il est possible de remplacer largument unformatted du OPEN par binary. Lcriture se
fait alors comme en C et loffset du *.bov devient donc 0 au lieu de 4.
08/02/2013

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

73/106

Paraview

Format BOV (3/5)


- en C : write_bin.c

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

Allocation dynamique U(i*j*k)


Valorisation U(i*j*k)
Ouverture fichier binaire C
Ecriture de U
Fermeture du fichier
Libration de la mmoire U

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;
}

- Compilation : gcc write_bin.c


icc write_bin.c
- Excution :
a.out
=> U.bin
- Fichier entte *.bov : BYTE_OFFSET: 0
=> Paraview

08/02/2013

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

74/106

Paraview

Format BOV (4/5)


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

- en C++ : write_bin.c++

Allocation dynamique U(i*j*k)


Valorisation U(i*j*k)
Ouverture fichier binaire C

Ecriture de U
Fermeture du fichier
Libration de la mmoire U

- Compilation : g++ write_bin.c++


- Excution :
a.out
=> U.bin
- Fichier entte *.bov : BYTE_OFFSET: 0
08/02/2013

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;
}

=> Paraview

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

75/106

Paraview

Format BOV (5/5)


- en MPI-IO Fortran :
Main_write_mpiio.f90
Ouverture fichier binaire (format C)
Proc 0 : Ecriture nx,ny,nz
Offset de 3*4bytes : criture nx, ny, nz
Cration des vues : masque par cur
Validation du type MPI des vues
Taille des donnes par cur
Accs par cur au fichier binaire
Ecriture de la variable
Fermeture du fichier binaire
Dsallocation du type MPI
source /PRODCOM/bin/config.csh
ou mympi pgf
mympi ifort
mpif90 Main_write_mpiio.f90
mpirun np 4 ./a.out

Fichier entte *.bov : BYTE_OFFSET: 12


08/02/2013

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) = nz
ustart(1) = sx-1 ;ustart(2) = sy-1 ; ustart(3) = sz-1
ucount(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 values
pos_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)

=> paraview

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

76/106

Paraview

Formats de fichiers VTK


- Description complte des 2 formats VTK : http://www.vtk.org/VTK/img/file-formats.pdf
- 2 livres VTK Users Guide consultables CoSiNus
Simple legacy format :

Le plus simple, format squentiel, facile lire et crire la main ou automatiquement mais moins flexible
que ceux bass sur XML
XML format (eXtensible Markup Language : mtalangage permettant dinventer de nouvelles balises) :

Plus dlicats utiliser, permettant les I/O parallles, la compression des donnes
A prfrer au format legacy VTK quand cest possible
Par convention, chaque type de donnes 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 hrits du pass (simple legacy formats) est compos de 5 parties :
# vtkDataFile Version x.x
en-tte (256 caractres maximum se terminant par \n)
format des donnes : ASCII ou BINARY
topologie des donnes, DATASET : STRUCTURED_POINTS, STRUCTURED_GRID,
UNSTRUCTURED_GRID, POLYDATA,
RECTILINEAR_GRID, FIELD
description du jeu de donnes : POINT_DATA, CELL_DATA,
suivi dun entier donnant le nombre de points ou de cellules
Entte
Titre
Format
Topologie

Attributs des jeux de donnes

08/02/2013

# vtk DataFile Version 2.0


Really cool data
ASCII | BINARY
DATASET type
...
POINT_DATA n
...
CELL_DATA n

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

78/106

Paraview

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


# vtk DataFile Version 3.1
Premier exemple \n
ASCII
DATASET UNSTRUCTURED_GRID
POINTS 9 FLOAT
000
010
020
120
110
100
200
210
220
CELLS 4 20
40541
41432
45674
44783
CELL_TYPES 4
9999

08/02/2013

Type de donnes
Ncessaire pour ce DATASET

Ncessaire pour ce DATASET


Nombre de cellules : 4
Taille de la liste les dfinissant : 20
Pour chaque cellule : Nb pts Liste pts
Ncessaire pour ce DATASET
Type de chaque cellule : 9=VTK QUAD

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

79/106

Paraview

POINT_DATA 9

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

Donnes aux points : 2 scalaires

SCALARS Pression FLOAT


LOOKUP_TABLE default
0
0
0
1
2
1
0
0
0
SCALARS Temperature FLOAT
LOOKUP_TABLE default
1
1.1
1.2
2.1
2.5
3.5
1.3
1.4
1.6
CELL_DATA 4
SCALARS Cell_Temperature FLOAT
LOOKUP_TABLE default

(Table des couleurs)

Donnes cellules : un scalaire

0
1
2
1

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
Balise titre
Balise topologie
Balise descriptive bloc
Balise Points
Fin Balise Points
Balise variables associes aux points

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

08/02/2013

<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
0.4519081277586044
7 lignes
-0.4519081277586044
</DataArray>
</Points>

-1.4479341772310840E-002 -0.9373475590231557
-1.5019326217895210E-002 -0.9323674553677120
-1.5019326217895210E-002 -0.9323674553677120

<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 lignes
8.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 lignes
1.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>

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 complte des formats EnSight :
http://www3.ensight.com/EnSight10_Docs/UserManual.pdf
- Format cr pour la mcanique des fluides, stable et reconnu par ParaView
EnSight 5 :
Format hrit du pass, uniquement pour non-structur et variable aux nuds
EnSight 6 :
Utilisation du fichier case
Supporte les maillages structurs et non structurs
Supporte les variables aux nuds ou par lment
EnSight Case Gold (recommand)
Plus rapide que EnSight 6 et plus efficace en mmoire (surtout pour les gros volumes de donnes)
Utilise une numrotation par part et non plus un tableau global
=> un fichier descripteur => un fichier de gomtrie
=> n fichiers de donnes : 1 fichier par variable par pas de temps

08/02/2013

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

83/106

Paraview

Exemple dcriture de donnes au format EnSight Gold binaire structur (1/2) :


5 fichiers Fortran 90 + 1 Makefile (pour la compilation)
dtails sur intranet CoSiNus
- ensight_case.f90 : criture du fichier entte *.case
- ensight_geo_curvilinear.f90 : criture du fichier gomtrie *.geo si curviligne
- ensight_geo_rectilinear.f90 : criture du fichier gomtrie *.geo si rectiligne
- ensight_var.f90 : criture des variables
- MainEnsight.f90 : programme principal
make => EnsightWrite.x
TestCurvi.case
EnsightGeom.geo
temperat*********.scl
velocity*********.vec

08/02/2013

WriteBinary = .true. ! Ascii or binary switch


call WriteCurvEnsightGeo(1,nx,1,ny,1,nz, &
xp,yp,zp,GeoName,WriteBinary)

allocate(tab_time((nstop-ntini)/nprint+1))
! Time Loop
do npt = ntini,nstop,nprint
ind = ind + 1
tab_time(ind) = npt * 1.
! write vector field
call WriteEnsightVar(3,nx,ny,nz,vel,'velocity',WriteBinary, &
1,nx,1,ny,1,nz,npt)
temp = temp + npt
! write scalar field
call WriteEnsightVar(1,nx,ny,nz,temp,'temperat',WriteBinary, &
1,nx,1,ny,1,nz,npt)
end do
call EnsightCase(CaseName,VarNameArray,VarTypeArray,nb_var, &
GeoName,ntini,nstop,nprint,tab_time)
end program MainEnsight

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

84/106

Paraview

Exemple dcriture de donnes au format EnSight Gold binaire structur (2/2) :


- Fichier descripteur : *.case

FORMAT
type: ensight gold

Type de format EnSight


Nom du fichier de gomtrie
Liste des variables de type vector
Liste des variables de type scalar

Informations temporelles pour part 1


Nombre de pas de temps
Numro du 1er pas de temps
Incrment du numro du pas de temps
Valeur des 6 pas de temps (s.)

GEOMETRY
model: EnsightGeom.geo
VARIABLE
vector per node: velocity velocity*********.vec
scalar per node: temperat temperat*********.scl
TIME
time set: 1
number of steps: 6
filename start number:
filename increment:
time values:
0.000
10.000
20.000
30.000
40.000
50.000

0
10

********* : numro du pas de temps sur 9 chiffres


08/02/2013

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

85/106

Paraview

Exemple dcriture de particules au format EnSight Gold binaire structur (1/2) :


4 fichiers Fortran 90 + 1 Makefile (pour la compilation)
dtails sur intranet CoSiNus
- WriteEnSightCasePart.f90 : criture du fichier entte *.case pour les particules
- WriteEnsightGeoPart.f90 : criture du fichier gomtrie *.geo pour les particules
- WriteEnsightVarPart.f90 : criture des variables associes aux particules
- MainEnsightPart.f90 : programme principal
make => EnsightWritePart.x
Particules.case
Particles********.geo
temperat********.scl
velocity********.vec

08/02/2013

WriteBinary = .true. ! Ascii or binary switch


! Time Loop
do npt = ntini,nstop,nprint
call 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 + 1
tab_time(ind) = npt * 1.
! write particles coordinates
call WriteEnsightGeoPart(1,np,xp,yp,zp,GeoName,WriteBinary,npt)
! write vector field
call WriteEnsightVarPart(3,np,vel,'velocity',WriteBinary,1,np,npt)
temp = temp + 0.1
! write scalar field
call WriteEnsightVarPart(1,np,temp,'temperat',WriteBinary,1,np,npt)
end do
call WriteEnsightCasePart(CaseName,VarNameArray, &
VarTypeArray, nb_var,GeoName,ntini,nstop,nprint,tab_time)
end program MainEnsightPart

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

86/106

Paraview

Exemple dcriture de particules au format EnSight Gold binaire structur (2/2) :


- Fichier descripteur : *.case

FORMAT
type: ensight gold

Type de format EnSight


Nom du fichier de gomtrie
Liste des variables de type vector
Liste des variables de type scalar

Informations temporelles pour part 1


Nombre de pas de temps
Numro du 1er pas de temps
Incrment du numro du pas de temps
Valeur des 6 pas de temps (s.)

GEOMETRY
model: Particles********.geo
VARIABLE
vector per node: velocity velocity********.vec
scalar per node: temperat temperat********.scl
TIME
time set: 1
number of steps: 6
filename start number:
filename increment:
time values:
0.000
10.000
20.000
30.000
40.000
50.000

0
10

********** : numro du pas de temps sur 8 chiffres


08/02/2013

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

87/106

Paraview

Plot 3D
- Description du format et routines dcriture en f90 :
http://www.grc.nasa.gov/WWW/wind/valid/plot3d.html
http://people.sc.fsu.edu/~jburkardt/f_src/plot3d_io/plot3d_io.html
http://people.sc.fsu.edu/~jburkardt/data/plot3d/plot3d.html

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

- Format assez pratique pour la CFD mais qui volue rapidement et qui nest que partiellement support
par ParaView
- Format utiliser pour traiter des donnes mais pas comme format de sortie natif des rsultats

08/02/2013

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

88/106

Paraview

Bilan
- Logiciel de visualisation 3D trs performant :
possibilit de traiter de trs gros volumes de donnes y compris en parallle
mode mode client / serveur
scriptable (Python)
- Logiciel ouvert en entre
(nombreux formats reconnus,
possibilit de crer son propre reader)
- Logiciel personnalisable
(crer son propre filter)
- Nombreuses fonctionnalits
- Logiciel en volution constante et
rapide
Trs bon logiciel gratuit pour la
visualisation et le post-traitement

08/02/2013

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

89/106

Scilab

Scilab
Prsentation : Scilab 5.4
- Logiciel open source gratuit de calcul numrique : puissant environnement de dveloppement pour les
applications scientifiques et lingnierie
- Possde un grand nombre de fonctionnalits 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 demploi :
- 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 lIMFT, sous Linux installation sous
scilab &
/PRODCOM :

11/02/2013
08/02/2013

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

90/106

Scilab

Accs laide de Scilab


- Cliquez sur licone ou bien tapez F1

11/02/2013
08/02/2013

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

91/106

Scilab

Scilab possde de trs nombreuses fonctions semblables celles de Matlab


Fonctionnalits pour le traitement des donnes :
- Visualisation 2D et 3D
- Fonctions lmentaires (min, max, tri, )
- Manipulation matricielle Algbre linaire
- Mathmatiques et simulation
- Optimisation
- Gestion de fichiers (criture, lecture, )
- Outils statistiques (mdiane, moyenne, )
- Interpolation (linaire, spline, )
- Traitement du signal (fft, fft inverse, )
- Equation diffrentielle (valuation dune 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
11/02/2013
08/02/2013

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

92/106

Scilab

Exemple de syntaxe Scilab / Matlab pour des plots XY


Syntaxe Scilab

Syntaxe Matlab

x = 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 ordonnes'); hold off

11/02/2013
08/02/2013

x = 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 ordonnes'); hold off

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

93/106

Scilab

Exemple de syntaxe Scilab / Matlab pour des tracs 2D 1/2


Syntaxe Matlab

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

11/02/2013
08/02/2013

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

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

94/106

Scilab

Exemple de syntaxe Scilab / Matlab pour des tracs de vecteurs


Syntaxe Scilab

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]=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';

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]);

11/02/2013
08/02/2013

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

95/106

Scilab

Fonctions lmentaires :
-

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

min(x)

: calcul du minimum dun vecteur

max(x)

: calcul du maximum dun vecteur

gsort(x)

: tri dun vecteur

find(x>10)

: Dtermine 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)

: dtermine si le vecteur x est vide

11/02/2013
08/02/2013

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

96/106

Scilab

Algbre linaire, 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

: transpose de A

inv(A)

: calcul de linverse dune 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

11/02/2013
08/02/2013

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

97/106

Scilab

Gestion des fichiers textes / binaires


-

fd = mopen(fichier, r ou w )

: ouverture dun fichier

txt = mgetl(fd, m)

: lecture dun 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 mdiane des lments du vecteur/de la matrice x

st_deviation(x) : calcul de lcart type des lments du vecteur/de la matrice x

correl(x,y,fre)

: calcul de la corrlation entre les deux variables x et y

variance(x)

: calcul de la variance des lments du vecteur/de la matrice x

covar(x,y,fre)

: calcul de la covariance entre les deux variables x et y

11/02/2013
08/02/2013

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

98/106

Scilab

Interpolation
-

interpln([x;y], xx)

: interpolation linaire

interp1

: mthode dinterpolation 1D

interp2

: mthode dinterpolation 2D

interp3

: mthode dinterpolation 3D

spline

: interpolation par spline cubique

Traitement du signal
-

x = fft(a)

: transforme de Fourier rapide du vecteur a

x = ifft(a)

: transforme de Fourier rapide inverse du vecteur a

x = fft2(a)

: transforme de Fourier rapide en 2D

11/02/2013
08/02/2013

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

99/106

Scilab

Toolbox (1/2)
- Il existe un certain nombre de toolbox Scilab qui reprennent certaines fonctionnalits des toolbox Matlab.
Matlab Toolbox
Matlab
Simulink
Stateflow
Stateflow Coder
Simulink Verification and Validation
Real-Time Workshop
Real-Time Workshop Embedded Coder
Control System Toolbox
Robust Control Toolbox
System Identification Toolbox
MATLAB Report Generator
Simulink Report Generator

Scilab Module
Scilab, Atoms/Imsls, Atoms/Specfun, Atoms/makematrix, Atoms/csv_readwrite, Atoms/spilu
Xcos
No
No
No
No
No
Scilab/CACSD
Scilab/CACSD
Scilab/CACSD
No
No

Optimization

Scilab/optimization, ATOMS/quapro, ATOMS/fmincon

80%

Curve Fitting Toolbox


Global Optimization

Scilab/interpolation, Scilab/datafit, Scilab/fit_dat


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/socket

Aerospace Toolbox
Aerospace Blockset

ATOMS/celestlab
No

11/02/2013
08/02/2013

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

Coverage
90%
80%
0%
0%
0%
?
?
~50%
?
?
0%
0%

?
0%

100/106

Scilab

Toolbox (2/2)
Statistics Toolbox

Scilab/statistics, Scilab/randlib, ATOMS/Stixbox, ATOMS/Lowdisc

30%

Fuzzy logic toolbox


Matlab Compiler
Matlab Fixed Point
Simulink Fixed Point
SIM power systems
Simulink Accelerator

No
ATOMS/scilab2c
Equalis Fixed Point Toolbox
No
No
XCos/Code Generator

0%
?
?
0%
0%
50%

Signal Processing Toolbox

Scilab/signal_processing Equalis Signal Processing Module

Signal Processing Blockset


Filter Design
Image Processing Toolbox
Model Predictive Control Toolbox
Partial Differential Equation Toolbox
Simulink Control Design
Symbolic Math Toolbox
Database Toolbox
Mapping Toolbox

No
Scilab/Signal Processing
ATOMS/SIVP, ATOMS/IPD, Sourceforge/SIP
No
No
No
Forge/scimax, Forge/symcomp
Forge/Scidb
No

Parallel Computing Toolbox

Scilab/parallel_run, Scilab/Pvm module Equalis Soft Cruncher

Real time windows target


SimDriveline
Simscape
Simulink 3D Animation (Virtual reality toolbox)
Spreadsheet Link EXCEL
MATLAB Builder EXCEL
XPC target
XPC target embedded option

No
No
No
No
ATOMS/xls_link
ATOMS/Scilab_XLL
No
No

11/02/2013
08/02/2013

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

?
0%
50%
0%
0%
0%
?
0%
?
0%
0%
0%
0%
?
?
0%
0%

101/106

Conclusion

Conclusion : Logiciels gratuits de post-traitement


- 1D XmGrace

lIMFT, sous Linux :

xmgrace

(version 5.*)

- 2D Gnuplot

lIMFT, sous Linux :

gnuplot

(version 4.*)

- 3D Paraview

lIMFT, sous Linux :

paraview (version 3.14)

- Calcul numrique Scilab lIMFT, 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,

08/02/2013

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

102/106

Bonus

Bonus 1 : Wink
Cration de tutoriaux et de prsentations au format flash
Prsentation : Wink 2.0
- Logiciel gratuit de cration de tutoriaux et de prsentation au format flash (*.swf)
- Plateforme : Linux / Windows
Tlchargement / Installation
- Site Web : http://www.debugmode.com/wink/
Spcificits :
- Capture dcran ou de fentre, automatique ou manuelle
(1 capture = 1frame)
- Contrle du temps par frame
- Dimensionnement des frames
- Insertion de sons, dimages, de textes, de liens,
- Optimisation de la palette pour diminuer la taille de document
- A partir de n captures dcran, cration du document flash (*.swf)
Installation trs simple
Prise en main trs rapide (10 min pour la 1re prsentation flash), utilisation intuitive
Documents flash de petite taille et de bonne qualit
NB : Ncessite linstallation de Macromdia Flash Player sous Windows et de GTK 2.4 ou mieux sous Linux
Exemple de prsentation ralise avec Wink par A. Stoukov
https://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 : Cration de vidos partir dune srie dimages


Cf. intranet CoSiNus : https://intranet.imft.fr/Creer-une-video-a-partir-d-un
Sous Linux : ncessite mencoder, ffmpeg, convert (prinstalls lIMFT)
- Crer les vidos 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

- Crer les vidos 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

- Crer les vidos 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 lavcopts
vcodec=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 / 256
Parfois il faut remplacer vpass=2 par vpass=1

Vido 1146*626 8fps


partir de 600 images
Vido avi de 7,3Mo

08/02/2013

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

104/106

Bonus

Bonus 2 : Cration de vidos partir dune srie dimages


- Crer un gif anim partir dimages "png" :
mkdir anim
for i in 4540..5500..40 ; do cp Scene_1image0$i.png anim ; done
cd anim
for f in `ls -1` ; do convert $f `basename $f png`gif ;done
/mnt/hmf/bin/gifmerge -20 -l0 Scene_1image0*.gif > anim.gif
convert -resample 13% -depth 3 anim.gif anim_small.gif

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

- Pour convertir une vido "avi" en vido "swf" pour les navigateurs Web en qualit suprieure :
ffmpeg -b 6000k -i isoa2_opt.avi isoa2_opt2.swf

- Sites de rfrence :
http://mariovalle.name/mencoder/mencoder.html
http://en.linuxreviews.org/HOWTO_Convert_video_files
http://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 : Cration de vidos partir dune srie dimages


Freeware sous Windows : ImageToAVI 1.0.0.5
- Logiciel gratuit sous Windows pour convertir une srie dimages (*.bmp, *.jpg, *.gif) en une vido (*.avi)
- Site Web : http://www.aswsoftware.com/products/imagetoavi/imagetoavi.shtml
1 version avec installation et 1 sans installation
Spcificits :
- Trs simple et rapide installer et utiliser
- Contrle frame/s., rptition frames
- Choix de la taille de la vido (h*l)
- Insertion audio, ajout dun fond, zoom automatique
- Grand choix de codec pour la compression vido
avi (privilgier cinepak codec by radius)
Vidos de petites tailles et de bonne qualit
Autres applications similaires gratuites :
- sous Windows : VirtualDub, WinMorph, Ekd,
PhotoLapse 3, JavaScript Animator Express,
- sous Linux :

EnSight tools

jpegtoavi, GifMerge+Gifsicle (gif anim),


convert,Ekd
Vido 704*480 partir
de 335 images (60Mo)
vido de 26Mo en
cinepak codec by radius

08/02/2013

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

106/106