Additional resources

Beginner's guide

The Solstice Absolute Beginner's Guide is designed to introduce enough concepts and functionalities that you will be able to autonomously use the Solstice program. The tutorial itself is provided in a pdf file while the Solstice resources on which it relies - i.e. input files - are available in a separate archive.

Beginner's guide Resources
[pdf] [zip]


Solstice PP 0.3.1 is available

Solstice Post-Process is a collection of command-line tools that post-process the outputs of Solstice. These programs illustrate how the raw-results of Solstice can be processed with respect to the user needs.

The provided tools are provided as it, without additional support. They are free software written in standard C, without external dependency, and released under the GPLv3+ license. You can thus easily study, modify or extend them according to your needs. You are also welcome to redistribute them under certain conditions; refer to the license for details.

To use these tools, download the provided archive and verify its integrity against its PGP signature. This archive contains the sources of the program and a GNU/Makefile to simplify the build process on GNU/Linux and on Windows through MinGW. Extract it and run make to build the programs. Note that even though this archive targets GNU-compliant systems, the provided sources can be compiled by any C compiler that supports the C99 standard.

$ tar xzvf Solstice-PP-Sources-0.3.1.tar.gz
$ cd Solstice-PP-Sources
$ make

A description of each generated tools is given in the following sections.


The solppraw program reads the Solstice outputs from a file or the standard input whether a filename is provided as an argument or not, respectively. For each simulated sun direction, it formats the raw results in a human readable text file, simplifying the analysis of the results.

The following example invokes Solstice to simulate two sun directions and write the results in the output file that is then post-processed by the solppraw tool.

$ solstice -D45,70:50,75 -R rcvs.yaml -o output input.yaml
$ solppraw output
Writing `45-70-raw-results.txt'
Writing `50-75-raw-results.txt'

Note that one can directly pipe the results of solstice to solppraw without any intermediary output file.

$ solstice -D45,70:50,75 -R rcvs.yaml input.yaml | solppraw
Writing `45-70-raw-results.txt'
Writing `50-75-raw-results.txt'


The solmaps command line takes as input the results of a regular Solstice simulation. These data are read from a file or from standard input whether a filename is provided as an argument or not, respectively. solmaps extracts the maps of incoming flux computed by Solstice for the receivers whose per_primitive flag is enabled (see solstice-receiver(5) for more informations). Each map is then saved in a specific VTK file.

The following example pipes solstice with solmaps to save the maps of the receivers target_a and target_b computed by solstice for each provided sun direction.

$ solstice -n10000 -D45,70:50,75 -R rcvs.yaml input.yaml | solmaps
Writing `45-70-target_a.vtk'
Writing `45-70-target_b.vtk'
Writing `50-75-target_a.vtk'
Writing `50-75-target_b.vtk'


The solpaths tool reads the radiative paths dumped by Solstice when it is invoked with the -p option. The radiative paths are read from a file or from the standard input, whether a filename is provided as an argument or not, respectively. For each simulated sun direction, it generates a VTK file of the radiative paths that can be then visualized in Paraview.

The following example illustrates how solpaths is piped with solstice to generate two VTK files, one per simulated sun direction.

$ solstice -n100 -D45,70:50,75 -R rcvs.yaml -p default input.yaml | solpaths
Writing `45-70-paths.vtk'
Writing `50-75-paths.vtk'


The solpp program takes two input files: the geometry of a solar plant output by Solstice when it is invoked with the -g option, and the results of a legacy Solstice simulation. For each simulated sun direction, it writes three files. The first one, is a VTK file that maps to the meshes of the primary geometries (i.e. the reflectors) their associated simulation results; for instance their respective cosine factor or the amount of flux that reaches a receiver and comes from them. The second output file, is another VTK file that stores the geometry of the receivers and their simulation results as their incoming flux or their efficiency. Finally, the third file is an OBJ file that stores the meshes of the miscellaneous geometries, i.e. the geometries that are neither receivers nor primary geometries. These files can then be visualised and analysed in Paraview.

In the following example, solstice is invoked to simulate two sun directions on the solar plant described in the input.yaml file. We then rerun solstice with the -g option to export the geometry of this solar plant with respect to the aforementioned sun directions. We finally invoke solpp to post-process the previous outputs saved in the simul and geom files.

$ solstice -D45,70:50,75 -R rcvs.yaml -o simul input.yaml
$ solstice -D45,70:50,75 -g format=obj -o geom input.yaml
$ solpp geom simul
Writing `45-70-primaries.vtk'
Writing `45-70-receivers.vtk'
Writing `45-70-miscellaneous.obj'
Writing `50-75-primaries.vtk'
Writing `50-75-receivers.vtk'
Writing `50-75-miscellaneous.obj'

Download Post-Processes

Version Sources
0.3.1 [tarball] [pgp]
0.3.0 [tarball] [pgp]
0.2.0 [tarball] [pgp]
0.1.0 [tarball] [pgp]

Version 0.3.1

Version 0.3

Version 0.2

Version 0.1