Skip navigation to main content.
NREL - National Renewable Energy Laboratory
About NRELEnergy AnalysisScience and TechnologyTechnology TransferTechnology DeploymentEnergy Systems Integration


This section will be expanded in the future. You may send questions and comments to the user support team at SolTrace Support.

Q: What changes have been implemented in the current version of SolTrace?

A: Here are the highlights of the modifications made since version 2012.3.28:

  • We updated sample files, including example scripts to set up a system programmatically.
  • We fixed situations in which SolTrace would hang on certain geometry files.
  • We made scripting enhancements, including several additional built-in functions:
    • Random number generator: rand()
    • Statistical functions: sum(), mean(), stddev(), min(), max(), pearson()
    • User interface option to change input screens: switch()
    • Extracting hits per element: rayhits()
    • traceopt() function has additional options 'include_sunshape', 'optical_errors' (enable/disable)
    • LK scripting engine can dynamically load externally developed and compiled extension modules
    • Removed 'local' specifier in scripts — this simplifies language and syntax and reduces chance of inadvertent errors.
  • We updated the help system.

Q: What features are not implemented yet?

A: We had anticipated that a finite element option for surfaces would be implemented, but that option has proved to be more challenging than time and current budget will allow. Thus this admittedly highly useful option will not be available until the budget situation improves.

Another planned option is to compile a 64-bit version. This should both improve performance and allow for better usage of memory. Implementation of this option is not budget limited, but time limited, and it will be a priority for the near future.

Q: Are there any known bugs?

A: We try hard to fix all the bugs we find. We appreciate the assistance that users have provided in finding these bugs and reporting them to us. We are aware of one bug that should be noted: when using a cubic spline file to describe a surface, if that file contains a change in derivative (e.g., certain types of 2d CPC designs), some rays will “leak” through the surface. We are currently working on this problem and hope to remedy it in the near future.

Q: Can SolTrace be run from a command line?

A: Yes, it is possible to run SolTrace and a script from a command prompt. This will allow the user to access SolTrace from other programs (e.g., Matlab). The syntax is:

C:\SolTrace\2012.7.9> SolTrace.exe –s <path to lk script file>

This assumes you have used the default folder for installing the code. Substitute the complete path length for the script in the <…>, e.g., c:\soltrace\2012.7.9\scripts\ (do not include the <…>). Use the current install folder for the path description.

Q: Is there any contextual help for script functions?

A: Yes, when typing a script function within the scripting window, as you type the initial left parenthesis, a pop-up will appear that shows the inputs along with a general description of the function. An example for the function elementstats is shown below.

A screenshot of some code starting with elementstats and a right open parentheses

Q: Is there a limit to the number of rays that SolTrace can trace?

A: There is no hard limit, but as a practical matter, a limit can be reached and is a function of available memory, number of stages and elements within the geometry, and the number of rays selected. The practical limit is usually sufficient for most analyses to yield acceptable results. When the limit is reached, SolTrace generates the following error message (Windows version; Mac message will be similar):

Trace Error: Allocation error reading rsults from trace context - (mt)

SolTrace will recover from this error; the user can then reduce the number of rays to achieve a successful trace. For example, the provided sample file for the NREL High Flux Solar Furnace has three stages and a total of 27 elements. SolTrace fails to complete the trace at somewhere between 5M and 6M rays on a Windows XP machine with a dual core processor and 4GB of RAM. This number of rays is more than sufficient for assessing all but the finest detail in the flux distribution at the target..

Q: What surface contours are available for reflector panels?

A: A wide range of surface contour options are available in SolTrace. These include both analytic and non-analytic surface descriptions. Analytic surfaces include flat, spherical, parabolic, hyperbolic, elliptical, conical, and cylindrical surfaces. There are also several non-analytic surface descriptions available, including a spline, polynomial, Zernike polynomial, and data from NREL's VSHOT (Video Scanning Hartmann Optical Test) characterization tool. In the future, data from finite element analysis codes may be added as an input option. Numerous aperture shapes can be used in conjunction with these surfaces, including circular, hexagonal, triangular (regular or irregular), rectangular, an irregular quadrilateral, annular, and a special single-axis curvature section. This last option is used when the geometry calls specifically for a surface with curvature in one direction only, e.g., a parabolic trough. For surfaces like the spline and polynomial, the single-axis curvature section forces the curvature to be in one direction only. For a spherical or parabolic surface, the code neglects any user input that sets any dual-axis curvature parameters, warns the user when the geometry is traced, and forces a modification to allow tracing. The Help section of the code under Geometry provides a detailed set of instructions for the use of both Aperture and Surface options and parameter descriptions. Further restrictions on some combinations of options are also described in Help.