(128f) A Parallel, Open Source, Grey Body Monte Carlo Ray Tracer with Graphical User Interface for Solar Simulator Characterization
Solar-thermal technologies harness energy with heliostats, heliostats that heat a boiler or reactor with reflected sunlight. This approach has been successfully used to drive biomass gasification, metals reduction and electrical generation in a renewable manner [1-3]. Solar-thermal research and development is accelerated by solar simulators: assemblies of high power lamps whose irradiance mimics concentrated sunlight . These platforms provide controlled environments for the evaluation new solar-thermal technologies at the laboratory scale. To date seven solar simulators are available worldwide for academic studies . Solar simulators can be analyzed using Monte Carlo ray tracing, a probabilistic approach to modeling radiative heat exchange . Within this regime the fates of radiation are determined by following the paths of individual light rays in silico. Rays from a given lamp are traced through diffuse and specular reflections to their ultimate absorption. Several Monte Carlo computer programs have been written for solar simulator characterization. However, most were tailored to the analysis of specific problems [4, 6]. A general Monte Carlo ray tracing code for academic use, VEGAS, features attributes common in scientific programming . Specifically, interaction with VEGAS is purely through text inputs and post-processing is left to the user. The program was written in Fortran90, a compiled computer language wherein modern software practices are emulated . Interpreted programming languages that support object oriented coding have gained traction in scientific computation . Program prototyping is often faster in these languages relative to compiled languages, although at runtime interpreted code may execute more slowly . The use of parallel computing has the potential to ameliorate the latter deficiency. We describe a new, parallel, Monte Carlo Ray ray tracer written in the interpreted Matlab programming language. ParallelMatlabTrace features a graphical user interface and integrated post-processing tools for solar simulator analysis. This code was used to analyze reradiation from two cylindrical calorimeters for solar simulator calibration. Monte Carlo results were coupled with a finite volume simulation to describe worst-case thermal reradiative losses. Natural convection was not explored given its negligible effects in prior studies.
1. Wieckert, C., et al., A 300kW solar chemical pilot plant for the carbothermic production of Zinc. Journal of solar energy engineering, 2007. 129(2): p. 190-196.
2. Lichty, P., et al., Rapid high temperature solar thermal biomass gasification in a prototype cavity reactor. Journal of solar energy engineering, 2010. 132(1): p. 011012.
3. Behar, O., A. Khellaf, and K. Mohammedi, A review of studies on central receiver solar thermal power plants. Renewable and Sustainable Energy Reviews, 2013. 23: p. 12-39.
4. Bader, R., S. Haussener, and W. Lipiñski, Optical Design of Multisource High-Flux Solar Simulators. Journal of solar energy engineering, 2015. 137(2): p. 021012.
5. Howell, J., The Monte Carlo method in radiative heat transfer. Journal of Heat Transfer, 1998. 120(3): p. 547-560.
6. Martinek, J., C. Bingham, and A.W. Weimer, Computational modeling and on-sun model validation for a multiple tube solar reactor with specularly reflective cavity walls. Part 1: Heat transfer model. Chemical engineering science, 2012. 81: p. 298-310.
7. Petrasch, J.r. A free and open source Monte Carlo ray tracing program for concentrating solar energy research. in ASME 2010 4th International Conference on Energy Sustainability. 2010. American Society of Mechanical Engineers.
8. Decyk, V.K., C.D. Norton, and B.K. Szymanski, How to Express C++ Concepts in Fortran90. Scientific Programming, 1997. 6(4): p. 363-390.
9. Prabhu, P., et al. A survey of the practice of computational science. in State of the Practice Reports. 2011. ACM.
10. Prechelt, L., An empirical comparison of seven programming languages. Computer, 2000. 33(10): p. 23-29.