TP4 : la diversité des observables
Voir le TP1 pour la prise en main du système d'exploitation EDIX.
Les commandes suivantes sont identiques à celles du début du TP1.
. /home/lafrier/star-build/local/etc/stardis.profile
mkdir TP4
cd TP4
Ce TP illustre la variété des observables disponibles dans Stardis.
Il présente aussi quelques exemples de post-traitement des données avec
gnuplot ou htpp pour les images.
La scène utilisée dans ce TP est actuellement construite à partir du cube
du starter pack. Il s'agit d'un parallélépipède solide qui échange avec un
fluide à température imposée. Une face du cube est adiabatique et la face
opposée reçoit aussi un flux incident :
cp "${DEMONSTRATEUR_2}"/TP4/src/model.txt .
Pour rappel, pour toutes les lignes de commandes ci-dessous, vous pouvez
lire la documentation via man stardis pour comprendre ce que signifient
chacun des paramètres (voir le TP1).
TP4 - Partie 1 : température en un point d'un solide
Au stationnaire :
stardis -p 0.5,0.5,0.5 -M model.txt -n 10000 -e
A un temps donné :
stardis -p 0.5,0.5,0.5,100 -M model.txt -n 10000 -e
Pour aller plus loin :
On peut générer et visualiser ces données sous forme de graphiques.
Pour cela, les deux scripts suivants réalisent plusieurs appels à stardis
pour différents points sondes (en changeant respectivement le temps puis la
position). Ils affichent ensuite ces données grâce à gnuplot.
Partie 1.1 : évolution temporelle
less "${DEMONSTRATEUR_2}"/TP4/src/vary_time.sh
Cliquer sur q pour fermer less
sh "${DEMONSTRATEUR_2}"/TP4/src/vary_time.sh
mupdf graphe_temps_calcul.pdf
Vous devriez avoir un graphique similaire à :
feh "${DEMONSTRATEUR_2}"/Figures/tp4_probe_evolution_temporelle.png
Partie 1.2 : évolution spatiale
less "${DEMONSTRATEUR_2}"/TP4/src/vary_position.sh
sh "${DEMONSTRATEUR_2}"/TP4/src/vary_position.sh
mupdf graphe_position.pdf
Attention si le point sonde est placé sur une interface, il faudra utiliser
P comme dans le script. Vous devriez avoir un graphique similaire à :
feh "${DEMONSTRATEUR_2}"/Figures/tp4_probe_evolution_spatiale.png
TP4 - Partie 2 : moyenne temporelle de la température en un point
d'un solide
stardis -p 0.5,0.5,0.5,0,100 -M model.txt -n 10000 -e
Vérifier que c'est cohérent avec le graphique de l'évolution temporelle
de la température.
TP4 - Partie 3 : température moyenne d'un volume solide
stardis -m CUBE -M model.txt -n 10000 -e
TP4 - Partie 4 : température moyenne de surface d'un solide
stardis -s "${DEMONSTRATEUR_2}"/data/cube/right_bc.stl -M model.txt -n 10000 -e
TP4 - Partie 5 : synthèse d'une image infrarouge
Modèle de caméra "pinhole" standard.
Présenter la signification de chaque paramètre (position, target, field of
view, up pour l'orientation de la camera).
Astuce pour placer la caméra : vous pouvez utiliser paraview.
assurez vous que le ratio d'aspect de la fenêtre de visualisation de
paraview correspond à celui de votre image (hauteur / largeur),grâce au bouton "Adjust camera", manipulez "Position", "Focal Point",
"View up" et "View Angle"reportez ces valeurs dans la ligne de commande stardis.
stardis -M model.txt
-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
Post-traitement :
Le format de sortie est ht qu'il faut ensuite traduire dans un format
d'image :
htpp -v -f -o img.ppm -m default img.ht
feh img.ppm
Pour changer la carte de couleurs et l'intervalle considéré :
htpp -v -f -o img.ppm -m default:palette=jet:range=280,315 img.ht
feh img.ppm
Si on souhaite sauver la barre de couleur :
htpp -v -f -m gnuplot img.ht | gnuplot - > img_with_colorbarpng.png
On appelle htpp avec l'argument -m gnuplot génére un script gnuplot
affichant l'image et l'échelle de couleur. Ici la sortie de la commande htpp
est directement appelée par gnuplot et la sortie redirigée vers le fichier
img_with_colorbarpng.png.
feh img_with_colorbarpng.png
Afficher d'autres informations que la température moyenne :
man stardis-output
Recherchez comment est spécifiée l'image infrarouge.
Après l'entête indiquant la définition de l'image, chaque ligne correspond
à un pixel avec :
temperature-expected-value temperature-standard-error
0 0 0 0 time-expected-value time-standard-error
Il est donc possible d'utiliser htpp pour afficher ces informations, par
exemple la variance via :
htpp -v -f -o img_std_dev.ppm -m default:pixcpnt=1 img.ht
feh img_std_dev.ppm
TP4 - Partie 6 : flux de chaleur
stardis -F "${DEMONSTRATEUR_2}"/data/cube/center_bc.stl \
-M model.txt -n 100000 -e
TP4 - Partie 7 : autonomie
Configuration académique connue,
Construire la géométrie + modélisation
Vérifier que cela donne le résultat attendu
TODO : proposer un exercice et sa correction
cd ..