commit 5de7a313f3490d62b5e210e508e001effb124da5
parent 378f2765aaec2bdfcc6671cc65945e7376e656fd
Author: Benjamin Piaud <benjamin.piaud@meso-star.com>
Date: Wed, 5 Jan 2022 14:59:30 +0100
Ajout de l'exemple city
Diffstat:
15 files changed, 111 insertions(+), 0 deletions(-)
diff --git a/README.md b/README.md
@@ -178,6 +178,29 @@ represents an ideal metallic or SiC foam. This type of foam is used in the
design of heat exchangers in concentrated solar processes in order to transfer
incoming solar radiation energy to a working fluid.
+### The city
+
+This last example shows the ability to deal with geometrical small-scale details
+in a larger scene. The scene is a pseudo-realistic city composed of buildings
+with geometrical details like glazing (~ 24 mm width), internal insulation and
+balconies.
+
+An infrared rendering of this scene illustrates typical thermal bridges in
+a building, at floor-wall junctions and balcony-floor junctions. And for
+didactic reasons, there is no insulation of the roof.
+
+The rendering is obtained at steady state with a known external air temperature
+of 0°C and a known internal air temperature of 20°C (which is a simple model for
+a perfect heating system). The temperature field is unknown at any position in
+the buildings and in the ground. The temperature is set at 13°C at a depth of
+5 meters. We have also added a "lake" (modeled as a reflecting solid) in front
+of the buildings to get some specular reflection.
+
+As for the previous example, the `run_IR_rendering.sh` script provides an
+example to launch `stardis` in rendering mode and some parameters can be
+modified in the `USER PARAMETERS` section. With the default parameters, the
+computation time may take several hours.
+
## Copyright notice
Copyright (C) 2021 [|Meso|Star>](http://www.meso-star.com) (contact@meso-star.com)
diff --git a/city/B_external_walls.stl b/city/B_external_walls.stl
@@ -0,0 +1 @@
+#$# git-wad 70a6813d3d3341d94f5f06ebb32ad69369cafa28c1151665649c0a3928542ff5 1882336
+\ No newline at end of file
diff --git a/city/B_ground_bottom.stl b/city/B_ground_bottom.stl
@@ -0,0 +1 @@
+#$# git-wad 99ed31960656d0a8ae22b37bd51f7b8dd1c3b258ef6ca6a0ab022c252295c124 522
+\ No newline at end of file
diff --git a/city/B_ground_side.stl b/city/B_ground_side.stl
@@ -0,0 +1 @@
+#$# git-wad 191963520cd3a4e694503f98a1b4d463abc14c4b7ac53229084e4566dffe3b76 2040
+\ No newline at end of file
diff --git a/city/B_ground_top.stl b/city/B_ground_top.stl
@@ -0,0 +1 @@
+#$# git-wad 98a8cf7bd3f846ce0c981fe73336bf3e2161c523e492fed821dd4b94c07ad20e 23798
+\ No newline at end of file
diff --git a/city/B_internal_walls.stl b/city/B_internal_walls.stl
@@ -0,0 +1 @@
+#$# git-wad a716a06d96eefb5ab3fa87eefe1618f95f604f47da53e5c018d1ef8660911527 2185936
+\ No newline at end of file
diff --git a/city/B_lake_top.stl b/city/B_lake_top.stl
@@ -0,0 +1 @@
+#$# git-wad c56c8dabd1161539839b6130c71e178f8ed14b27f725c6d6583b015bd2d1240e 10136
+\ No newline at end of file
diff --git a/city/S_balconies.stl b/city/S_balconies.stl
@@ -0,0 +1 @@
+#$# git-wad dcfef0251ada3550c74b970f535685f5589db30b90743ab6d0a324fcfc0296f9 453392
+\ No newline at end of file
diff --git a/city/S_glazing.stl b/city/S_glazing.stl
@@ -0,0 +1 @@
+#$# git-wad 42d484395894aa375ddf4923494cefe4c7a52b9875af778ca1d4acabd14b5723 728656
+\ No newline at end of file
diff --git a/city/S_ground.stl b/city/S_ground.stl
@@ -0,0 +1 @@
+#$# git-wad 1641a185f3dbb61b619dfc30c1717badd0fb7dcbd096275ea784f87f8abadc32 61748
+\ No newline at end of file
diff --git a/city/S_insulator.stl b/city/S_insulator.stl
@@ -0,0 +1 @@
+#$# git-wad 155f7107e6c50e40d57c1b9bafa10becc2ceed47e46fb9d94a2eef82e50c8d92 2266896
+\ No newline at end of file
diff --git a/city/S_lake.stl b/city/S_lake.stl
@@ -0,0 +1 @@
+#$# git-wad c6656ad1e201bf4ed0aa950ea87d25fc67aaca61396445961eafde3cbc725d99 41508
+\ No newline at end of file
diff --git a/city/S_walls.stl b/city/S_walls.stl
@@ -0,0 +1 @@
+#$# git-wad bad7fc5159f6eba1d25704694029192a0e099640f72d143b19bf716efaac2f75 4347568
+\ No newline at end of file
diff --git a/city/model.txt b/city/model.txt
@@ -0,0 +1,16 @@
+#medium
+SOLID WALL 1.5 25 2 AUTO 300 UNKNOWN 0 FRONT S_walls.stl
+SOLID INSULATOR 0.035 25 2 AUTO 300 UNKNOWN 0 FRONT S_insulator.stl
+SOLID BALCONIES 16 25 2 AUTO 300 UNKNOWN 0 FRONT S_balconies.stl
+SOLID GLAZING 0.9 25 2 AUTO 300 UNKNOWN 0 FRONT S_glazing.stl
+SOLID GROUND 1 25 2 AUTO 300 UNKNOWN 0 FRONT S_ground.stl
+SOLID LAKE 0.8 25 2 AUTO 300 UNKNOWN 0 FRONT S_lake.stl
+
+
+#boundary conditions
+H_BOUNDARY_FOR_SOLID EXTERNAL 0.9 0.2 10 273 B_external_walls.stl
+H_BOUNDARY_FOR_SOLID INTERNAL 0.9 0 10 293 B_internal_walls.stl
+H_BOUNDARY_FOR_SOLID GROUNDTOP 0.9 0.1 10 273 B_ground_top.stl
+H_BOUNDARY_FOR_SOLID GROUNDSIDE 0.9 0.1 0 273 B_ground_side.stl
+T_BOUNDARY_FOR_SOLID GROUNDBOTTOM 286 B_ground_bottom.stl
+H_BOUNDARY_FOR_SOLID LAKETOP 0.9 0.6 10 273 B_lake_top.stl
diff --git a/city/run_IR_rendering.sh b/city/run_IR_rendering.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+# Copyright (C) 2020 |Meso|Star>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+### USER PARAMETERS SECTION
+TRAD=273
+SPP=1024 #samples per pixel
+WIDTH=640
+HEIGHT=480
+MODEL=model.txt
+POSITION="0,-150,30" #camera position
+TARGET="50,30,0" #position targeted
+FILE=IR_rendering_${MODEL}_${WIDTH}x${HEIGHT}x${SPP}
+### END USER PARAMETERS SECTION
+
+
+#erase FILE result if exists
+rm -f ${FILE}.ht ${FILE}.ppm
+
+#check stardis installation
+if !(command -v stardis > /dev/null)
+then
+ echo ">>> stardis command not found !"
+ echo ">>> To register stardis in the current shell you must type :"
+ echo ">>> source ~/Stardis-XXX-GNU-Linux64/etc/stardis.profile"
+ echo ">>> where ~/Stardis-XXX-GNU-Linux64 is the stardis directory installation"
+ exit 1
+fi
+
+#launch Stardis
+stardis -V 3 -a $TRAD -r $TRAD -M $MODEL -R spp=${SPP}:img=${WIDTH}x${HEIGHT}:fov=30:pos=${POSITION}:tgt=${TARGET}:up=0,0,1 > ${FILE}.ht
+
+#convert ht file in ppm file
+htpp -f -o ${FILE}.ppm -v -m default:range=273,275 ${FILE}.ht
+echo ">>> You can now watch the IR rendering by opening the file ${FILE}.ppm"