stardis(1)
NAME
stardis  statistical solving of coupled thermal systemsSYNOPSIS
stardis [option] stardis M <file> [option]
DESCRIPTION stardis solves coupled thermal systems: conductive, convective and radiative transfers are solved together. The physical model used for conduction is the local unstationary heat conduction equation. Convection fluxes are assumed to be linear with temperature, and radiation is assumed to be integrated over the whole thermal spectral range, therefore radiative heat fluxes are proportionnal to a difference of temperatures to the power 4. stardis can deal with complex geometries as well as highfrequency external solicitations over a very long period of time, relative to the characteristic time of the system. The provided system description should comply with the stardisinput(5) format.
stardis can compute a thermal observable, like temperature or flux, at a probe point and date or the mean value of an observable over a given surface, volume, or time range. When a time range t1, t2 is provided, the computed value is the mean value over the time range. To compute the value at a given time, simply provide a single value t. In addition, stardis gives access to the evaluation of the propagator (a.k.a the Green function).
The propagator is of great value for thermicist engineers as it gives some crucial information to analyse heat transfers in the system. It helps engineers answer questions like "Where from does the heat come at this location?". Propagators seamlessly aggregate all the provided geometrical and physical information on the system in an unbiased and veryfast statistical model.
stardis(1) also provides two additional functionalities: converting the stardisinput(5) geometry into a VTK file and rendering an infrared image of the submitted system.
Stardis' algorithms are based on stateoftheart MonteCarlo method applied to radiative transfer physics (Delatorre [1]) combined with conduction's statistical formulation (Kac [2] and Muller [3]). Thanks to recent advances in computer graphics technology which has already been a game changer in the cinema industry (FX and animated movies), this theoretical framework can now be practically used on the most geometrically complex systems.
MonteCarlo algorithms associated with convective and conductive processes consist in sampling heat paths: this can be seen as an extension of MonteCarlo algorithms that solve monochromatic radiative transfer. The radiative transfer algorithm, based on the Picard method, is also based on sampling radiative paths. However, since stardis solves the spectrally integrated radiative transfer, the process can be recursive: secondary heat paths (convective, conductive and radiative) may be necessary along the sampling of an initial radiative path.
The solution may not be sufficiently converged with a Picard order equal to 1 in the presence of high temperature gradients. Increasing the Picard order may be necessary in this case, until the required convergence is reached.
A main property of this approach is that the resulting algorithms do not rely on a volumic mesh of the system: only the representation of interfaces is necessary.
stardis supports shared memory parallelism and relies on the Message Passing Interface specification [4] to parallelise its computations in a distributed memory environment; it can thus be run either directly or through a MPI process launcher like mpirun(1).
[1] Delatorre et al., Monte Carlo advances and concentrated solar applications, Solar Energy, 2014
[2] Kac, On Distributions of Certain Wiener Functionals. The Annals of Mathematical Statistics, 1949.
[3] Muller, Some continuous MonteCarlo Methods for the Dirichlet Problem, Transactions of the American Mathematical Society, 1956.
[4] MPI specifications  https://www.mpiforum.org/docs/
MANDATORY OPTIONS
M file
 Read a text file containing a possibly partial description of the system. Can include programs, media enclosures and boundary conditions. Media and boundaries can appear in any order, but programs must be defined before their first reference. Refer to stardisinput(5) for details. Can be used more than once if the description is split across different files.
EXCLUSIVE OPTIONS
p x,y,z[,time[,time]]
 Compute the temperature at the given probe at a given time. By default the compute time is INF. The probe must be in a medium. The probe coordinates must be in the same system as the geometry.
P x,y,z[,time[,time]][:side_indicator]
 Compute the temperature at the given probe on an interface at a given time. If the probe is on an interface where a thermal contact resistance is defined, it is mandatory to provide a side indicator (either FRONT, BACK, or a medium name), as the temperature differs between the two sides. By default the compute time is INF. The probe is supposed to be on an interface and is moved to the closest point of the closest interface before the computation starts. The probe coordinates must be in the same system as the geometry.
m medium_name[,time[,time]]
 Compute the mean temperature in a given medium at a given time. The medium name must be part of the system description. By default the compute time is INF. The medium region does not need to be connex.
s file[,time[,time]]
 Compute the mean temperature on a given 2D region at a given time, the region being defined as the front sides of the triangles in the provided STL file. By default the compute time is INF. These triangles are not added to the geometry, but must be part of it. The region does not need to be connex.
S file[,time[,time]]
 Compute the bytriangle mean temperature on a given 2D region at a given time, the region being defined as the front sides of the triangles in the provided STL file. These triangles are not added to the geometry, but must be part of it. By default the compute time is INF. The region does not need to be connex.
F file[,time[,time]]
 Compute the mean flux on a given 2D region at a given time, the region being defined as the front sides of the triangles in the provided STL file. These triangles are not added to the geometry, but must be part of it. Flux is accounted positive when going from the front side to the back side, at a singletriangle level. By default the compute time is INF. The region does not need to be connex, but it can currently only include geometry appearing in description lines starting with H_BOUNDARY_FOR_SOLID, H_BOUNDARY_FOR_FLUID, F_BOUNDARY_FOR_SOLID or SOLID_FLUID_CONNECTION (see stardisinput(5)).
R [suboption:...]
 Render an infrared image of the system through a pinhole
camera. One can use alldefault suboptions by simply providing the
colon character (:) alone as an argument. Please note that
the camera position must be outside the geometry or in a fluid.
Available suboptions are:
file=output_file
 File name to use to write the infrared image to. If no file name is provided, the result is written to standard output.
fmt=image_file_format
 Format of the image file in output. Can be VTK, or HT (see htrdrimage(5) and htpp(1)). Default image_file_format is HT.
fov=angle
 Horizontal field of view of the camera in [30, 120] degrees. By default angle is 70 degrees.
img=widthxheight
 Definition of the rendered image in pixels. By default the image definition is 640x480.
pos=x,y,z
 Position of the camera. By default it is set to { 1, 1, 1 } or it is automatically computed to ensure that the whole scene is visible, whether tgt is set or not, respectively.
spp=samplescount
 Number of samples per pixel. By default, use 4 samples per pixel.
t=time[,time]
 Rendering time. By default the rendering time is INF, INF.
tgt=x,y,z
 Position targeted by the camera. By default, it is set to { 0, 0, 0 } or it is automatically computed to ensure that the whole scene is visible, whether pos is set or not, respectively.
up=x,y,z
 Up vector of the camera. By default, it is set to { 0, 0, 1 }.
OTHER OPTIONS
d
 Write the geometry to standard output in VTK format
along with various properties, including possible errors. If this
option is used, no computation occurs.
Using this option in conjunction with an option that specifies a compute region (F, S, s) has the effect to include the region in the output. This option cannot be used in conjunction with other options that write to standard output (g, h, R, v).
D type,files_name_prefix
 Write sampled heat paths of the given type to files in
VTK format, one file per path. Possible values for type are
error (write paths ending in error), success (write
successful paths), and all (write all paths). Actual file
names are produced by appending files_name_prefix and the
path rank starting at index 00000000, and possibly followed by
_err for failure paths: prefix00000000.vtk,
prefix00000001_err.vtk, ...
This option can only be used in conjunction with options that compute a result (F, m, P, p, R, S, s) and cannot be used in conjunction with options g or G.
e
 Use extended format to output MonteCarlo results. Can only be used in conjunction with options that compute a single MonteCarlo (F, m, P, p, or s without options g or G).
g
 Compute the Green function at the specified time and write it
in ASCII to standard output.
This option can only be used in conjunction with one these options: p, P, m, s and cannot be used in conjunction with option D.
G file_name[,file_name]
 Compute the Green function at the specified time and write it
to a binary file. If a second file name is provided, information on
heat paths' ends is also written in this second file in ascii csv
format.
This option can only be used in conjunction with one these options: p, P, m, s and cannot be used in conjunction with option D.
The resulting file can be further used through the sgreen(1) command to apply different temperature, flux or volumic power values.
h
 Output short help and exit.
n samplescount
 Number of MonteCarlo samples. By default samplescount is set to 10000.
o Picard_order
 Determine the iteration level used with the Picard method to deal with nonlinear radiative transfer accross the model. By default Picard_order is set to 1. Note that a Picard order greater than 1 is incompatible both with Green computations and models including volumic power sources or non zero flux at a boundary.
t threadscount
 Hint on the number of threads to use. By default use as many threads as CPU cores.
v
 Output version information and exit.
V level
 Set the verbosity level. Possible values are 0 (no message), 1 (error messages only), 2 (error and warning messages), and 3 (error, warning and informative messages). All the messages are written to standard error. Default verbosity level is 1.
x file_name
 Read the provided file and use its content to initialize the random generator's internal state. Used in conjunction with the X option, this can be used to ensure statistical independence between subsequent computations.
X file_name
 Write the random generator's internal state, as it is at the end of the computation, to the provided file.
EXAMPLES
Preprocess the system as described in scene 5.txt when intending to compute the mean flux on the triangles from the file edge.stl, and write its geometry in the file scene.vtk. Verbosity level is set to 3:

$ stardis M "scene 5.txt" F edge.stl d V 3 > scene.vtk
Compute the temperature at the probe point 0, 0.5, 0 at steady state. The system is read from the file model.txt and the number of samples is set to 1000000:

$ stardis M model.txt p 0,0.5,0 n 1000000
Compute the mean temperature in the medium med05 at t=100 s. The system is read from the file model.txt and the result is output with extended format:

$ stardis M model.txt m med05,100 e
Compute the temperature at the probe point 0, 0, 0 at t=2500. The system is read from the 2 files media.txt and bounds.txt and the number of samples is set to 1000000:

$ stardis M media.txt M bounds.txt p 0,0,0,2500 n 1000000
Compute the mean temperature at the probe point 1, 2.5, 0 over the 50, 5000 time range. The system is read from the file model.txt:

$ stardis M model.txt p 1,2.5,0,50,5000
Compute 3 probe temperatures, ensuring statistical independence:

$ stardis M model.txt p 1,1.5,0,50,5000 Xstate1 $ stardis M model.txt p 1,2.5,0,50,5000 xstate1 Xstate2 $ stardis M model.txt p 1,3.5,0,50,5000 xstate2
Use mpirun(1) to launch stardis on several hosts defined in the my_hosts file. Render the system as described in scene.txt with default settings:

$ mpirun hostfile my_hosts stardis M scene.txt R :
Render the system as described in scn.txt at t=100, spp=2, img=800x600, with output format fmt=ht and all other settings set to their default values. The output is redirected to the img.ht file. If the computation encounters erroneous heat paths, they will be dumped to VTK files named err_path_00000000.vtk, err_path_00000001.vtk, etc. The image file is then postprocessed using htpp(1) with default settings to obtain a png file.

$ stardis M scn.txt R t=100:spp=2:img=800x600:fmt=ht \ D error,err_path_ > img.ht $ htpp o img.pgn v m default img.ht
Compute the Green function that computes the temperature at the probe point 0, 0, 0 at steady state. The system is read from the file model.txt and the Green function is written to the probe.green file and the heat paths' ends are written to the probe_ends.csv file:

$ stardis M model.txt p 0,0,0 G probe.green,probe_ends.csv
COPYRIGHT
Copyright © 20182023 MésoStar>. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software. You are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
stardisinput(5), stardisoutput(5), sgreen(1), htpp(1) htrdrimage(5) mpirun(1)