1 #!/bin/sh -e 2 3 4 #===================================== 5 # TP4 : la diversité des observables # 6 #===================================== 7 8 # Voir le TP1 pour la prise en main du système d'exploitation EDIX. 9 # Les commandes suivantes sont identiques à celles du début du TP1. 10 11 . /home/lafrier/star-build/local/etc/stardis.profile 12 mkdir TP4 13 cd TP4 14 15 # Ce TP illustre la variété des observables disponibles dans Stardis. 16 # Il présente aussi quelques exemples de post-traitement des données avec 17 # gnuplot ou htpp pour les images. 18 19 # La scène utilisée dans ce TP est actuellement construite à partir du cube 20 # du starter pack. Il s'agit d'un parallélépipède solide qui échange avec un 21 # fluide à température imposée. Une face du cube est adiabatique et la face 22 # opposée reçoit aussi un flux incident : 23 24 cp "${DEMONSTRATEUR_2}"/TP4/src/model.txt . 25 26 # Pour rappel, pour toutes les lignes de commandes ci-dessous, vous pouvez 27 # lire la documentation via `man stardis` pour comprendre ce que signifient 28 # chacun des paramètres (voir le TP1). 29 30 31 #======================================================= 32 # TP4 - Partie 1 : température en un point d'un solide # 33 #======================================================= 34 35 # Au stationnaire : 36 37 stardis -p 0.5,0.5,0.5 -M model.txt -n 10000 -e 38 39 # A un temps donné : 40 41 stardis -p 0.5,0.5,0.5,100 -M model.txt -n 10000 -e 42 43 # Pour aller plus loin : 44 # On peut générer et visualiser ces données sous forme de graphiques. 45 # Pour cela, les deux scripts suivants réalisent plusieurs appels à stardis 46 # pour différents points sondes (en changeant respectivement le temps puis la 47 # position). Ils affichent ensuite ces données grâce à gnuplot. 48 49 # Partie 1.1 : évolution temporelle 50 # --------------------------------- 51 52 less "${DEMONSTRATEUR_2}"/TP4/src/vary_time.sh 53 54 # Cliquer sur `q` pour fermer less 55 56 sh "${DEMONSTRATEUR_2}"/TP4/src/vary_time.sh 57 mupdf graphe_temps_calcul.pdf 58 59 # Vous devriez avoir un graphique similaire à : 60 61 feh "${DEMONSTRATEUR_2}"/Figures/tp4_probe_evolution_temporelle.png 62 63 # Partie 1.2 : évolution spatiale 64 # ------------------------------- 65 66 less "${DEMONSTRATEUR_2}"/TP4/src/vary_position.sh 67 sh "${DEMONSTRATEUR_2}"/TP4/src/vary_position.sh 68 mupdf graphe_position.pdf 69 70 # Attention si le point sonde est placé sur une interface, il faudra utiliser 71 # `P` comme dans le script. Vous devriez avoir un graphique similaire à : 72 73 feh "${DEMONSTRATEUR_2}"/Figures/tp4_probe_evolution_spatiale.png 74 75 76 #==================================================================== 77 # TP4 - Partie 2 : moyenne temporelle de la température en un point # 78 # d'un solide # 79 #==================================================================== 80 81 stardis -p 0.5,0.5,0.5,0,100 -M model.txt -n 10000 -e 82 83 # Vérifier que c'est cohérent avec le graphique de l'évolution temporelle 84 # de la température. 85 86 87 #========================================================== 88 # TP4 - Partie 3 : température moyenne d'un volume solide # 89 #========================================================== 90 91 stardis -m CUBE -M model.txt -n 10000 -e 92 93 94 #============================================================== 95 # TP4 - Partie 4 : température moyenne de surface d'un solide # 96 #============================================================== 97 98 stardis -s "${DEMONSTRATEUR_2}"/data/cube/right_bc.stl -M model.txt -n 10000 -e 99 100 101 #=================================================== 102 # TP4 - Partie 5 : synthèse d'une image infrarouge # 103 #=================================================== 104 105 # Modèle de caméra "pinhole" standard. 106 # Présenter la signification de chaque paramètre (position, target, field of 107 # view, up pour l'orientation de la camera). 108 109 # Astuce pour placer la caméra : vous pouvez utiliser paraview. 110 # - assurez vous que le ratio d'aspect de la fenêtre de visualisation de 111 # paraview correspond à celui de votre image (hauteur / largeur), 112 # - grâce au bouton "Adjust camera", manipulez "Position", "Focal Point", 113 # "View up" et "View Angle" 114 # - reportez ces valeurs dans la ligne de commande stardis. 115 116 stardis -M model.txt \ 117 -R file=img.ht:img=600x400:spp=4:fov=60:pos=2,2,2:tgt=0.5,0.5,0.5:up=0,0,1 118 119 # Post-traitement : 120 # Le format de sortie est `ht` qu'il faut ensuite traduire dans un format 121 # d'image : 122 123 htpp -v -f -o img.ppm -m default img.ht 124 feh img.ppm 125 126 # Pour changer la carte de couleurs et l'intervalle considéré : 127 128 htpp -v -f -o img.ppm -m default:palette=jet:range=280,315 img.ht 129 feh img.ppm 130 131 # Si on souhaite sauver la barre de couleur : 132 133 htpp -v -f -m gnuplot img.ht | gnuplot - > img_with_colorbarpng.png 134 135 # On appelle `htpp` avec l'argument `-m gnuplot` génére un script gnuplot 136 # affichant l'image et l'échelle de couleur. Ici la sortie de la commande htpp 137 # est directement appelée par gnuplot et la sortie redirigée vers le fichier 138 # `img_with_colorbarpng.png`. 139 140 feh img_with_colorbarpng.png 141 142 # Afficher d'autres informations que la température moyenne : 143 144 man stardis-output 145 146 # Recherchez comment est spécifiée l'image infrarouge. 147 148 # Après l'entête indiquant la définition de l'image, chaque ligne correspond 149 # à un pixel avec : 150 # temperature-expected-value temperature-standard-error 151 # 0 0 0 0 time-expected-value time-standard-error 152 # Il est donc possible d'utiliser htpp pour afficher ces informations, par 153 # exemple la variance via : 154 155 htpp -v -f -o img_std_dev.ppm -m default:pixcpnt=1 img.ht 156 feh img_std_dev.ppm 157 158 159 #=================================== 160 # TP4 - Partie 6 : flux de chaleur # 161 #=================================== 162 163 stardis -F "${DEMONSTRATEUR_2}"/data/cube/center_bc.stl \ 164 -M model.txt -n 100000 -e 165 166 167 #============================= 168 # TP4 - Partie 7 : autonomie # 169 #============================= 170 171 # Configuration académique connue, 172 # Construire la géométrie + modélisation 173 # Vérifier que cela donne le résultat attendu 174 175 # >>> TODO : proposer un exercice et sa correction 176 177 178 cd ..