1 #!/bin/sh -e
  2 
  3 
  4 #==================================
  5 # TP1 : premier pas avec Stardis. #
  6 #==================================
  7 
  8 # Conditions de réalisation
  9 # -------------------------
 10 
 11 # Nous supposerons que le TP est réalisé par un utilisateur
 12 # travaillant depuis le système d'exploitation EDIX.
 13 
 14 
 15 #========================================
 16 # TP1 - Partie 1 : les débuts dans EDIX #
 17 #========================================
 18 
 19 # Se connecter en tant qu'etudiant :
 20 
 21 #   login: etudiant
 22 #   mot de passe: etudiant&1edix
 23 
 24 # Vous êtes maintenant dans le système d'exploitation EDIX.
 25 # Vous pouvez consulter la documentation en saisissant la commande
 26 # suivante :
 27 
 28 # etudiant:~ $ man edix
 29 
 30 # Avant de poursuivre le TP, vous êtes invité à lire cette page de
 31 # manuel ainsi que celles vers lesquelles elle renvoit, notamment
 32 
 33 # etudiant:~ $ man edix_man
 34 # etudiant:~ $ man edix_premiers_pas
 35 # etudiant:~ $ man edix_gestes_de_base
 36 # etudiant:~ $ man edix_interface_graphique
 37 # etudiant:~ $ man edix_shell
 38 # etudiant:~ $ man edix_vim
 39 
 40 # Au minimum, vous aurez besoin d'apprendre à lancer l'interface
 41 # graphique avec la commande
 42 
 43 # etudiant:~ $ startx
 44 
 45 # et à ouvrir un terminal graphique avec la combinaison de touches
 46 # Alt + Entrée.
 47 
 48 # Le démonstrateur et l'ensemble des logiciels ont été installés
 49 # chez l'utilisateur lafrier, comme vous pouvez le voir avec la commande
 50 
 51 ls /home/lafrier/
 52 
 53 # Vous allez travailler dans le répertoire /home/etudiant.
 54 # Vous pouvez vérifier que vous êtes bien dans ce répertoire à l'aide de
 55 # la commande
 56 
 57 pwd
 58 
 59 # qui affiche le chemin vers le répertoire courant.
 60 # La commande
 61 
 62 ls
 63 
 64 # vous permet ensuite d'afficher les fichiers et dossiers du répertoire
 65 # courant.
 66 
 67 # Il vous faudra ensuite créer un répertoire à votre nom :
 68 
 69 mkdir mon_nom
 70 
 71 # Avec
 72 
 73 ls
 74 
 75 # vous observerez que le répertoire a été créé.
 76 
 77 # Remarques
 78 # ---------
 79 # Si on veut renommer le répertoire parce qu'on a fait une faute :
 80 #
 81 # etudiant:~ $ mv mon_nom_raté nom_nom_correct
 82 #
 83 # Si on veut supprimer le répertoire :
 84 #
 85 # etudiant:~ $ rm -r mon_nom
 86 # ---------
 87 
 88 # On se rend dans le répertoire créé :
 89 
 90 cd mon_nom
 91 
 92 # On crée un sous-répertoire dédié au TP1 et on se rend dans ce
 93 # sous-répertoire :
 94 
 95 mkdir TP1
 96 cd TP1
 97 
 98 # On recopie les données utiles au TP1 dans un nouveau répertoire appelé
 99 # cube :
100 
101 cp -r "${DEMONSTRATEUR_2}"/data/cube cube
102 cd cube
103 cp "${DEMONSTRATEUR_2}"/TP1/src/model.txt .
104 
105 
106 #====================================
107 # TP1 - Partie 2 : exécuter stardis #
108 #====================================
109 
110 
111 # Partie 2.1 : première exécution de stardis
112 # ------------------------------------------
113 
114 # Pour pouvoir exécuter stardis, il faut réaliser l'opération suivante à
115 # chaque fois que vous ouvrirez un nouveau terminal :
116 
117 . /home/lafrier/star-build/local/etc/stardis.profile
118 
119 # Elements techniques de compréhension
120 # ------------------------------------
121 # Afficher le fichier pour voir que des variables vont être modifiées.
122 # Ces variables sont enrichies avec les chemins vers le dossier d'installation
123 # de stardis :
124 #
125 # etudiant:~/mon_nom/TP1/cube $ cat \
126 #   /home/lafrier/Stardis-0.14.0/local/etc/stardis.profile
127 #
128 # Vérifier que ces variables ont bien été mises à jour :
129 #
130 # etudiant:~/mon_nom/TP1/cube $ echo ${CPATH}
131 # ------------------------------------
132 #
133 # Afficher les fichiers dans le répertoire de travail :
134 
135 ls
136 
137 # On voit qu'on a différents types de fichiers, d'extensions :
138 # - txt : le fichier décrivant le système physique
139 # - stl : description des géométries du système - on verra dans le TP3
140 #         comment les construire
141 #
142 # On commence par ouvrir le fichier `model.txt`, c'est la description
143 # informatique du système physique considéré.
144 
145 cat model.txt
146 
147 # Il s'agit d'un cube solide, dont les parois de gauche et de droite sont à
148 # température imposée. Les 4 autres parois sont adiabatiques, le flux est
149 # imposé à 0 dans le fichier "model.txt". Le fichier commence par décrire
150 # les milieux : ici le solide, associé à une géométrie "solid.stl".
151 # Ensuite sont décrites les conditions limites, ici de deux types différents.
152 # Ces conditions limites sont elles aussi associées à des géométries.
153 # L'exercice 3.2 sera dédié à la compréhension de la syntaxe pour décrire
154 # le système.
155 #
156 # Avec paraview, on commence par visualiser les stl (à réaliser de
157 # préférence dans un autre bureau) :
158 
159 paraview
160 
161 # Commencer par ouvrir tous les fichiers en .stl en cliquant sur File > Open
162 # Cliquer sur Appliquer / Apply pour voir tous les chemins tracés
163 # Il est possible de cliquer sur l'oeil à côté de chaque fichier pour
164 # montrer ou cacher chaque objet
165 #
166 # Lancer le premier calcul stardis :
167 
168 stardis -V 3 -M model.txt -p 0.5,0.5,0.5 -n 10000 -e
169 
170 # On observe et commente la sortie :
171 #  - On exécute le code stardis sur le système "model.txt".
172 #  - On estime la température en un point, ici au centre du cube, à l'aide de
173 #    10000 réalisations.
174 #  - On a choisi un mode "verbeux" avec beaucoup d'informations,
175 #    indiquant notamment les géométries chargées et les temps de calcul.
176 #  - A la fin, on observe la valeur de température estimée et la barre
177 #    d'erreur associée, ainsi que le nombre de chemins "ratés" (en raison de
178 #    problèmes numériques).
179 #
180 # On fait une nouvelle estimation avec plus de réalisations :
181 
182 stardis -V 3 -M model.txt -p 0.5,0.5,0.5 -n 40000 -e
183 
184 # On observe que la barre d'erreur a diminué : l'estimation est plus précise.
185 
186 
187 # Partie 2.2 : visualiser des chemins
188 # -----------------------------------
189 
190 
191 # Partie 2.2.1 : chemins de diffusion uniquement avec condition limite de
192 #                                         Dirichlet (température imposée)
193 # -----------------------------------------------------------------------
194 
195 # Enregistrer des chemins :
196 
197 stardis -V 3 -M model.txt -p 0.5,0.5,0.5  -n 10 -D all,path -e
198 ls
199 
200 # On observe que 10 fichiers path00000*.vtk ont été produits.
201 
202 # Pour ouvrir directement paraview avec les fichiers créés par la
203 # commande précédente :
204 
205 paraview --script="${DEMONSTRATEUR_2}"/TP1/src/script_paraview_cube.py
206 
207 # Mais si ce script échoue, on peut également refaire toutes les étapes
208 # à la main, en ouvrant simplement paraview avec la commande :
209 # paraview
210 # Puis en suivant les étapes suivantes :
211 # dans la fenêtre paraview : File > Open ;
212 # cliquer sur la flèche à côté de path.vtk ;
213 # sélectionner l'ensemble des fichiers (path000.vtk jusqu'à path009.vtk) ;
214 # par défaut les chemins ne sont pas visibles, il faut cliquer sur Apply.
215 #
216 # Pour visualiser les différentes parties du cube, ouvrir les fichiers
217 # ".stl".
218 #
219 # Pour une meilleure visualisation :
220 # dans le Pipeline Browser à gauche, cacher tous les fichiers en .stl
221 # sauf "solid.stl" ;
222 # faire un clic gauche sur "solid.stl" ;
223 # dans l'onglet Properties passer la représentation de "Surface" à
224 # "Wireframe" ;
225 # dans Coloring, cliquer sur Edit pour sélectionner une couleur (ex : noir).
226 
227 
228 # Le script charge 10 chemins en même temps.
229 # Commencez par en visualiser un seul : en cliquant sur l'oeil devant chaque
230 # élément "path" du Pipeline Browser, vous allez les masquer.
231 #
232 # Ce que vous observez :
233 # Les chemins partent du point d'observation, ici au centre du cube,
234 # ils "ressemblent" à du mouvement brownien.
235 # Les sommets sont construits en échantillonnant uniformément une position
236 # sur la surface d'une petite sphère (de taille delta) centrée sur le sommet
237 # précédent.
238 #
239 # Dans cet exemple, les chemins terminent en paroi au niveau des conditions
240 # limites de Dirichlet uniquement. Lorsqu'ils rencontrent une paroi adiabatique,
241 # ils sont réfléchis et ne s'arrêtent pas. Le poids de Monte-Carlo retenu
242 # par le chemin est la température imposée au niveau de la paroi.
243 #
244 # Pour tout problème de visualisation avec paraview, regardez l'image
245 # ci-dessous :
246 
247 # etudiant:~ $ feh ${DEMONSTRATEUR_2}/Figures/tp1_chemins_dans_cube_solide.png
248 
249 # Le chemin part du centre du cube, point sonde auquel on souhaite évaluer la
250 # température. Il s'arrête lorsqu'il renconstre la paroi de gauche, dont la
251 # température est connue et retenue comme poids de Monte-Carlo.
252 
253 
254 # Partie 2.2.2 : chemins pour condition limite de type Robin
255 # ----------------------------------------------------------
256 
257 # On change maintenant la condition limite du système.
258 # La température n'est plus imposée aux parois latérales du cube.
259 # Le cube est plongé dans un fluide dont la température est connue,
260 # il y a un coefficient d'échange convectif entre le cube solide et le fluide.
261 # De plus, la température radiative de l'environnement est connue.
262 
263 # On copie le fichier texte comportant nos nouvelles conditions :
264 
265 cp "${DEMONSTRATEUR_2}"/TP1/src/modele_cube_dans_fluide.txt .
266 
267 # On réalise une estimation de la température à l'aide de 10000 chemins :
268 
269 stardis -V 3 -M modele_cube_dans_fluide.txt -p 0.5,0.5,0.5 -n 10000 -e
270 
271 # On génère juste 10 chemins (pas besoin de plus pour l'analyse) :
272 
273 stardis -V 3 -M modele_cube_dans_fluide.txt -p 0.5,0.5,0.5  -n 10 \
274   -D all,path_conv_ -e
275 
276 # On visualise ces chemins :
277 
278 paraview \
279   --script="${DEMONSTRATEUR_2}"/TP1/src/script_paraview_cube_dans_fluide.py
280 
281 # Les chemins s'arrêtent donc en paroi soit lorsqu'ils basculent en convection
282 # (et la température de fluide environnant est connue),
283 # ou bien lorsqu'ils basculent en rayonnement
284 # (et la température radiative de l'environnement est connue).
285 
286 # Pour tout problème de visualisation avec paraview, regardez l'image
287 # ci-dessous :
288 
289 # etudiant:~ $ feh \
290 #   ${DEMONSTRATEUR_2}/Figures/tp1_chemins_dans_cube_avec_env_radiatif.png
291 #   TODO: cette figure n'existe pas
292 
293 # Le chemin part du centre du cube, atteint la paroi de gauche puis bascule en
294 # rayonnement avant de s'arrêter. Le poids de Monte-Carlo retenu est la
295 # température de l'environnement radiatif.
296 
297 
298 # Partie 2.2.3 : chemins couplant 3 modes de transferts thermiques
299 # ----------------------------------------------------------------
300 
301 # Autre exemple, illustrant le couplage conduction / convection / rayonnement.
302 # Le chemin alterne maintenant entre différents modes physiques.
303 # Il s'agit d'un système avec deux parties : un cube solide dans lequel se
304 # trouve une cavité fluide. Cette cavité fluide est sphérique, dans laquelle
305 # deux modes de transfert thermiques ont lieu : de la convection et du
306 # rayonnement entre ses parois. Le modèle de convection est de type cavité
307 # parfaitement brassée : la température est uniforme et peut varier dans le
308 # temps. Le point d'observation peut être placé en tout point du fluide
309 # (ici au centre) : la température mesurée sera la même.
310 
311 # Pour construire et sauvegarder 10 chemins :
312 
313 stardis -V 3 -M "${DEMONSTRATEUR_2}"/data/boule_dans_cube/model.txt \
314   -p 0.5,0.5,0.5  -n 10 -D all,coupled_path_ -e
315 
316 # Afin de visualiser ces chemins :
317 
318 paraview \
319   --script="${DEMONSTRATEUR_2}"/TP1/src/script_paraview_boule_dans_cube.py
320 
321 # Les chemins partent du centre du fluide en rayonnement ou bien en convection.
322 # Ils basculent d'un mode de transfert à l'autre, éventuellement en conduction
323 # quand ils sont dans le solide. Ils finissent par basculer en conduction puis
324 # s'arrêtent au niveau d'une paroi du cube où la température est connue.
325 #
326 # Pour tout problème de visualisation avec paraview, visualiser l'image
327 # ci-dessous :
328 
329 # etudiant:~ $ feh \
330 #   ${DEMONSTRATEUR_2}/Figures/tp1_chemins_dans_cube_avec_boule.png
331 
332 # Le chemin part du centre de l'inclusion fluide, il alterne entre convection,
333 # rayonnement et conduction jusqu'à rencontrer la paroi de droite dont la
334 # température est connue et retenue comme poids de Monte-Carlo.
335 
336 
337 #===========================================
338 # Partie 3 : découvrir les pages de manuel #
339 #===========================================
340 
341 
342 # Partie 3.1 : lire la documentation de stardis pour changer d'observable
343 # -----------------------------------------------------------------------
344 
345 # Jusqu'ici on vous a donné les lignes de commande à taper,
346 # pour comprendre les différents arguments et leur rôle, vous allez lire la
347 # documentation :
348 
349 man stardis
350 
351 # La documentation prendra toujours la forme "man mon_programme",
352 # comme c'est le cas pour toutes les autres commandes unix comme `ls` ou `cd`.
353 # Les pages de manuel ont toujours le même format :
354 # - Description générale du programme
355 # - Description de chacun des arguments
356 # - Quelques exemples d'utilisation
357 
358 # Dans la documentation, cherchez ce que signifient les arguments :
359 # a/ -M model.txt ---> cet argument est obligatoire, c'est la description
360 #                      de la scène
361 # b/ -n 1000      ---> le nombre de réalisations de Monte-Carlo
362 # c/ -V 3         ---> est un niveau de verbosité / quantité de détails
363 #                      donnés dans la console (vous pouvez tester différentes
364 #                      valeurs)
365 # d/ Exercice : que signifie -D ? Quelles informations supplémentaires
366 #               faut-il renseigner ?
367 # e/ Exercice : que signifie -p ? Quelles informations supplémentaires
368 #               faut-il renseigner ?
369 #
370 # Correction :
371 # d/ l'argument -D nécessite de renseigner deux informations :
372 #    le mot clé `error` ou `success` ou `all` ainsi qu'un préfixe de nom de
373 #    fichier. Avec cet argument, des chemins seront produits au format "vtk",
374 #    il peut s'agir uniquement des chemins ayant produit des erreurs (pour
375 #    le debug), des succès, ou tous.
376 # e/ L'argument -p controle la position du point sonde où est estimée la
377 #    température : il faut renseigner la position en 3D (x,y,z).
378 #    En option, on peut spécifier le temps d'observation (sinon ce sera INF
379 #    pour le stationnaire), ou bien la durée d'intégration temporelle.
380 #
381 # Exercice :
382 # Si vous avez bien compris, sur le premier système "model.txt" :
383 # - lancez un calcul pour une autre position du point sonde (toujours à
384 #   l'intérieur du solide). Quelle est la température estimée ? Est ce que
385 #   ça vous parait cohérent vu le système ? Par exemple si la sonde est plus
386 #   proche de la paroi froide, la température doit être plus faible.
387 #   Visualisez quelques chemins (ils doivent donc partir de cette nouvelle
388 #   position).
389 # - lancez maintenant un calcul qui n'est plus au stationnaire, mais au temps
390 #   d'observation t=10s. Visualisez quelques chemins, vous devez observer que
391 #   certains d'entre eux s'arrêtent dans le solide et plus seulement à la
392 #   paroi : ils retiennent la température initiale comme poids de Monte-Carlo.
393 # - réalisez un calcul avec l'algorithme Walk-On-Spheres plutôt que
394 #   delta-spheres au stationnaire. Visualisez ces chemins.
395 #
396 # Correction :
397 # déplacer le point sonde
398 
399 stardis -V 3 -M model.txt -p 0.85,0.85,0.85 -n 10000 -e
400 stardis -V 3 -M model.txt -p 0.85,0.85,0.85 -n 10 -D all,path_probe_ -e
401 
402 # ajouter un temps d'observation
403 
404 stardis -V 3 -M model.txt -p 0.5,0.5,0.5,10 -n 10000 -e
405 stardis -V 3 -M model.txt -p 0.5,0.5,0.5,10 -n 10 -D all,path_time_ -e
406 
407 # utiliser l'algorithme Walk-On-Sphere
408 stardis -V 3 -M model.txt -p 0.5,0.5,0.5 -n 10 -a wos -e -D all,path_wos_
409 stardis -V 3 -M model.txt -p 0.5,0.5,0.5 -n 100000 -a wos -e
410 # etudiant:~ $ feh \
411 #   "${DEMONSTRATEUR_2}"/Figures/tp1_chemins_dans_cube_solide_wos.png
412 
413 
414 # Partie 3.2 : lire la documentation pour modifier des paramètres physiques
415 #                                                                du système
416 # -------------------------------------------------------------------------
417 
418 # Le système est décrit dans le fichier suivant :
419 
420 cat model.txt
421 
422 # Comment identifier dans ce fichier le(s) paramètre(s) à modifier ?
423 # On va lire le manuel pour comprendre le format de ce fichier.
424 
425 man stardis-input
426 
427 # Alternative : la même documentation peut être visualisée en html :
428 
429 # etudiant:~ $ firefox-bin \
430 #   https://www.meso-star.com/projects/stardis/man/man5/stardis-input.5.html
431 
432 # Se rendre dans l'onglet 9 où firefox a été lancé.
433 
434 # La syntaxe du système est décrite sous la forme d'une "grammaire"
435 # voir https://fr.wikipedia.org/wiki/Grammaire_formelle.
436 # Elle est composée de règles, représentées par les parenthèses.
437 # Ces règles sont ensuite remplacées par des valeurs ou bien d'autres règles.
438 
439 # On illustre sur un exemple du fichier model.txt : la ligne qui commence
440 # par SOLID.
441 # Que signifient les éléments de cette ligne ?
442 # Dans la documentation, la règle première ⟨thermal-system⟩ est remplacée
443 # par ⟨description-line⟩, puis ⟨medium⟩, ⟨solid⟩ et ⟨solid-const⟩.
444 # On détaille le remplacement de la règle :
445 #     ⟨solid-const⟩     ::=     SOLID ⟨medium-name⟩ ⟨lambda⟩ ⟨rho⟩ ⟨cp⟩ \
446 #                               ⟨delta⟩ ⟨initial-temp⟩ ⟨imposed-temp⟩ \
447 #                               ⟨volumic-power⟩ ⟨triangle-sides⟩ ...
448 
449 # Dans le manuel, recherchez le mot clé SOLID.
450 # Astuce : tapez '/' puis le mot cherché,
451 # les touches 'n' ou 'N' permettent de déplacer le curseur à l'occurence
452 # suivante ou précédente.
453 
454 # La première règle <medium-name> est remplacée par la règle
455 #     ⟨medium-name⟩     ::=     string
456 # c'est-à-dire par une chaîne de caractère : le nom associé à ce solide.
457 
458 # La seconde règle <lambda> est la suivante :
459 #     ⟨lambda⟩  ::=     real # Conductivity > 0 [W/m/K]
460 # Le troisième élément est donc un réel qui indique la conductivité
461 # du solide.
462 
463 # Exercice : pour cette ligne commençant par "SOLID", identifiez ce que
464 # signifie chacun des éléments. Faire le lien avec les paramètres physiques
465 # et numériques du système présenté dans l'introduction.
466 
467 # Exercice : faire pareil avec la ligne commençant par T_BOUNDARY_FOR_SOLID
468 # du fichier model.txt
469 
470 # Exercice : faire pareil avec la ligne commençant par H_BOUNDARY_FOR_SOLID
471 # du fichier modele_cube_dans_fluide.txt
472 
473 # Vous allez maintenant éditer ces propriétés.
474 
475 # Dans EDIX, l'éditeur de texte privilégié est `vim` dont voici quelques
476 # commandes "pour s'en sortir".
477 # Il fonctionne avec 3 modes : "normal", "insertion" et "visuel".
478 # Ici on aura besoin de taper :
479 # i pour basculer en mode Insertion et éditer le texte
480 # `Echap` pour basculer à nouveau en mode "normal" où on peut lancer les
481 # commandes suivantes :
482 # :w pour sauvegarder
483 # :q pour quitter
484 # Pour se former à cet outil : vimtutor est un tutoriel qui permet de voir
485 # les commandes de base.
486 # Un manuel moins détaillé sur vim est aussi disponible en tapant :
487 # man edix_vim
488 
489 vim model.txt
490 
491 # Exercice :
492 # Editez les paramètres suivants en vous aidant du manuel de stardis :
493 # (vous pouvez choisir les valeurs que vous voulez) :
494 # a/ température imposée à gauche
495 # b/ température initiale (attention, pour observer son impact sur le calcul,
496 #    indiquer un temps d'observation)
497 # c/ augmenter le coefficient d'échange convectif dans le fichier
498 #    "modele_cube_dans_fluide.txt" et commentez la température obtenue
499 
500 # Correction :
501 # a/ température imposée à gauche
502 # T_BOUNDARY_FOR_SOLID    LTEMP  300               left_bc.stl
503 #                                ^^^
504 
505 stardis -V 3 -M model.txt -p 0.5,0.5,0.5 -n 10000 -e
506 
507 # Observer une augmentation ou diminution de la température de la sonde.
508 #
509 # b/ température initiale, regarder au stationnaire et à t = 10
510 # SOLID    CUBE   0.1   25    2   0.01    300  UNKNOWN  10  FRONT solid.stl
511 #                                         ^^^
512 
513 stardis -V 3 -M model.txt -p 0.5,0.5,0.5 -n 10000 -e
514 
515 # Si t=inf, aucun changement de la température du point sonde.
516 
517 stardis -V 3 -M model.txt -p 0.5,0.5,0.5,10 -n 10000 -e
518 
519 # Si faible temps d'observation, alors cela a un impact sur la température
520 # du point sonde.
521 
522 # c/ augmenter h du fichier modele_cube_dans_fluide.txt ; h = 1000
523 
524 vim modele_cube_dans_fluide.txt
525 
526 # H_BOUNDARY_FOR_SOLID    EXT    320    0.5    0.5    10    320 \
527 #   "${DEMONSTRATEUR_2}"/data/cube/right_bc.stl \
528 #   "${DEMONSTRATEUR_2}"/data/cube/center_bc.stl \
529 #   "${DEMONSTRATEUR_2}"/data/cube/left_bc.stl
530 
531 stardis -V 3 -M modele_cube_dans_fluide.txt -p 0.5,0.5,0.5,10 -n 10000 -e
532 
533 # Le fluide dont la température est connue est bien plus souvent échantillonné
534 # que la température radiative de l'environnement. Vous le voyez sur la valeur
535 # de la température estimée.
536 
537 # Pour aller plus loin
538 # --------------------
539 # La documentation existe aussi pour spécifier la sortie de stardis lorsque
540 # l'option `-e` n'est pas utilisée :
541 
542 man stardis-output
543 
544 # C'est utile notamment lorsqu'on stocke la sortie de stardis pour réaliser
545 # des graphiques.
546 
547 #====================================================================
548 # Partie 4 : explorations en autonomie - jouer avec le starter-pack #
549 #====================================================================
550 
551 ls /home/lafrier/Stardis-Starter-Pack-0.2.0
552 
553 # Il n'y a pas que l'exemple du cube dans le starter-pack.
554 # Dans chaque dossier il y a un exemple avec
555 # - la description du système physique
556 # - les géométries (stl)
557 # - et des scripts qui automatisent les appels à stardis que vous venez de
558 #   lancer dans le terminal (il est possible de les ouvrir et les lire pour
559 #   s'en rendre compte).
560 
561 # Par exemple sur un milieu poreux :
562 
563 cd ..
564 cp -r /home/lafrier/Stardis-Starter-Pack-0.2.0/porous .
565 cd porous
566 
567 # Lire le fichier décrivant la scène :
568 
569 cat porous.txt
570 
571 # On a maintenant deux solides, et 4 conditions limites.
572 # Les géométries sont définies dans de nouveaux stl.
573 # Pour savoir ce que vous allez exécuter :
574 
575 cat run_IR_rendering.sh
576 
577 # Vous voyez qu'il y aura des images en sortie.
578 # Pour exécuter et pour voir qu'il y a bien de nouveaux fichiers (images) :
579 
580 sh run_IR_rendering.sh
581 ls
582 
583 # Pour visualiser l'image sortie :
584 
585 feh IR_rendering_320x320x32.ppm
586 
587 # Vous verrez dans le TP4 les différents types d'observables qu'on peut
588 # estimer.