Académique Documents
Professionnel Documents
Culture Documents
de visualisation et de post-traitement
IMFT / CoSiNus
Herv NEAU
Alexei STOUKOV
Annag PEDRONO
Pierre ELYAKIME
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
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)
08/02/2013
3/106
Introduction
08/02/2013
- Octave
- FreeMat
-
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
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
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
6/106
XmGrace
Structure de donnes
- Fichier de donnes reprsenter :
less exemplexyztuvw.org
7/106
XmGrace
Barre de menu
Zone de visualisation
Coordonnes
du curseur
Raccourcis de
visualisation
Ligne dinformation
08/02/2013
8/106
XmGrace
Raccourcis clavier
08/02/2013
9/106
XmGrace
08/02/2013
10/106
XmGrace
Fentre Axes
08/02/2013
11/106
XmGrace
08/02/2013
12/106
XmGrace
Exemple de
mise en forme
Valeur critique
08/02/2013
13/106
XmGrace
14/106
XmGrace
15/106
XmGrace
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
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
17/106
XmGrace
18/106
XmGrace
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
19/106
08/02/2013
20/106
XmGrace
21/106
XmGrace
22/106
XmGrace
23/106
XmGrace
08/02/2013
24/106
XmGrace
08/02/2013
25/106
XmGrace
- Multigraphes :
possibilit de regrouper
n graphes sur une mme
feuille (ici n=20)
08/02/2013
26/105
XmGrace
points=[1 or 2]
line=1 yes, 0 no
frames=[1,10^5]
file=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
08/02/2013
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
28/106
Gnuplot
Principe dutilisation
- Utilisation :
gnuplot
set options
plot { ranges } { <function> | { "<datafile>" ...}
splot { ranges } { <function> | {"<datafile>" ....}
quit
- Exemples :
gnuplot> plot sin(x)
- 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
29/106
Gnuplot
Principe dutilisation
- Accs laide gnrale :
gnuplot> help
08/02/2013
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
31/106
Gnuplot
Titre de la
lgende
ou bien
gnuplot> plot [*:*] [0:1800] "population.dat" title "pingouins" with
linespoints, "population.dat" using 1:3 title "gnous" with linespoints
08/02/2013
32/106
Gnuplot
Mise en forme
- Set, show et les paramtres :
- set : ajustement dun trs grand nombre d'options et de
- 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 :
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)
gnuplot> replot
34/106
Gnuplot
ou bien
- Titres :
08/02/2013
35/106
Gnuplot
- Trac de t=f(sin(t)/t) :
"
fonction.dat
08/02/2013
36/106
Gnuplot
Fonctions 2D (surfacique)
- Tracs basiques :
- Tracs avancs :
08/02/2013
37/106
Gnuplot
Tracs diso-contours
08/02/2013
38/106
Gnuplot
39/106
Gnuplot
40/106
Gnuplot
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
41/106
Gnuplot
Exemples de visualisation
2D (surfacique) et dhistogramme
08/02/2013
42/106
Gnuplot
08/02/2013
43/106
Gnuplot
Commandes shell
- Pour accder aux commandes shell, il faut prcder la commande de ! :
xv sin.ps
08/02/2013
44/106
Gnuplot
45/106
Gnuplot
46/106
Gnuplot
08/02/2013
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
1
3
4
5
6
7
119.32
41.77
35.24
31.48
28.49
26.74
48/106
Gnuplot
- 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
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
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
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
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 :
53/106
Paraview
Donnes charges
Zone daffichage pour la visualisation
Paramtres de visualisation
Variables lisibles
08/02/2013
54/106
Paraview
http://www.itk.org/Wiki/File:ParaView_UsersGuide_ParaViewGUIOverview.png
08/02/2013
55/105
Paraview
Paraview
08/02/2013
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
58/106
Paraview
08/02/2013
59/106
Paraview
08/02/2013
60/106
Paraview
Terminologie
- reader : objet source qui lit les donnes
61/106
Paraview
08/02/2013
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
08/02/2013
63/106
Paraview
08/02/2013
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
65/106
Paraview
Vecteurs vitesse
- Dans Pipeline Browser,
slectionner lentit source
des vecteurs vitesse (ici Slice2)
- Menu Filter, Alphabetical,
Glyph
08/02/2013
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
08/02/2013
67/106
Paraview
Lignes de courant
08/02/2013
68/106
Paraview
08/02/2013
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
70/106
Paraview
Ensight
BOV
VTK
Plot3D
Tecplot
http://wiki.canterbury.ac.nz/display/BlueFern/ParaView
08/02/2013
71/106
Paraview
Temps
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
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
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
73/106
Paraview
#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;
}
08/02/2013
74/106
Paraview
- en C++ : write_bin.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;
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
75/106
Paraview
=> paraview
76/106
Paraview
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
77/106
Paraview
08/02/2013
78/106
Paraview
08/02/2013
Type de donnes
Ncessaire pour ce DATASET
79/106
Paraview
POINT_DATA 9
Exemple de format de
fichiers VTK classique :
(2/2)
0
1
2
1
08/02/2013
80/106
Paraview
Exemple :
Position de 10 particules (Points)
vitesse + rayon (PointData)
08/02/2013
-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>
81/106
Paraview
08/02/2013
82/106
Paraview
08/02/2013
83/106
Paraview
08/02/2013
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
84/106
Paraview
FORMAT
type: ensight gold
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
85/106
Paraview
08/02/2013
86/106
Paraview
FORMAT
type: ensight gold
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
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
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
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
90/106
Scilab
11/02/2013
08/02/2013
91/106
Scilab
92/106
Scilab
Syntaxe Matlab
11/02/2013
08/02/2013
93/106
Scilab
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');
94/106
Scilab
Syntaxe Matlab
11/02/2013
08/02/2013
95/106
Scilab
Fonctions lmentaires :
-
min(x)
max(x)
gsort(x)
find(x>10)
modulo(n,m)
: n modulo m
norm(x,2)
: norme 2 du vecteur x
isempty(x)
11/02/2013
08/02/2013
96/106
Scilab
A = [ 1 2 3; 4 5 6; 7 8 9 ] : criture matricielle
A+B
: addition matricielle
A*B
: multiplication matricielle
A.*B
: transpose de A
inv(A)
spec(A)
[R] = chol(A)
: factorisation de Cholesky
[Q R] = qr(A)
: factorisation QR
11/02/2013
08/02/2013
97/106
Scilab
fd = mopen(fichier, r ou w )
txt = mgetl(fd, m)
mfprintf(fd,'hello %s %d.\n','world',1)
mclose(fd)
Outils statistiques
-
mean(x)
median(x)
correl(x,y,fre)
variance(x)
covar(x,y,fre)
11/02/2013
08/02/2013
98/106
Scilab
Interpolation
-
interpln([x;y], xx)
: interpolation linaire
interp1
: mthode dinterpolation 1D
interp2
: mthode dinterpolation 2D
interp3
: mthode dinterpolation 3D
spline
Traitement du signal
-
x = fft(a)
x = ifft(a)
x = fft2(a)
11/02/2013
08/02/2013
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
80%
?
50%
Neural Network
Communications Blockset
Aerospace Toolbox
Aerospace Blockset
ATOMS/celestlab
No
11/02/2013
08/02/2013
Coverage
90%
80%
0%
0%
0%
?
?
~50%
?
?
0%
0%
?
0%
100/106
Scilab
Toolbox (2/2)
Statistics Toolbox
30%
No
ATOMS/scilab2c
Equalis Fixed Point Toolbox
No
No
XCos/Code Generator
0%
?
?
0%
0%
50%
No
Scilab/Signal Processing
ATOMS/SIVP, ATOMS/IPD, Sourceforge/SIP
No
No
No
Forge/scimax, Forge/symcomp
Forge/Scidb
No
No
No
No
No
ATOMS/xls_link
ATOMS/Scilab_XLL
No
No
11/02/2013
08/02/2013
?
0%
50%
0%
0%
0%
?
0%
?
0%
0%
0%
0%
?
?
0%
0%
101/106
Conclusion
xmgrace
(version 5.*)
- 2D Gnuplot
gnuplot
(version 4.*)
- 3D Paraview
scilab
(version 5.4)
08/02/2013
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
103/106
Bonus
- 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
08/02/2013
104/106
Bonus
- 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
105/106
Bonus
EnSight tools
08/02/2013
106/106