The Stardis: Starter Pack is a collection of input data sets ready for use with
stardis, over a few examples. It also provides GNU Bash scripts that make easier
the invocation of the
stardis program. It gives an overview of the required
input data and the features of
stardis is correctly installed and registered against your
current GNU Bash shell, simply run the GNU bash script of the example that you
want to run. For instance:
~/Stardis-StarterPack $ cd heatsink ~/Stardis-StarterPack/heatsink $ bash run_medium_computation.sh
On script invocation,
stardis is ran according to the data of the example and
the simulation parameters defined in the
USER PARAMETERS section of the
script. Each example and its launching script is explained hereafter.
This example is simply a cube of solid with a constant source term in the whole volume. Only thermal conduction is considered in this example. The interest of this example is to be able to compare with an unstationary analytical solution.
The 3 provided bash scripts illustrate 3 main features of Stardis: the probe computation, the visualization of thermal paths and the Green function evaluation.
Geometric data and physical properties
The geometric data are described in ASCII STL format. The cube is provided in
solid.stl file. If you visualize the stl file with a software like
meshlab, you can see that the cube is described by a basic
triangulation. Stardis does not require a fine meshing: the computation is not
based on any geometrical meshing; the STL file must only describe the boundary
of a solid.
You can see three other STL files:
center_bc.stl. These files are required to attach boundary conditions to
the geometry. We note an important constraint in the CAD process: the triangles
in these boundary STL files which coincide with the triangles in the solid STL
files must be rigorously the same. This conformal mesh constraint is also
required for adjacent solids that share a common interface.
Finally you can have a look at the
model.txt file which is the
data file. In this file we connect:
physical properties (thermal conductivity, thermal capacity, ...) to the geometrical data (here
boundary conditions to the geometrical data. You can see here a fixed temperature (Dirichlet boundary condition) is applied to the boundaries represented by
left_bc.stl, and a null flux condition is applied to the boundaries represented by
You can refer to the stardis-input man page to read this file and modify it as you wish.
run_probe_computation.sh invokes the
stardis program in order to
compute the temperature at the center of the cube for different values of time.
The results will be recorded in a file and plotted with gnuplot (provided it has
been installed), in order to compare results obtained by
stardis to the
analytical solution stored in the
Assuming the current shell directory is
~/Stardis-StarterPack/cube and that
stardis program is registered against the current shell, you can run the
script using the following command:
~/Stardis-StardisPack/cube $ bash ./run_probe_computation.sh
You can also simply invoke the
stardis program in order to compute the
temperature at the center of the cube at steady state, by using the following
~/Stardis-StarterPack/cube $ stardis -M model.txt -p 0.5,0.5,0.5 -e
Please refer to the
man page for an explanation about command-line options. The Bash script can be
edited and modified. For instance, in section
USER PARAMETERS, the number of
Monte-Carlo samples or the value of the probe time can be changed.
Dump some "thermal paths"
first to dump the scene in the vtk format. This feature is useful for checking the integrity of the geometrical data. For instance if the STL files provide a non-conformal triangle mesh, some errors will be mentioned in the vtk file.
to produce some "thermal paths", starting from the probe position and time. Visualising these paths provides useful information about the boundary or initial conditions that are involved for the computation of the probe temperature, as well as their relative importance. This example is simple but yet allows the visualization of thermal paths in a complex geometry where radiative, convective and conductive heat transfers are coupled.
You can modify the number of paths or the probe position by editing the script.
Green function evaluation
The last script
run_green_evaluation.sh shows how to estimate the Green
stardis and how to use it with the
sgreen program. On first
invocation, the script runs
stardis to evaluate the Green function by
generating the required number of thermal paths and store some data (the end
position of each path) in a binary file. This Green function is evaluated
for the probe position defined in the
USER PARAMETERS SECTION.
This Green function is independent of the value of the sources (values of boundary and initial conditions, as well as the volumetric source term). If you launch the script again, the sgreen program will process the Green function to compute the probe temperature, for the current values of sources (no matter whether they have been modified or not); in order to modify the values of the sources, the following line should be modified in the script:
SOURCES_AND_BOUNDARIES="CUBE.VP=12 LTEMP.T=290 RTEMP.T=310 ADIA.F=5.2"
CUBE.VP the value of the volumetric source term (in W/m^3);
RTEMP.T the values of the temperature on the left (
LTEMP) and right
RTEMP) boundaries respectively (in K); and
ADIA.F the value of the heat flux
density imposed to the boundary
ADIA (in W/m^2). The names of the sources (here
ADIA) are simply the names used in the
Please note that
ADIA being a boundary of type flux (defined by the
F_BOUNDARY_FOR_SOLID keyword in the
model.txt file) the corresponding source
value is named
ADIA.F and not
ADIA.T as for boundaries of type temperature.
This example is more complex than the previous one. It represents an electronic
chip with its heatsink. As mentioned in the
model.txt file, the model is
composed of three media: the heasink, the chip that produces heat and an
interface material between the heatsink and the chip.
run_medium_computation.sh script launches
stardis to compute the mean
temperature in the chip at steady state. It will also create the geometry in
run_medium_computation_multiple.sh script does the same computation for
the model described in file
model_multiple.txt. While this is an assembly of
50 similar electronic devices, the computation time will not be 50 times
greater: it will be of the same order of magnitude.
The porous medium
In this example, we show an original feature: infrared rendering.
able to render a scene in infrared without prior knowledge of the temperature
run_IR_rendering.sh script provides an example to launch
rendering mode. The scene is an idealized porous medium above a reflective
plane. Some parameters can be modified in the
USER PARAMETERS section, such as
the resolution of the image and the number of samples per pixel. For each pixel
of the image, the luminance is computed by Monte-Carlo and the number of
realizations is the specified number of samples per pixel. Computing a
high-definition image with little statistical noise can therefore take a long
time (many hours). The values of the parameters provided in the script
should result in a computation time of about a dozen minutes on a recent
low-end desktop computer.
More information about the rendering is provided in the
stardis man page (such
as the parameters associated with the point of view).
Acknowledgement to Cyril Caliot who designed the porous model for the Optisol project (ANR-11-SEED-0009, PROMES-CNRS, CIRIMAT, SICAT, LTN). This model 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.
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.
- Updates input files to make them compatible with file format updates introduced by Stardis 0.8.
- Make script shells POSIX compliant.
Copyright © 2021, 2022 |Meso|Star> (firstname.lastname@example.org)
Stardis: Starter Pack is released under the GPLv3+ license: GNU GPL version 3 or later. You can freely study, modify or extend it. You are also welcome to redistribute it under certain conditions; refer to the license for details.