Stardis: Starter Pack

Stardis: Starter Pack 0.2.0

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.

Quick start

Assuming that 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

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.


heatsink heatsinkx50 foam city
Geometries of the heatsink, the multiple heatsinks, the foam, and the city provided by the Starter Pack and used in its examples.

The cube

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 the solid.stl file. If you visualize the stl file with a software like paraview or 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: left_bc.stl, right_bc.stl and 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 stardis input data file. In this file we connect:

You can refer to the stardis-input man page to read this file and modify it as you wish.

Probe computation

The script 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 analytical_T.txt file.

Assuming the current shell directory is ~/Stardis-StarterPack/cube and that the stardis program is registered against the current shell, you can run the script using the following command:

~/Stardis-StardisPack/cube $ bash ./

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 command:

~/Stardis-StarterPack/cube $ stardis -M model.txt -p 0.5,0.5,0.5 -e

Please refer to the stardis 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"

The script invokes stardis twice:

You can modify the number of paths or the probe position by editing the script.

Green function evaluation

The last script shows how to estimate the Green function with 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:


with CUBE.VP the value of the volumetric source term (in W/m^3); LTEMP.T and 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 CUBE, RTEMP, LTEMP and ADIA) are simply the names used in the model.txt file.

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.

The heatsink

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.

The script launches stardis to compute the mean temperature in the chip at steady state. It will also create the geometry in vtk format.

The 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.

foam_ir foam_anim
Illustration of the infrared rendering of the porous example. The color map displays the temperature in Kelvin. The bottom animation was produced by a simple rotation of the camera around the center of the foam. Each one of the 32 frames is a full image produced by a Stardis run.
The infrared rendering of the city example. The color map displays the temperature in Kelvin. The image consists of 640x480 independent Monte-Carlo estimates (one per pixel, 1024 paths each).

The porous medium

In this example, we show an original feature: infrared rendering. stardis is able to render a scene in infrared without prior knowledge of the temperature field.

The script provides an example to launch stardis in 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.

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 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.


Version Archive
0.2.0 [tarball] [pgp]
0.1.0 [tarball] [pgp]
0.0.0 [tarball] [pgp]

Version 0.2

Version 0.1

Add the city exemple

Copyright notice

Copyright © 2021, 2022 |Meso|Star> (


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.