1 | \chapter{Préparation et lancement d'un calcul} \label{chap_calcul}
2 | Dans ce chapitre, nous allons voir étape par étape comment préparer un calcul, le lancer et exploiter les résultats obtenus.
3 | \section{Présentation d'un exemple de cas test}
4 | Pour expliquer la procédure pour préparer et exécuter, nous allons nous appuyer sur un cas test : le cas d'un cylindre inhomogène et anisotherme. Le cylindre a une longueur $L = 1.2 \text{m}$ et un rayon $R = 0.3 \text{m}$. Ses parois sont noires et ont une température $T=800 \text{K}$ sauf la paroi située à $x=L$ qui est à 300K. La pression est égale à la pression atmosphérique. Les profils de température et de fractions molaires des espèces gazeuses H$_2$O et CO$_2$ sont donnés par :
5 | \begin{equation}
6 | \begin{split}
7 | T(z,r) = 800 +1200(1-r/R)(z/L), \\
8 | X_{H_2O} (z,r) = 0.05 \left[ 1 -2(z/L - 0.5)^2 \right] (2 - r/R), \\
9 | X_{CO_2} (z,r) = 0.04 \left[ 1 -3(z/L - 0.5)^2 \right] (2.5 - r/R).
10 | \end{split}
11 | \label{eq_cyl_inh}
12 | \end{equation}
13 |
14 | Nous considérerons que le milieu ne contient pas de suie.
15 | \section{Préparation du calcul}
16 |
17 | \subsection{Création du répertoire de travail}
18 | On commence par créer un répertoire pour le calcul dans lequel on se place, on exécute ensuite la routine \texttt{createdomcase} qui permet de préparer le répertoire de travail. Cette routine commence par créer deux liens symboliques vers les répertoires contenant les données spectrales de mélange (SPECTRAL) et les données des modèles de quadrature (QUADRA). Elle crée ensuite deux répertoires INFILES et OUTFILES où seront écrits respectivement :
19 | \begin{itemize}
20 | \item les fichiers d'entrée (avec une extension .IN) du calcul créés pendant le pré-traitement,
21 | \item et les fichiers de sortie (avec une extension .OUT), résultats de l'exécution du calcul.
22 | \end{itemize}
23 | Ces deux types de fichier sont des fichiers binaires, leur structure est détaillée sur les pages Web suivantes :
24 | \begin{itemize}
25 | \item \urlcolor{http://www.cerfacs.fr/prissma/formats.html} pour les fichiers d'entrée,
26 | \item \urlcolor{http://www.cerfacs.fr/prissma/outformats.html} pour les fichiers de sortie.
27 | \end{itemize}
28 |
29 | Et pour terminer, la routine \texttt{createdomcase} vérifie la présence du fichier de configuration du calcul \texttt{prissma.choices}. Si celui-ci n'est pas présent, un modèle de ce fichier est copié dans le répertoire, il faut alors adapter son contenu à la définition de notre calcul. Ce fichier est au format texte et se présente sous la forme suivante :
30 | \begin{verbatim}
31 | './INFILES' ! Path to *.in files
32 | './SPECTRAL' ! Path to spectral data
33 | './OUTFILES' ! Output path
34 | SOLINIT ! Data Status [ SOLINIT | RESTART ]
35 | DMFS ! Spatial discretization [ DMFS | STEP | EXPON ]
36 | SNB-CK ! Medium type [ GRAY | WSGG | FSCK | SNB-CK ]
37 | 5 ! Number of quadrature points
38 | 1.e-6 ! Convergence criterion for reflection
39 | NO ! Homogeneous system [ NO | YES ]
40 | \end{verbatim}
41 | Le fichier permet de définir :
42 | \begin{description}
43 | \item[lignes 1 à 3] le chemin vers trois des répertoires créés justement par la routine \texttt{createdomcase},
44 |
45 | \item[ligne 4] l'état des données, deux valeurs sont possibles SOLINIT si l'on initie un calcul et RESTART si l'on relance un calcul,
46 |
47 | \item[ligne 5] le modèle de discrétisation spatiale \\
48 | Trois modèles sont disponibles :
49 | \begin{itemize}
50 | \item le schéma diamant en flux moyen ou DMFS (Diamond Mean Flux Scheme),
51 | \item le schéma step (STEP),
52 | \item le schéma exponentiel (EXPON).
53 | \end{itemize}
54 | Une étude a montré que le modèle DMFS donnait de meilleurs résultats, il est donc conseillé de privilégier ce modèle pour effectuer ses calculs.
55 |
56 | \item[ligne 6] le modèle spectral,
57 | Quatre modèles spectraux sont utilisables :
58 | \begin{itemize}
59 | \item le modèle GRAY (GRAY)
60 | \item le modèle WSGG (WSGG)
61 | \item le modèle FS-SNBck (FSCK)
62 | % \item le modèle FS-SNBck tabulé (TAB)
63 | \item le modèle SNBck (SNB-CK)
64 | \end{itemize}
65 |
66 | \item[ligne 7] le nombre de points utilisés lors du calcul de
67 | quadrature,
68 |
69 | \item[ligne 8] la valeur du critère de convergence si on utilise
70 | des parois grises,
71 |
72 | \item[ligne 9] l'homogénéité ou non du milieu, ce critère permet
73 | de simplifier l'exécution du calcul au moment de l'affectation
74 | des valeurs des grandeurs physiques aux cellules si le milieu
75 | est homogène.
76 | \end{description}
77 |
78 | \bigskip
79 | Maintenant que le répertoire de travail est prêt, l'étape suivante
80 | consiste à lire le maillage.
81 |
82 | \subsection{Lecture du maillage}
83 | Actuellement, \code est capable de lire deux types de maillage : le
84 | format dit neutral du logiciel Gambit (le mailleur associé à Fluent)
85 | et le format de maillage AVBP
86 | \footnote{\urlcolor{http://pantar.cerfacs.fr/4-26334-The-AVBP-code.php}}. Le
87 | code sait lire des maillages hybrides, mais les maillages non
88 | coïncidents tels que des maillages hexaèdres/tétraèdres ne sont pas
89 | supportés.
90 |
91 | Pour lire les données du maillage, on utilise la routine
92 | \texttt{predatas}. Le script commence par vérifier la présence du
93 | fichier de configuration \texttt{predatas.choices} dans le répertoire
94 | de travail. Au cas où il ne le serait pas, le script en crée un modèle
95 | dont il faudra modifier le contenu et relancer \texttt{predatas}. Ce
96 | fichier est au format texte et se présente sous la forme suivante :
97 | \begin{verbatim}
98 | './meshes/cyl_coarse.neu' ! Mesh file name
99 | './QUADRA' ! Quadrature definition directory
100 | 2 ! Mesh type (1=AVBP, 2=GAMBIT)
101 | './INFILES/' ! Output path
102 | SNDOM ! Quadrature type [SNDOM|FVM|TNDOM|PERSO]
103 | 4 ! Quadrature order
104 | 2 ! Number of directions if PERSO quadrature
105 | 1. 0. 0. ! 1st direction for PERSO quadrature
106 | -1. 0. 0. ! 2nd direction ...
107 | \end{verbatim}
108 | Le fichier permet de définir :
109 | \begin{description}
110 | \item[ligne 1] le chemin vers le fichier de maillage ;\\
111 |
112 | \item[ligne 2] le chemin vers le répertoire contenant les données
113 | sur les modèles de quadrature ;
114 |
115 | \item[ligne 3] le type de maillage, on utilise 1 pour AVBP et 2
116 | pour Gambit ;
117 |
118 | \item[ligne 4] le chemin vers le répertoire des fichiers d'entrée ;
119 |
120 | \item[ligne 5] le modèle de quadrature (à compléter) ;
121 |
122 | \item[ligne 6] l'ordre de la méthode SN pour fixer le nombre de
123 | directions, les valeurs possibles sont 2 pour S2, 4 pour S4, 6
124 | pour S6, 8 pour S8, 9 pour LC11, 12 pour S12 ;
125 |
126 | \item[ligne 7 et suivantes] si l'on choisit l'option PERSO pour le
127 | modèle de quadrature à la ligne 5, on définit à cette ligne le
128 | nombre de directions et leur vecteur (x,y,z) aux lignes
129 | suivantes.
130 | \end{description}
131 |
132 | À partir des paramètres lus dans ce fichier, le maillage est lu et un
133 | ensemble de fichiers d'entrée sont créés dans le répertoire
134 | INFILE. Ces fichiers contiennent la géométrie du maillage, les
135 | directions et leur chemin associé de parcours des cellules du
136 | maillage. \newline
137 |
138 | \bigskip L'étape suivante consistera à lire la solution initiale issue
139 | d'un calcul de CFD.
140 |
141 | \subsection{Lecture de la solution initiale}
142 | Pour lire la solution initiale, il existe deux routines :
143 | \texttt{solinit} et \texttt{solinit\_avbp}. La routine
144 | \texttt{solinit} permet d'utiliser une solution analytique telle que
145 | celle donnée dans la présentation du cas test
146 | (Eq. \ref{eq_cyl_inh}). Tandis que la routine \texttt{solinit\_avbp}
147 | sait lire les résultats d'un calcul effectué avec le code AVBP.
148 |
149 | \subsubsection{avec \texttt{solinit}}
150 | Lorsqu'on utilise \texttt{solinit}, deux fichiers sont nécessaires :
151 | \texttt{solinit.choices} et \texttt{perso.inc}. Comme précédemment, si
152 | l'un des fichiers (ou les deux) manque, un fichier type est créé. Son
153 | contenu devra être adapté et la routine relancée.
154 |
155 | Le fichier \texttt{solinit.choices} ne contient que le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES) :
156 | \begin{verbatim}
157 | './INFILES' ! *.in directory
158 | \end{verbatim}
159 |
160 | Le fichier \texttt{perso.inc} permet de définir les solutions analytiques pour les différents champs nécessaires pour définir le milieu. Pour le cas test présenté au début de ce chapitre, le fichier prend la forme suivante :
161 | \begin{verbatim}
162 | R_ref = 0.3
163 | L_ref = 1.2
164 | r = SQRT(z(i)*z(i)+y(i)*y(i))
165 |
166 | T_n(i) = 800.+1200.*(1.-r/R_ref)*(x(i)/L_ref)
167 |
168 | P_n(i) = 1.
169 | XH2O_n(i) = 0.05*(1.-2. *(z(i)/L_ref-0.5)**2)*(2.-r/R_ref)
170 | XCO2_n(i) = 0.04*(1.-3. *(z(i)/L_ref-0.5)**2)*(2.5-r/R_ref)
171 | XCO_n(i) = 0.
172 | XO2_n(i) = 0.2*(1.-XH2O_n(i)-XCO2_n(i)-XCO_n(i))
173 | XN2_n(i) = 0.8*(1.-XH2O_n(i)-XCO2_n(i)-XCO_n(i))
174 | XSOOT_n(i) = 0.
175 |
176 | kscattering_n(i) = 0.
177 | kabsorption_n(i) = 0.1
178 | \end{verbatim}
179 | Les différents profils à renseigner sont donc :
180 | \begin{itemize}
181 | \item la pression P\_n(i),
182 | \item la température T\_n(i),
183 | \item les concentrations des espèces XH2O\_n(i), XCO2\_n(i), XCO\_n(i), XO2\_n(i), XN2\_n(i),
184 | \item la concentration en suie XSOOT\_n(i).
185 | \end{itemize}
186 |
187 | Le contenu de ce fichier est utilisé au sein d'une boucle sur les nœuds du maillage et permet donc d'exprimer la valeur de ces différentes grandeurs au nœud. Pour accéder aux coordonnées du nœud, on utilise x(i), y(i) et z(i). Il est également possible d'utiliser les réels suivants pour déclarer des données du système étudié : r, d, x\_ref, y\_ref, z\_ref, R\_ref, L\_ref, T\_ref. Dans l'exemple, on utilise R\_ref et L\_ref pour définir respectivement le rayon et la longueur du cylindre, ainsi que r pour définir la position radiale du nœud. \newline
188 |
189 | D'un point de vue technique, il est fortement conseillé d'écrire le contenu de ce fichier entre la 7ème et la 73ème colonne (incluse), pour des raisons de compatibilité avec certains compilateurs Fortran.
190 |
191 |
192 | \subsubsection{avec \texttt{solinit\_avbp}}
193 | Pour utiliser \texttt{solinit\_avbp}, un seul fichier est nécessaire : \texttt{solinit\_avbp.choices}. Comme précédemment, si ce fichier n'est pas présent, la routine en crée une version dont il faut adapter le contenu, et il faut relancer \texttt{solinit\_avbp}. Le contenu du fichier est le suivant :
194 | \begin{verbatim}
195 | './asciifile.txt' ! ascii solution file obtained with avbp2dom
196 | './INFILES' ! path to the input files *.in
197 | 0. ! Soot consentration
198 | \end{verbatim}
199 | Le fichier permet de définir :
200 | \begin{description}
201 | \item[ligne 1] le chemin vers un fichier texte qui contient les solutions d'un calcul AVBP sous une forme pré-définie
202 | Ce fichier texte est obtenu à partir des solutions d'un calcul en utilisant la routine \texttt{avbp2dom}.
203 | \item[ligne 2] le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES)
204 | \item[ligne 3] la concentration en suie
205 | \end{description}
206 |
207 | À partir des paramètres lus dans ce(s) fichier(s), la routine crée de nouveaux fichiers d'entrée. \newline
208 |
209 | \bigskip
210 | L'étape suivante consistera à lire les conditions aux limites du domaine.
211 |
212 | \subsection{Lecture des conditions aux limites}
213 | La lecture des conditions des solutions s'effectue en utilisant la routine \texttt{initbc}. Deux fichiers sont nécessaires : \texttt{initbc.choices} et \texttt{clperso.inc}. Comme précédemment, si l'un des fichiers (ou les deux) manque, un fichier type est créé. Son contenu devra être adapté et la routine relancée.
214 |
215 | Le fichier \texttt{initbc.choices} ne contient que le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES) :
216 | \begin{verbatim}
217 | './INFILES' ! *.in directory
218 | \end{verbatim}
219 | Le fichier \texttt{clperso.inc} permet de définir les conditions aux limites du domaine. Pour le cas test présenté au début de ce chapitre, le fichier prend la forme suivante :
220 | \begin{verbatim}
221 | IF (patch.eq.1) THEN
222 | T = 800.
223 | emissivity = 1.
224 | ELSEIF (patch.eq.2) THEN
225 | T = 300.
226 | emissivity = 1.
227 | ELSEIF (patch.eq.3) THEN
228 | T = 800.
229 | emissivity = 1.
230 | ENDIF
231 | \end{verbatim}
232 |
233 | Dans ce fichier, on définit la température et l'émissivité de la paroi pour chaque section des limites du domaine. Chaque section se voit attribuer un numéro qui correspond à sa position dans le fichier de définition du maillage et on peut se référer à la section 1 via le test :
234 | \begin{verbatim}
235 | IF (patch.eq.1) THEN
236 | T = 300.
237 | emissivity = 1.
238 | ENDIF
239 | \end{verbatim}
240 |
241 | On peut ajouter une nouvelle section, on ajoute une condition :
242 | \begin{verbatim}
243 | ELSEIF (patch.eq.patch_number) THEN
244 | T = profil de température en fonction de x, y er z
245 | emissivity = emissivity
246 | \end{verbatim}
247 |
248 | Le code se sert de ces profils (ou valeurs fixes) pour attribuer la température et l'émissivité de chacune des faces appartenant aux parois. Pour définir un profil, il est possible de définir et utiliser les variables : L\_ref, R\_ref, x\_ref, y\_ref, z\_ref, et également d'utiliser x, y et z qui représentent les coordonnées du centre de la face considérée. \newline
249 |
250 | D'un point de vue technique, il est fortement conseillé d'écrire le contenu de ce fichier entre la 7ème et la 73ème colonne (incluse), pour des raisons de compatibilité avec certains compilateurs Fortran. \newline
251 |
252 | \bigskip
253 | Le pré-traitement est maintenant terminé, tous les fichiers d'entrée nécessaires au calcul ont maintenant étaient créés dans le répertoire INFILE. Le calcul est maintenant prêt à être lancé.
254 |
255 | % \subsection{Tabulation du modèle FS-SNBcK}
256 |
257 | % Une version tabulée du modèle FS-SNBck a été développée afin de
258 | % réduire significativement le temps de calcul. Avec ce modèle, les
259 | % coefficients d'absorption sont pré-calculés dans une phase de
260 | % pré-processing à l'aide de l'outil \texttt{tabfsck}. L'appel de cet
261 | % outil se fait depuis le répertoire de calcul. Le script copie le
262 | % fichier \texttt{tabfsck.choices}~:
263 | % \begin{verbatim}
264 | % './SPECTRAL' ! pathspec
265 | % 'test.dat' ! outfile [table.dat]
266 | % 1.d0 ! Pressure(atm)
267 | % 5 ! nquad
268 | % 10 ! DT
269 | % 0.05 ! DYH
270 | % 0.05 ! DYC
271 | % 0.1 ! DYCO
272 | % 0.7 ! max YH2O
273 | % 0.7 ! max YCO2
274 | % 0.5 ! max YCO
275 | % \end{verbatim}
276 |
277 | % Le fichier permet de définir :
278 | % \begin{description}
279 | % \item[ligne 1] le chemin vers les fichiers de données spectrales;\\
280 |
281 | % \item[ligne 2] le nom de la table générée. Il est possible de générer
282 | % plusieurs tables mais le fichier lu par \code doit porter le nom
283 | % table.dat;\\
284 |
285 | % \item[ligne 3] La tabulation est faite à pression constante en faisant
286 | % l'hypothèse d'absence de chocs dans la configuration;\\
287 |
288 | % \item[ligne 4] Nombre de points de quadrature utilisés dans le modèle
289 | % FS-SNBcK, ce paramètre doit être déterminé en vérifiant la
290 | % convergence de la solution FS-SNBcK vers la solution SNBcK;
291 |
292 | % \item[ligne 5--8] Pas de tabulation pour la température, fraction
293 | % massique de \HdeuxO, \COdeux et \CO. Ces paramètres doivent être
294 | % déterminés pour assurer la convergence de la solution tabulée vers
295 | % la solution FS-SNBcK.
296 |
297 | % \item[ligne 8--11] Fractions massiques maximales de \HdeuxO, \COdeux
298 | % et \CO. Ces paramètres permettent d'optimiser la taille de la table
299 | % en fonction de la configuration étudiée.
300 | % \end{description}
301 |
302 | \subsection{Conversions des fichiers d'entrée}
303 | Dans certaines occasions, il peut être nécessaire de transférer les fichiers d'entrée et de sortie. Par exemple, on peut effectuer le pré-traitement, le calcul et le post-traitement sur des machines différentes. Or, les fichiers d'entrée et de sortie sont des fichiers binaires et dépendent donc de l'endianess des machines concernées. Pour passer d'une machine à l'autre il peut être alors nécessaire de convertir les fichiers. Pour cela, il existe deux routines : \texttt{inconvert} et \texttt{outconvert} qui permettent de convertir les fichiers d'entrée et les fichiers de sortie. Dans les 2 cas, on convertit les binaires sur la première machine en une archive au format tar gz contenant tous les fichiers d'entrée au format ascii. Ensuite, on transfère l'archive sur la seconde machine, et on effectue l'opération inverse, on convertit les fichiers ascii en binaire.
304 |
305 | Pour les utiliser, il faut fournir un fichier de configuration, selon la routine : \texttt{inconvert.choices} ou \texttt{outconvert.choices}.
306 |
307 | \subsubsection{Le fichier \texttt{inconvert.choices}}
308 | IL se présente sous la forme suivante :
309 | \begin{verbatim}
310 | './INFILES' ! Prissma *.in infiles directory
311 | './infiles_txt' ! Compressed file with txt data
312 | 1 ! Convertion type [ 1:bin2ascii | 2:ascii2bin ]
313 | \end{verbatim}
314 | \begin{description}
315 | \item[ligne 1] le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES) ;
316 | \item[ligne 2] le chemin vers l'archive sans l'extension tgz ;
317 | \item[ligne 3] le sens de la conversion, on choisit 1 pour convertir de binaire vers ascii et 2 pour convertir de ascii vers binaire.
318 | \end{description}
319 |
320 | \subsubsection{Le fichier \texttt{outconvert.choices}}
321 | Il se présente sous la forme suivante :
322 | \begin{verbatim}
323 | './INFILES' ! Prissma *.in infiles directory
324 | './OUTFILES' ! Prissma *.out outfiles directory
325 | './outfiles_txt' ! Comrpessed file with txt data
326 | 1 ! Convertion type [ 1:bin2ascii | 2:ascii2bin ]
327 | \end{verbatim}
328 | \begin{description}
329 | \item[ligne 1] le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES) ;
330 | \item[ligne 2] le chemin vers le répertoire des fichiers de sortie (dans notre cas OUTFILES) ;
331 | \item[ligne 3] le chemin vers l'archive sans l'extension tgz ;
332 | \item[ligne 4] le sens de la conversion, on choisit 1 pour convertir de binaire vers ascii et 2 pour convertir de ascii vers binaire.
333 | \end{description}
334 |
335 | \section{Lancement du calcul}
336 | Le lancement du calcul dépend de la version du code que vous souhaitez utiliser.
337 | \paragraph{Calcul avec le code séquentiel}
338 | Il suffit d'utiliser le script \texttt{run\_seq} et le calcul s'effectue. Le script vérifie la présence du fichier \texttt{prissma.choices} et en cas d'absence, il crée une version dont il faudra adapter le contenu, puis il faudra à nouveau relancer \texttt{run\_seq}.
339 |
340 | \paragraph{Calcul avec le code parallèle}
341 | Pour le code parallèle, l'équivalent du script \texttt{run\_seq} a été écrit : \texttt{run\_para} mais il n'est pas toutefois à l'heure actuelle pas intégré à la version actuelle. Ce script admet un argument facultatif qui permet de définir le nombre de processus que l'on souhaite utiliser pour effectuer le calcul. Si l'argument n'est pas défini, le script considère que le calcul doit être effectué avec un seul processus. Par exemple si l'on veut effectuer un calcul avec quatre processus, on tape la commande : \cmd{run\_para 4}. \newline
342 |
343 | Toutefois, si ce script ne vous a pas été fourni, il faut alors taper la commande suivante : \newline
344 | \cmd{mpiexec -n 4 \$DOMHOME/HOSTS/\$DOM\_HOSTTYPE/mpiprissma\_\$DOM\_\ldots \\VERSION.e\_\$DOM\_HOSTTYPE}\\
345 | où 4 signifie que l'on veut utiliser quatre processus lors du calcul.
346 |
347 | \section{Traitement des résultats}
348 | Pour faciliter l'exploitation des résultats du code de calcul, deux routines ont été développées : \texttt{dom2ascii} et \texttt{visu}. Nous allons voir dans les sections suivantes
349 |
350 | \subsection{Création de fichiers ascii sur un rayon}
351 | La routine \texttt{dom2ascii} permet d'obtenir les valeurs des grandeurs de sortie selon un rayon. La routine crée un fichier pour chacune des grandeurs de sortie. Il est nécessaire de fournir le fichier \texttt{dom2ascii.choices} qui se présente sous la forme suivante :
352 | \begin{verbatim}
353 | './INFILES/' ! *.in files directory
354 | './OUTFILES/' ! *.out files directory
355 | 0. 0. 0. ! coordinates of the first point
356 | 3. 0. 0. ! coordinates of the last point
357 | 81 ! Number of points to interpolate
358 | 2 ! Unit for results [ 1: W | 2: kW ]
359 | 0 ! Read wall properties [ 0: no | 1: yes ]
360 | \end{verbatim}
361 | Le fichier permet de définir :
362 | \begin{description}
363 | \item[ligne 1] le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES) ;
364 | \item[ligne 2] le chemin vers le répertoire des fichiers de sortie (dans notre cas OUTFILES) ;
365 | \item[lignes 3-4] les coordonnées des extrémités du rayon sur lequel on veut obtenir les grandeurs ;
366 | \item[ligne 5] le nombre de points que l'on souhaite obtenir le long du rayon, ces points sont calculés de manière à être espacés régulièrement ;
367 | \item[ligne 6] l'unité des résultats : 1 pour les exprimer en W et 2 pour les exprimer en kW ;
368 | \item[ligne 7] la lecture des caractéristiques des parois : 0 pour ne pas les lire et 1 pour les lire.
369 | \end{description}
370 |
371 | Les fichiers ascii obtenus contiennent quatre colonnes : les trois premières sont les coordonnées (x,y,z) des points sur le rayon choisi et la quatrième la valeur de la grandeur considérée en ces points. Il existe ensuite de très nombreuses possibilités d'exploiter les fichiers ascii obtenus. Pour les cas tests dont nous parlerons au chapitre suivant, nous nous appuierons sur le logiciel Grace pour tracer de manière automatiser les courbes.
372 |
373 | \subsection{Création de fichiers compatibles avec ParaView}
374 | La routine \texttt{visu} permet de créer un fichier au format Ensight. Ce fichier contient les profils en trois dimensions de toutes les grandeurs d'entrée et de sortie du calcul. Le fichier obtenu est compatible notamment avec le logiciel ParaView qui est un outil de visualisation open source. \\
375 |
376 | Pour utiliser la routine \texttt{visu}, il faut fournir le fichier \texttt{visualensight.choices} qui se présente sous la forme suivante :
377 | \begin{verbatim}
378 | 'GRIDS/cyl_homo_fine.neu' ! Mesh file
379 | 2 ! Mesh type [ 1=AVBP | 2=GAMBIT ]
380 | 'OUTFILES' ! Prissma result files directory
381 | 'INFILES' ! Prissma *.in files directory
382 | 'VISU' ! Visual output directory
383 | 1 ! Format [ 1=binary | 2=ascii ]
384 | \end{verbatim}
385 | Le fichier permet de définir :
386 | \begin{description}
387 | \item[ligne 1] le chemin vers le fichier du maillage ;
388 | \item[ligne 2] le type de maillage, on utilise 1 pour AVBP et 2 pour Gambit ;
389 | \item[ligne 3] le chemin vers le répertoire des fichiers d'entrée (dans notre cas INFILES) ;
390 | \item[ligne 4] le chemin vers le répertoire des fichiers de sortie (dans notre cas OUTFILES) ;
391 | \item[ligne 5] le chemin vers le répertoire des fichiers créés par la routine \texttt{visu} (dans notre cas VISU) ;
392 | \item[ligne 6] le type de fichier soit 1 pour la version binaire au format Ensight soit 2 pour le fichier au format ascii.
393 | \end{description}
394 |
395 |
396 |
397 |
398 |
399 |
400 |