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 58 # Cliquer sur `q` pour quitter gnuplot. Vous devriez avoir un graphique 59 # 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 69 # Attention si le point sonde est placé sur une interface, il faudra utiliser 70 # `P` comme dans le script. Vous devriez avoir un graphique similaire à : 71 72 feh "${DEMONSTRATEUR_2}"/Figures/tp4_probe_evolution_spatiale.png 73 74 75 #==================================================================== 76 # TP4 - Partie 2 : moyenne temporelle de la température en un point # 77 # d'un solide # 78 #==================================================================== 79 80 stardis -p 0.5,0.5,0.5,0,100 -M model.txt -n 10000 -e 81 82 # Vérifier que c'est cohérent avec le graphique de l'évolution temporelle 83 # de la température. 84 85 86 #========================================================== 87 # TP4 - Partie 3 : température moyenne d'un volume solide # 88 #========================================================== 89 90 stardis -m CUBE -M model.txt -n 10000 -e 91 92 93 #============================================================== 94 # TP4 - Partie 4 : température moyenne de surface d'un solide # 95 #============================================================== 96 97 stardis -s "${DEMONSTRATEUR_2}"/data/cube/right_bc.stl -M model.txt -n 10000 -e 98 99 100 #=================================================== 101 # TP4 - Partie 5 : synthèse d'une image infrarouge # 102 #=================================================== 103 104 # Modèle de caméra "pinhole" standard. 105 # Présenter la signification de chaque paramètre (position, target, field of 106 # view, up pour l'orientation de la camera). 107 108 # Astuce pour placer la caméra : vous pouvez utiliser paraview. 109 # - assurez vous que le ratio d'aspect de la fenêtre de visualisation de 110 # paraview correspond à celui de votre image (hauteur / largeur), 111 # - grâce au bouton "Adjust camera", manipulez "Position", "Focal Point", 112 # "View up" et "View Angle" 113 # - reportez ces valeurs dans la ligne de commande stardis. 114 115 stardis -M model.txt \ 116 -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 117 118 # Post-traitement : 119 # Le format de sortie est `ht` qu'il faut ensuite traduire dans un format 120 # d'image : 121 122 htpp -v -f -o img.ppm -m default img.ht 123 feh img.ppm 124 125 # Pour changer la carte de couleurs et l'intervalle considéré : 126 127 htpp -v -f -o img.ppm -m default:palette=jet:range=280,315 img.ht 128 feh img.ppm 129 130 # Si on souhaite sauver la barre de couleur : 131 132 htpp -v -f -m gnuplot img.ht | gnuplot - > img_with_colorbarpng.png 133 134 # On appelle `htpp` avec l'argument `-m gnuplot` génére un script gnuplot 135 # affichant l'image et l'échelle de couleur. Ici la sortie de la commande htpp 136 # est directement appelée par gnuplot et la sortie redirigée vers le fichier 137 # `img_with_colorbarpng.png`. 138 139 feh img_with_colorbarpng.png 140 141 # Afficher d'autres informations que la température moyenne : 142 143 man stardis-output 144 145 # Recherchez comment est spécifiée l'image infrarouge. 146 147 # Après l'entête indiquant la définition de l'image, chaque ligne correspond 148 # à un pixel avec : 149 # temperature-expected-value temperature-standard-error 150 # 0 0 0 0 time-expected-value time-standard-error 151 # Il est donc possible d'utiliser htpp pour afficher ces informations, par 152 # exemple la variance via : 153 154 htpp -v -f -o img.ppm -m default:pixcpnt=1 img_std_dev.ht 155 feh img_std_dev.ppm 156 157 158 #=================================== 159 # TP4 - Partie 6 : flux de chaleur # 160 #=================================== 161 162 stardis -F "${DEMONSTRATEUR_2}"/data/cube/center_bc.stl \ 163 -M model.txt -n 100000 -e 164 165 166 #============================= 167 # TP4 - Partie 7 : autonomie # 168 #============================= 169 170 # Configuration académique connue, 171 # Construire la géométrie + modélisation 172 # Vérifier que cela donne le résultat attendu 173 174 # >>> TODO : proposer un exercice et sa correction