soltrace教程(1)介绍

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:第一次接触这方向的研究,文中有许多翻译不是很精确,如果有某位大神看到文中不当的地方,请留言告知。

时间: 2024-10-11 22:44:51

soltrace教程(1)介绍的相关文章

OpenLayers3基础教程——OL3 介绍interaction

概述: 本节主要讲述OL3的交互操作interaction,重点介绍draw,select以及modify. 接口说明: OL3的interaction继承自ol.interaction.defaults,下面实现了以下几中交互操作: 创建方式为: var interaction = new ol.interaction.InteractionType({options});添加和移除方式为:map.addInteraction(draw);map.removeInteraction(draw)

Python爬虫教程-08-post介绍(百度翻译)(下)

Python爬虫教程-08-post介绍(下) 为了更多的设置请求信息,单纯的通过urlopen已经不太能满足需求,此时需要使用request.Request类 构造Request 实例 req = request.Request(url=baseurl,data=data,headers=header) 发出请求 rsp = request.urlopen(req) 文件: 案例v8文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py08po

很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序

很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用make更新函数库文件 后序 近期在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出来,方便学习. 后记,看完发现这篇文章和<Linux环境下的C编程指南>

OpenLayers3基础教程——OL3 介绍control

概述: 本文讲述的是Ol3中的control的介绍和应用. OL2和OL3 control比较: 相比较Ol2的control,OL3显得特别少,下图分别为Ol2和Ol3的control: Ol2的control Ol3的control 相比较Ol2,OL3保留了mouseposition,scaleline,zoom,zoomslider,而将很多东西例如draw等转移到了interaction下面,下图为Ol3的interaction: OL3中control的常用操作: Ol3中contr

Kafka使用入门教程 简单介绍

介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳. 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker. producers通过网络将消息发送到Kafka集群,集群向消费者

微软BI:教程目录介绍(原创)

首先自我介绍一下,我叫Focus(中文意思:聚焦.焦点.集中),从事BI工作,所以取名叫FocusBI,希望大家不要理解为福克斯汽车品牌了. 从事BI工作已有5年有余,经历大大小小的BI项目8个:从工厂的操作工到BI小白,从小白开始进入BI行业经历5年多时间才开始慢慢能胜任BI工作,算不上高手,在这个过程中没有人指导.也没有人愿意教,即使教我一些东西也都是很皮毛很浅显的东西,随意百度一下就能查到:最后只能靠自己慢慢的摸索体会.其中网上BIWORK的博客对我触动很大,我很佩服他的专业精神. 通过几

如何恢复回收站删除的文件?教程详情介绍

如何恢复回收站删除的文件?在回收站中的文件相信各位都知道如何进行快速的恢复操作,但是文件如果在回收站中被二次删除之后该怎么进行恢复呢?恢复回收站删除的文件需要进行哪些准备呢? 回收站中的文件再次删除的话就是永久删除性质,虽说文件此时还在电脑存储分区当中,但是用户一般的方式找不出来文件,束手无策,这个时候就需要借助到专业的数据恢复软件来恢复回收站删除的文件,接下来就和各位介绍一下具体的操作流程: 第一步:在电脑的浏览器或者是软件管家中找到[互盾数据恢复软件]的安装包,进行下载和安装的操作,选择路径

soltrace教程(3)基本方法

在Soltrace中,光学系统被展现在世界坐标系的舞台上.这个舞台被不严格的定义为光学几何结构的一部分,其中一旦有光线在舞台上退出,将不会重新进入系统中其他光线的路径.一个完整的系统几何可能由一个或多个舞台组成.这是用户的责任区定义相应的舞台几何结构.舞台概念背后的目的是采用有效的跟踪以便节省处理时间和允许使用模块代表系统.舞台的另一个重要的优势是它们可以保存和使用其他系统几何机构而不用重新计算元素的位置和方向.分割通过舞台的几何形状,在为特殊的几何结构分配不同坐标系时可能是很有用的,并且可以更

简明Python3教程 1.介绍

Python是少有的几种既强大又简单的编程语言.你将惊喜地发现通过使用Python即可轻松专注于解决问题而非和你所用的语言格式与结构. 下面是Python的官方介绍: Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programm