soltrace是一款由国家可再生能源实验室(NREL)开发的一款工具,可以用来模拟聚光太阳能发电系统和分析他们的性能。虽然最初的目的是用于太阳能程序,但是代码也可以被用来模拟和描述很多普通的光学系统。代码的创造演变需要模拟更复杂的光学系统而不是用现有已存在的工具(Jorgensen,1991),包括OPTDSH(Settle等等1991)和CIRCE(Ratzel和Boughton,1987)来模拟。soltrace可以模拟抛物线槽聚光槽以及盘、塔或者其他几何形状(线性电塔、太阳炉等)。它模拟的光学几何结构作为光学元件一系列的组合阶段,光学元件具有广泛的各种可用的属性包括形状、轮廓、和光学质量。这个软件能快速显示,将数据存储为散点图、流量图,并且可以使用其他软件包(Excel等等)输出用于结果分析的数据。图1展示了一个输出窗口。
图1
该代码利用涉嫌追踪的方法(Spencer和Murty,1962)。用户选择给定的射线数量来追踪。当遇到不同的光学相互作用时,每个射线通过系统来追踪。在自然中的一些相互作用是偶然的(如从太阳角的强度分布中选取太阳角),但是其他确实确定(如通过分析描述表面和结果从定向来计算光线交叉点)。这样的代码优于基于力矩卷积的代码,它复制了真正的光子相互作用(Such a code has the advantage over codes based on convolution of moments in that it replicates real photon interactions ),因此可以为复杂系统提供更加精确的结果,否则就不能被用来建模。缺点是处理时间较长。精确度随着光线追踪数量增加而增大,较大的光线数量意味着更多的处理时间。另外复杂的几何形状转化需要更长的时间。然而,所需要的光线数量也是一个函数所需要的结果(the required number of rays is also a function of the desired result)。例如需要较少的光线(因此,更少的时间),以确定相对于给定的太阳能聚光镜的光学效率的相对变化,而不是说是需要准确地评估的磁通分布的接收器上的相同的聚光。因此,责任是在于用户是否能明智有效的使用代码。
程序是用C++编写,使用跨平台QT工具包,允许它运行在Windows和Mac OS X操作系统。核心追踪过程与用户图形界面分离开来,允许将计算代码编入其他系统和程序。Soltrace运行在其他多处理器的计算机上,每个独立的射线可以分开独立计算。n个处理器的计算机将能体验到N倍的速度加成,但是这一趋势将会被不同的原因限制,包括特定几何的特殊性质或者其他计算机硬件(内存等等)。
ps:第一次接触这方向的研究,文中有许多翻译不是很精确,如果有某位大神看到文中不当的地方,请留言告知。