Skip to main content


SolTrace is a software tool developed at the National Renewable Energy Laboratory (NREL) to model concentrating solar power (CSP) systems and analyze their optical performance. Although ideally suited for solar applications, the code can also be used to model and characterize many general optical systems. The creation of the code evolved out of a need to model more complex solar optical systems than could be modeled with existing tools. SolTrace can be installed either using the official NREL packaged distribution or from source code at the SolTrace open source project website. NREL welcomes contributions from programmers to the simulation engine or to the interface and encourages interested persons to get involved. More information on contributing, compiling the source code, and license requirements is available on the project website.

More information is available.






SolTrace open source project

The code uses Monte-Carlo ray-tracing methodology. The user selects a given number of rays to be traced. Each ray is traced through the system while encountering various optical interactions. Some of these interactions are probabilistic in nature (e.g., selection of sun angle from sun angular intensity distribution) while others are deterministic (e.g., calculation of ray intersection with an analytically described surface and resultant redirection). Because it replicates real photon interactions, the code can provide accurate results for complex systems that cannot be modeled otherwise. Accuracy increases with the number of rays traced, but larger ray numbers means more processing time. Complex geometries also translate into longer run times. The code (written in C++) is extremely fast and automatically takes advantage of every processor present in a particular Windows- or Mac-based operating system. Although the input is text (or spreadsheet), a plug-in is provided for the free solid modeling tool Trimble SketchUp that will allow users to graphically design and save optical geometries for SolTrace analysis.

SolTrace can be used to model parabolic trough collectors, linear Fresnel lens systems, power tower geometries, and point-focus optical systems (dishes and solar furnaces). It displays data as scatter plots and flux maps, and can save data for processing with other software. It also can model optical geometries as a series of stages composed of any number of optical elements that possess attributes including shape, contour, and optical quality. Stages can be either physical or virtual to allow for easier accounting of power and flux throughout the system. A scripting language is provided to allow the user to create parametric runs and additional functionality beyond the core ray-tracing capabilities.

With the release of the SolTrace open source project, the software has adopted semantic versioning in which the version number consists of three parts — the major, minor, and patch counters. The current version number represents the first release under the open source project and the third major version, and consequently, it is assigned the major index '3'. The current version can read SolTrace files from version 2016.12.22 and prior, although compatibility has not been extensively tested.

SolTrace Screenshot

SolTrace Version 3.0 is the most current version.