The SOLSTICE SOFTWARE is an executable producing flux maps (and other data in ascii) based on input files (.yaml) defining the geometry (e.g. reflecting, refracting parametric surfaces or Computer Assisted Design, CAD, geometry in STL format).

Its fast computation capability (Intel library Embree, and parallelization) allows researchers and engineers to design solar concentrating systems.

Inserting CAD geometries for critical components in SOLSTICE simulations enables thermomechanical stress and Computational Fluid Dynamics (CFD) couplings to be performed on representative geometries.

The main objectives of the SOLSTICE SOFTWARE are to predict the concentrated solar flux distributions in solar facilities:

  • To simulate all types of concentrating optics (reflecting or refracting materials).

  • To design and to study reflectors and receivers by

    • Computing the optical efficiency of any single or groups of reflectors

    • Computing the flux map on any surfaces (reflecting, absorbing, refracting or virtual)

      • for the optimization of receiver geometry (CAD geometry) by combining heat and CFD analysis,

      • for thermomechanical stress studies.

  • To optimize the aiming strategy in solar tower facilities.

  • To characterize the heliostat canting errors.

  • To compute Incidence Angle Modifiers from any linear concentrating system.

Commissioners and developers

The capabilities of the SOLSTICE SOFTWARE were designed from the needs of the PROMES-CNRS research laboratory.

Meso-Star SAS was chosen as the developer of the SOLSTICE SOFTWARE.

The SOLSTICE SOFTWARE was funded by the French "Investments for the future" program managed by the National Agency for Research under contract ANR-10-LABX-22-01-SOLSTICE (LABEX SOLSTICE).


The SOLSTICE SOFTWARE is an Open Source and Free GPL GNU License program.

It is running on Windows and GNU/Linux operating systems (dedicated download files are available).

The executable “solstice” is a command-line tool that requires defining few options and input files to produce output files. This command line could be used alone in a Terminal/command Prompt or inside any program by using a system command enabling to run the executable “solstice”. For example, a program designed to optimize a heliostat field would change the location of each heliostat, run “solstice”, post-process the output and iterate again with new heliostat locations.

To obtain a cutting-edge ray-tracing computation, and have fully Open Source Software, the algorithm used results from research (PROMES, LAPLACE, RAPSODEE laboratories scientific articles [1-3]), and the Embreelibrary from INTEL was used. In addition, The SOLSTICE SOFTWARE is fully parallelizable in shared-memory architecture.

INPUT files are necessary to describe the scene useful to the computation of flux maps and contain all the material properties and surface geometry (including paths for the STL geometry) written thanks to a dedicated language (see documentation) in a YAML format. These input files could be written and modified manually but they could be produced by any program: e.g., when large input files should be created depending on large data size, a program (C, Python, Matlab, Scilab, Fortran, Java, etc.) is useful to print the ascii input file in YAML.

OUTPUT files are generated depending on the options defined with the command “solstice” and include the flux maps, ray paths and the geometry that could be visualized in Paraview (Open Source and Free Software).

[1] J. Delatorre, G. Baud, J.J. Bézian, S. Blanco, C. Caliot, J.F. Cornet, C. Coustet, J. Dauchet, M. El Hafi, V. Eymet, R. Fournier, J. Gautrais, O. Gourmel, D. Joseph, N. Meilhac, A. Pajot, M. Paulin, P. Perez, B. Piaud, M. Roger, J. Rolland, F. Veynandt, S. Weitz, Monte Carlo advances and concentrated solar applications, Solar Energy, 103, 2014, p. 653-681,

[2] B. Piaud , C. Coustet , C. Caliot , E. Guillot , G. Flamant, Application of Monte-Carlo sensitivities estimation in Solfast-4D, SolarPaces Conference 2012, Marrakech, Marocco, 2012, p 1-9.

[3] J P Roccia, B Piaud, C Coustet, C Caliot, E Guillot, G Flamant, J Delatorre, SOLFAST, a Ray-Tracing Monte-Carlo software for solar concentrating facilities. Journal of Physics: Conference Series, 369, 012029, 2012.

[4] C. Caliot, H. Benoit, E. Guillot, J.-L. Sans, A. Ferriere, G. Flamant, C. Coustet, B. Piaud. Validation of a Monte Carlo Integral Formulation Applied to Solar Facility Simulations and Use of Sensitivities. ASME. Journal of Solar Energy Engineering 2015; 137(2): 021019-021019-8. doi:10.1115/1.4029692.


  • Download the latest version of SOLSTICE (Windows version)

Note that you don’t need to install an executable, only download and save the zip-files.

  • Extract the files from with any archiver software (X.X is the versions numbers). Then find the folder “bin” and open it. Copy the address of this directory and add it to the Path environment variable of your computer:

1 : View of the window for the "add to path" step

To check if the solstice command is added to the Path and could be called from any directory, open a new command prompt, enter the command “solstice -h” and check the following output is obtained:

2: Helping window of solstice in VS prompt

Next, additional free tools are needed to visualize the SOLSTICE outputs and compile C files:

Be careful to download all the modules to compile C programs.

  • Run “developer prompt” of Visual Studio “as an administrator”.

To check if the C compilator is OK, enter the command “cl “ in the developer prompt:

3: command to check the good installation of C compilator in VS

If it’s different please check the installation of C and C++ compiler of Visual Studio.

First EXECUTION of Solstice Software

  • Run Solstice to create result files

    • Download the files (.yaml) and save them in a directory. Unzip the files in a Directory named “MICROSOLR”. Download the files for the post-processing of Solstice ( Additional resources page, and download the Sources tarball in the Post-Processes section), extract all the files and save them in the same directory as the .yaml previous files (solmaps.c, solpp.c, solpp.h, solpaths.c, solppraw.c, Makefile is for Linux OS).

    • Open the READ-ME.txt file. Copy it and save it as ‘run.bat’ in the MICROSOLR directory, this will be the list of command to obtain all the results of this tutorial.

    • Open your C compiler VS2017 (Run as administrator) Developer Command Prompt for VS 2017.

    • Change directory (“cd path_to_MICROSOLR” command) to the MICROSOLR directory where the .bat, .yaml and post-processing (*.c) files are located.

    • Enter “run” in the Developer Command Prompt for VS 2017 and hit Enter.

    • The following results should be displayed:

    4: View of the developer prompt when you execute the .bat file

    • Please check that 7 files were created: 270-40-miscellaneaous.obj, 270-40-primaries.vtk, 270-40-receivers.vtk, 270-40-raw-results, solpp.obj, solppraw.obj, solpaths.obj.

    Visualization of the results using Paraview

    • Run Paraview

    • Open the .vtk (270-40-primaries.vtk , 270-40-receivers.vtk) and miscellaneous.obj files that Solstice has created (“File/Open/…”)

    5 : Paraview visualization of the results

    • Click Apply in the Properties panel

    • To see the absorber, select the “miscellaneous.obj” and reduce the opacity. It’s also possible to select the receiver and change the type of visualization (coloring, change “solid color” and select the desired visualization).

    : Visualization of the “FRONT_ABSORBED_map” on the receiver