塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法

文档序号:10688102阅读:590来源:国知局
塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法
【专利摘要】本发明公开了塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,包括以下步骤:(1)建立整个定日镜场的轴平行的大包围盒;(2)将所述的大包围盒沿定日镜分布方向等距划分;(3)将定日镜反射或入射的光柱建模;(4)对于每一个光柱,找到与该光柱相交的相交网格;(5)对相交网格中的定日镜与对应光柱相交判定;(6)将阴影转化为遮挡;(7)建立接收面板和流水线绘制缓存的对应关系;(8)将定日镜及其遮挡投影到接收面板上;(9)组织流水线中的定日镜及其遮挡定日镜的顺序并进行深度赋值;(10)剔除反射光斑的遮挡区域后并行累加到累积缓存;本发明的快速模拟方法有效提高计算的准确性和效率,模拟结果更真实可靠。
【专利说明】
塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法
技术领域
[0001] 本发明涉及太阳能热发电模拟技术领域,特别涉及塔式太阳能热发电系统有效剔 除遮挡的辐射能密度模拟方法。
【背景技术】
[0002] 塔式太阳能热发电系统的接收器上的辐射能密度分布的实时预测、模拟对于塔式 太阳能热发电工程具有非常重要的意义。
[0003] 要达到高精度的模拟,就必须考虑定日镜场上经常存在的影响发电效率的两种现 象:阴影和遮挡。为了提高发电效率,这两种现象都要尽可能避免。然而,对于一个大型的定 日镜场,要判定定日镜之间的阴影和遮挡关系,计算量巨大,影响仿真效率。
[0004] 因此,在太阳能仿真领域,一些简单的加速处理方法被提出。Belhomme B等人 (2009) (Belhomme B1Pitz-Paal R, Schwarzbozl P ,et al.A new fast ray tracing tool for high-precision simulation of heliostat fields[J].Journal of Solar Energy Engineering,2009,131(3) :031002.)采用了层次化的空间数据结构组织每一个定 日镜以及定日镜镜片来加速阴影和遮挡关系的判定。
[0005] Izigon M等人(2011) (Izigon M,Armstrong P,Nilsson C and Vu N,TieS0L_A GPU-Based Suite of Software for Central Receiver Solar Power Plants, SolarPACES Granada,Spain,2011.)提出对每一个定日镜保留两个固定长度的列表来存储 与之相邻的潜在阴影和遮挡定日镜,然而,这种估计并不准确,尤其是当早上和傍晚太阳高 度角很小的时候,潜在阴影遮挡的定日镜数量往往超过列表的预设长度。
[0006] Besarati S等人(2014) (Besarati,S .M· ,Goswami,D · Y·,&Stefanakos,E ·K · (2014).Optimal heliostat aiming strategy for uniform distribution of heat flux on the receiver of a solar power tower plant. Energy Conversion and Management ,84,234-243.)提出对于考察定日镜的周围定日镜,阴影遮挡关系只测试相对 该定日镜分别与太阳或接受器处于同一侧的其他定日镜。显然这是一种保守的做法,增加 了很多实际上不会产生阴影遮挡影响的定日镜,增加计算量。
[0007] 另外,从图形学的角度,阴影和遮挡现象可以看作经典的隐藏面消除问题,很多成 熟的算法可以拿来借鉴,比如层次z-buffer算法(Greene N ,Kass M ,Miller G. Hierarchical Z-buffer visibiIity[C]//Proceedings of the 20th annual conference on Computer graphics and interactive techniques. ACM,1993:231-238.)。在图形学领域,降低这类问题计算复杂度的方式是挖掘场景的空间连续性。相应的 有两种空间划分辅助数据结构,自适应结构(代表是octree,Glassner A S. Space subdivision for fast ray tracing[J].Computer GraphicsMpplications IEEE,1984, 4(10) :15-24)和均勾划分网格(Fujimoto A,Tanaka T, Iwata K.ARTS:Accelerated Ray-Tracing System[J]. IEEE Computer Graphics&Applications, 1986,6(4): 16-26 ·) 〇前者 是一种自上而下的方式,适用于物体不规律分布的场景。相反后者更适合均匀分布的场景, 在此基础上的光线遍历3D-DDA算法(Amanatides J,Woo A.A fast voxel traversal algorithm for ray tracing[C]//Eurographics.l987,87(3):10.)能高效的找到与光线 碰撞的物体。考虑到定日镜场上定日镜的规则分布,均匀划分网格数据结构是首选。但是传 统的3D-DDA算法针对的是光线,对于像定日镜反射的光柱遍历均匀网格的问题至今没有一 个高效的算法。
[0008] 从辐射能模拟方法角度,主流的模拟方法可以分为两类:基于光线跟踪模拟和基 于解析方法的求解。
[0009] 光线跟踪模拟首先人为的将接收面板离散,模拟太阳光线在定日镜场和接收器之 间的传播过程,从而定量的刻画接收面板上各个子区域接收到的总能量。根据光线产生方 式的不同,这类方法又分为两类:正向光线跟踪和逆向光线跟踪。正向光线跟踪 (I.ffendelin T.SolTRACE:a new optical modeling tool for concentrating solar optics[C]//ASME 2003International Solar Energy Conference.American Society of Mechanical Engineers,2003:253-260;2·Izigon M,Armstrong PjNilsson C and Vu N, TieSOL-A GPU-Based Suite of Software for Central Receiver Solar Power Plants, SolarPACES Granada,Spain,2011;3.Belhomme B1Pitz-Paal R,SchwarzbozlP,et al.A new fast ray tracing tool for high-precision simulation of heliostat fields
[J] .Journal of Solar Energy Engineering,2009,131(3) :031002)从太阳或镜面产生跟 踪光线,经过镜面反射,光线到达接受面,能量累加到相应的单元。逆向光线跟踪(Chiesi M,Vanzolini L,Scarselli E F,et al.Accurate optical model for design and analysis of solar fields based on heterogeneous multicore systems[J] ? Renewable Energy,2013,55:241-251 ·)从接受面板产生光线,逆向跟踪光线到光源从而 判定光线携带的能量,计算光线的能量贡献。光线跟踪方法为了达到一定的模拟精度需要 跟踪大量的光线,从而带来很高的计算代价,所以一般采用并行计算,最后用原子累加操作 对接受面上同一区域的入射光线的能量进行累加。
[0010] 解析方法对定日镜反射的能量光斑进行整体的解析刻画,从而提高模拟效率。主 流的是 HFLCAL 模型(Schwarzb0zl P,Pitz_Paal R,Schmitz M.Visual HFLCAL-A Software Tool for Layout and Optimisation of Heliostat FieIds[C]//Proceedings of 15th International SolarPACES Symposium,Berlin,September.2009:15-18. ){S^ 这种方法目前多数停留在对单个定日镜反射的光斑进行模拟,从而校正模型参数上,而且 不考虑阴影遮挡的影响。Garcia L,et a 1.(2015)对最初的HFLCAL模型进行了修正,先在定 日镜反射平面内建立辐射能密度方程,再利用单应性变换把这个分布映射到接收面板上 面,从而获得更接近真实的刻画。Huang W,et al.(2014)(Huang W,Xu Q.Development of an analytical method and its quick algorithm to calculate the solar energy collected by a heliostat field in a year[J].Energy Conversion and Management, 2014,83:110-118.)提出在CPU上进行串行累加的方式模拟整个镜场,但是只能给出总能量 数值的估计,无法给出辐射能分布。
[0011]随着计算机硬件的发展,传统的绘制流水线已从最初的图形任务工具发展成一个 通用的并行计算平台。

【发明内容】

[0012] 本发明提供了一种塔式太阳能热发电系统有效剔除遮挡的辐射能密度模拟方法, 在保证精确性的同时提高了运算效率,使模拟结果更真实可靠。
[0013] -种塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,包括以下步骤:
[0014] (1)建立整个定日镜场的轴平行的大包围盒;
[0015] (2)将所述的大包围盒沿定日镜分布方向等距划分,产生均匀的网格;
[0016] (3)将定日镜反射或入射的光柱建模,光柱建模为镜面沿着光柱方向平移形成的 平行六面体;
[0017] (4)对于每一个光柱,找到与该光柱相交的相交网格;
[0018] (5)对相交网格中的定日镜与对应光柱相交判定,从而得到形成该光柱的定日镜 受到的阴影或遮挡;
[0019] 阴影是指相邻定日镜对本应入射到指定定日镜上的太阳光能所形成的光柱的阻 挡,遮挡指指定定日镜反射的光柱的由于相邻定日镜的影响没办法到达接收器。
[0020] (6)将所有形成阴影的定日镜转化为遮挡定日镜;
[0021 ] (7)建立接收面板和流水线绘制缓存的对应关系;
[0022] (8)将每一个定日镜沿其反射光线的方向将反射光斑投影到接收面板上,当定日 镜存在遮挡定日镜,这些遮挡定日镜也要沿着当前定日镜的反射光线方向投影到接收面板 上;
[0023] 在流水线中,遮挡定日镜的投影轮廓用与投影等大的平行四边形表示,当前定日 镜的反射光斑用与绘制窗口等大的矩形表示;
[0024]四边形的投影轮廓和反射光斑都分别由两个三角形组成,经过光栅化阶段之后所 述三角形被离散成像素点,将投影轮廓和反射光斑转换成像素数据流,之后离散的像素数 据在流水线的像素着色阶段被赋值;
[0025] (9)组织流水线中的定日镜及其遮挡定日镜的顺序,其中,定日镜按序号排序且遮 挡定日镜排在被它遮挡的定日镜之前;
[0026] 并对流水线中的定日镜及其遮挡定日镜进行深度比较算法的深度赋值,其中,遮 挡定日镜的深度值小于被它遮挡的定日镜;
[0027] (10)反射光斑和对应遮挡定日镜的投影轮廓逐像素数据流依次通过深度比较测 试,剔除反射光斑的遮挡区域,未被剔除的反射光斑区域的像素值代表对接收面的能量贡 献,在流水线中通过alpha blending算法并行累加到累积缓存,完成接收面板上的福射能 密度模拟。
[0028] alpha blending算法公式如下:
[0029] s〇 = a*Si+b*S2:其中0<=a< = l ;b=l_aSi、S2表示要混合的两幅图像的像素点颜 色,So是最终的结果,现在的流水线支持a = b= 1,令a = b= 1,就能达到累加的目的。
[0030] 为了进一步提高计算效率,优选的,在步骤(1)中,同时每个定日镜建立一个大小 可以完全包围对应定日镜的轴平行的小包围盒,在步骤(2)中,同时遍历每个定日镜,将每 个定日镜的索引存储到与该定日镜所在小包围盒相交的网格中,使网格作为定日镜的代 理。建立定日镜的轴平行的小包围盒的目的是为了针对特定的定日镜镜场,场景的均匀网 格辅助数据结构只需建立一次,小包围盒限定了定日镜的最大活动范围,根据这个轴平行 包围盒与均匀网格的相交情况可以确定定日镜从属于哪些网格。当然,这个轴平行包围盒 不是必需的,根据定日镜顶点实时判定其属于哪些均匀网格也可行,不过这样的话辅助数 据结构需要实时更新,计算量会增加。
[0031]为了快速判断光柱是否与网格相交,优选的,步骤(3)中,光柱建模为镜面沿着光 柱方向平移形成的平行六面体,假定光柱的每个侧面的法向指向光柱内部;
[0032]步骤(4)中,确定该网格与该光柱是否相交的具体步骤如下:
[0033] 4-1、对于组成光柱的一个侧面,确定网格上相对所述侧面的"p-vertex","p- vertex"定义为网格的六个顶点中到所述侧面沿法向的"有向距离"最大的点;
[0034] 4-2、如果"p-vertex"位于光柱任一侧面的相对法向指向的另一面,则光柱跟这个 网格不相交;
[0035] 如果对于组成光柱的所有侧面上述情况不存在,则判定该光柱与这个网格是相交 的。
[0036] 针对不同形式的定日镜场,在建立网格时区别如下:
[0037] 优选的,所述定日镜沿水平面铺设时,步骤(2)中,在定日镜所述平面产生一层均 匀网格。
[0038] 针对单层的均匀网格,优选的,步骤(4)中,找到与该光柱相交的相交网格的遍历 方式如下:
[0039] 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检 测行相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围则完成判 定。
[0040] 优选的,所述定日镜沿倾斜面或者不规则平面铺设时,步骤(2)中,产生多层均匀 网格。
[0041] 针对多层的均匀网格,优选的,步骤(4)中,找到与该光柱相交的相交网格的遍历 方式如下:
[0042] 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检 测行相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围,当前层扫 描结束进入下一层进行检测直至完成所有层的检测。
[0043] 本发明提出的在均匀网格中的光柱遍历算法,有效的利用了定日镜镜场的空间连 续性以及阴影和遮挡现象产生具有局部性的特点,同时算法保持精确性,既不遗漏潜在遮 挡物也不保守,使得算法很高效。
[0044]优选的,为了将本算法移植到GPU上,本发明提出针对本算法辅助数据结构在显存 上的线性存储方案具体方法如下:
[0045] 将网格的信息作为常量缓存传给GPU,每个网格中的定日镜索引信息依网格顺序 组织成"定日镜索引"连续数组,每个网格的信息以"-Γ结尾,同时记录每个网格信息在定 日镜索引数组中的起始索引,存为另一个连续数组,记为索引起点信息数组;
[0046] 访问特定网格的信息只要先从索引起点信息数组中读取定日镜索引数组的起始 索引,再从定日镜索引数组中连续读取定日镜的索引,直到读取到"-Γ结束。
[0047] 本发明利用每一个定日镜阴影和遮挡判断的独立性的本质,将光柱遍历算法成功 移植到GPU环境中,进一步提高算法效率。
[0048] 为了方便计算,在定日镜场中加入XYZ全局坐标系,对定日镜场建立均匀网格划分 的一次性辅助数据结构。每个定日镜根据其包围盒与均匀网格的相交情况被有序的记录存 储,这个步骤针对特定的镜场只需执行一次,并且在CHJ上完成。
[0049] 将每一个定日镜上入射和反射的光柱建模为镜面沿着光柱方向平移形成的六面 体(侧面延伸到无限远),借鉴"视域锥快速剔除包围盒"算法,实现"光柱剔除均匀空间网格 算法"。
[0050] 从光柱出发的网格开始,有序的沿着XYZ轴方向测试相邻网格,优先剔除与当前光 柱不相交的网格,从而找出与光柱相交的网格。这个步骤在GPU上并行实现,每个线程负责 处理一个定日镜发射出来的光柱。
[0051] 一旦找到与光柱相交的网格,继续测试这个网格中记录的定日镜是否与光柱相 交,也是采用"视域锥剔除"的方式快速测试。这个步骤也在GPU上实现。
[0052] 为了进一步简化计算,提高效率,优选的,步骤(9)中,通过下述公式对流水线中的 定日镜及其遮挡定日镜进行深度赋值:
'为ID的定日镜的遮挡定日镜
[0053] 序号为ID的定日镜
[0054] 其中,N是定日镜场上定日镜数量,ID是定日镜的序号,0彡ID彡N-I,A彡2,0〈B彡A, 0〈C<B。进一步优选的,A = 2,B = 1,C=1。
[0055] 优选的,步骤(7)中,对应关系采用二维空间的仿射变换。这种对应可以由二维空 间的仿射变换表达。假定接收面板是W X Hm2,那么绘制缓存的分别率可以表示为pW*pH,p的 单位是(像素/米)。理论上,P越大,仿真模拟的精度越高,时间开销越大。接收器上每个接收 面板分别单独处理。
[0056] 优选的,步骤(8)中,将每一个定日镜沿其反射光线的方向将反射光斑投影到接收 面板上的具体过程如下:
[0057]根据定日镜投影的角点在接收面板上的二维坐标,推导出定日镜平面坐标到接收 面板平面坐标的单应性变换矩阵,进而建立起接收平面跟定日镜平面上点的一一对应关 系。利用Garcia L,et al.(2015)的方法就可以获得接收面板上的辐射能分布,也就是相应 的流水线绘制缓存中对应这个定日镜的辐射能分布值。
[0058]本发明可以采用HFLCAL模型对反射的辐射能光斑进行解析刻画,绘制流水线是指 计算机将三维场景转化为二维真实感图片的一系列操作,为了达到这一目的,产生了许多 算法,他们被集成到特殊的硬件上(图形显卡)。这些算法包括:光栅化、隐藏面消除算法、和 基于硬件的累加。这一系列算法的执行流程是:首先代表场景的多边形经过坐标变换转化 到屏幕坐标系并经过光栅化过程被离散成像素表示,隐藏面消除算法决定哪些物体表面或 部分相对试点可见,最后,那些可见的像素点的颜色值并行的累加到结果缓存上。
[0059] 例如在著名的图形绘制API--DirectX中,隐藏面消除和累加是通过z-buffer (深度比较算法)和alpha blending算法硬件实现的。这两个算法可以在一个绘制流程中实 现并且顺序是严格保证的。一个绘制流程中实现是指启动流水线一次就可以对所有能量光 斑进行累加。执行顺序严格保证是指只有那些通过深度比较(离视点更近的)的像素才会被 累加到结果缓存上。本发明充分挖掘这一特性,实现在一个绘制流程中完成定日镜场上所 有定日镜对接收器能量贡献的累加同时剔除阴影遮挡损失。
[0060] 本发明的有益效果:
[0061] (1)本发明方法中引入图形学中经典的均匀网格数据结构,巧妙的利用了定日镜 场上定日镜规则分布的特点,高效的组织仿真环境中的数据信息,有效提高阴影和遮挡判 定计算的准确性和效率。
[0062] (2)本发明方法利用绘制流水线的光栅化对每个定日镜在接收面上的能量光斑进 行并行刻画,同时接收面也实现自动离散,实现快速累加。
[0063] (3)本发明方法提出的在一个绘制周期中利用alpha blending技术完成福射能的 累加,相比传统图形学中为取得透明效果使用多个绘制周期进行绘制,节省了 CPU和GPU之 间的IO开销,大大提高了计算效率。
[0064] (4)本发明方法利用了深度比较和alpha blending操作的执行顺序,巧妙组织数 据流,使得在累加的同时剔除由于遮挡损失的部分能量,模拟结果更真实可靠。
【附图说明】
[0065]图1为本发明方法的流程线框图。
[0066] 图2为本发明采用全局坐标系下的定日镜及其小包围盒的示意图。
[0067] 图3为本发明采用全局坐标系下的局部定日镜场的示意图。
[0068] 图4为定日镜镜场上的定日镜分布和均匀空间划分网格的示意图。
[0069] 图5为另一种定日镜镜场上的定日镜分布和均匀空间划分网格的示意图。
[0070] 图6为定日镜入射或者反射光柱的建模示意图。
[0071 ]图7为光柱与网格求交测试算法示意图。
[0072] 图8为本发明的光柱遍历算法对于位于垂直方向上同一层的空间网格的遍历顺序 示意图。
[0073] 图9~15为本发明的光柱遍历均匀网格的过程示意图。
[0074]图16为本发明建立的空间均匀网格数据结构在GPU上线性存储的示意图。
[0075] 图17为本发明将会产生阴影的定日镜转化为能够产生同等遮挡作用的虚拟定日 镜的示意图。
[0076] 图18为本发明在全部左手系下的定日镜场的全局坐标示意图。
[0077] 图19为本发明在全部左手系下的定日镜局部坐标系示意图。
[0078]图20为本发明在全部左手系下的接收面板局部坐标系示意图。
[0079] 图21为本发明方法将接收面板映射到流水线中的绘制帧缓存窗口的过程示意图。
[0080] 图22为本发明方法将当前定日镜轮廓和其遮挡镜面沿着反射光线的方向投影到 接收平面上的过程示意图。
[0081] 图23为本发明方法采用经典的能量模型的流水线光栅化程序对光斑进行建模的 示意图。
[0082]图24为本发明方法组织流水线中的数据流顺序的示意图。
[0083]图25为本发明方法在深度比较和alpha blending执行机制下随着流水线中的数 据输出相应的深度图和绘制帧缓存(记录辐射能密度累积值)的变化过程示意图。
【具体实施方式】
[0084] 本实施例中采用左手系全局坐标系,Y轴向上。
[0085] 如图1所示,本实施例的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方 法包括以下步骤:
[0086] (1)建立整个定日镜场的轴平行的大包围盒,每个定日镜1建立一个轴平行的小包 围盒2,小包围盒2的边长等于定日镜1的长边,中心就是定日镜1的中心,这样小包围盒2就 能永久包围定日镜1,如图2所示。
[0087] (2)将大包围盒沿定日镜分布方向等距划分,产生均匀的网格3,多个定日镜分别 用H1,H2,……Hx标记,如图3~5所示;
[0088]具体的,将这个大包围盒沿着全局坐标的XZ方向等距划分,产生均匀网格3;均匀 网格的大小以及网格分界线的选择由启发式决定,标准是使得与边界相交的定日镜尽可能 少;对于像PSlO这样的处于斜坡上的场地,由于在全局坐标的Y轴方向上定日镜坐标变化浮 动较大,因此在Y方向上也要对镜场包围盒进行划分;对于辐射状分布的镜场,本实施例的 做法是将网格3的边长设置为两倍的定日镜1长边;
[0089] 遍历每个定日镜,将每个定日镜的索引存储到与该定日镜所在小包围盒相交的网 格中,使网格作为定日镜的代理;
[0090] 建立定日镜的轴平行的小包围盒的目的是为了针对特定的定日镜镜场,场景的均 匀网格辅助数据结构只需建立一次。小包围盒限定了定日镜的最大活动范围,根据这个小 包围盒与空间均匀网格的相交情况可以确定定日镜从属于哪些网格。
[0091] (3)将定日镜反射或入射的光柱建模;
[0092]具体的:如图6所示,将定日镜反射或入射的光柱4建模为镜面沿着光柱方向平移 形成的平行六面体(四棱柱),不失一般性,假定光柱的每个侧面的法向(N)指向光柱内部; 光柱剔除均匀网格算法的目标是快速检测与光柱相交的网格,采用优先排除的方式。
[0093] (4)对于每一个光柱,找到与该光柱相交的相交网格;
[0094]具体方式为:
[0095] 如图7所示,对于组成光柱的一个侧面,首先确定网格上相对这个面的"p-vertex" ; "p-vertex"定义为网格的六个顶点中到这个面沿法向的"有向距离"最大的点。如 果"p-vertex"位于平面的背面(相对法向指向的另一面),那么可以确定光柱跟这个网格不 相交;如果用光柱的所有面都不能排除这个网格,那么它们是相交的。
[0096] 遍历的总思想是从光柱产生的网格出发,沿垂直方向逐层扫描均匀网格(如果有 多层),在每一层,一行一行扫描,如图8所示;判断光柱与均匀网格是否相交,如果一个定日 镜跨越多个空间网格,那么沿着逆光柱方向的第一个网格作为第一个测试网格。
[0097] 在本实施例要解决的问题中,在垂直方向Y方向上是沿正向扫描,因为太阳和接收 器相对场地都在上方。记光柱单位方向向量为r= (rx,ry,rz)。如果I rx|彡I rz I那么扫描先沿 X轴再沿Z轴,反之先Z轴在X轴。如果rx彡0,那么沿X轴正向,反之负向,Z轴类似。如图9~15 所示,本实施例设定光柱前进方向沿X+,Z-,Y+方向,首先沿X轴正向逐个判断网格是否与光 柱相交,直到检测到不相交网格,对于当前Z沿X方向扫描结束;然后沿着-Z方向进入下一行 测试;当所有与光柱相交的网格都被不相交的网格沿x+,z-方向包围,当前层扫描结束,沿 垂直方向进入下一层。
[0098] (5)对相交网格中的定日镜与对应光柱相交判定,从而得到形成该光柱的定日镜 受到的阴影或遮挡;
[0099] 同样采用优先排除的方式,只需要判断定日镜的顶点是否位于某个光柱平面的背 面,是代表不相交,如果所有光柱平面都不能排除,那么光柱和定日镜相交。
[0100]如图16所示,GPU上均匀空间网格数据结构的存储:
[0101 ] GPU上只支持线性存储,在实现的时候,均匀网格的一些基本数据结构,比如网格 大小、网格起始坐标等打包作为常量缓存传给GPU;如图12所示,每个空间网格中的定日镜 索引信息依网格顺序组织成"定日镜索引"连续数组,每个网格的信息以"-Γ结尾(图5中的 定日镜索引数组),同时记录每个网格信息在定日镜索引数组中的起始索引(图5中的索引 起点信息数组),存为另一个连续数组,记为索引起点信息数组。这样,访问特定网格的信息 只要先从索引起点信息数组中读取定日镜索引数组的起始索引,再从定日镜索引数组中连 续读取定日镜的索引,直到读取到"-Γ结束。
[0102] 实验结果:
[0103] 经测试采用本实施例的方法对于30000个定日镜的场地判断场地上所有定日镜在 某一刻的阴影遮挡关系只需Ims左右。
[0104] (6)阴影转化为遮挡处理:
[0105] 如图17所示,将阴影定日镜(D)在考察定日镜(B)所在平面上的阴影轮廓(D')沿着 考察定日镜中心的反射光线方向平移相同的距离,得到D",则D"对B造成的遮挡效果等同于 D对B产生的阴影效果,这样子阴影和遮挡可以统一全部转化为遮挡处理。
[0106] 本实施例采用全部左手系,图18为定日镜场的全局坐标,坐标轴原点位于接收塔 塔基的中心,XYZ轴分别指向地理的东、上、北方向;图19为定日镜局部坐标系,原点在反射 平面中心;图20为接收面板局部坐标系,Pl~P4表示接收面板的编号,他们对应的接收面板 坐标系分别是Oi-SiTi,i为接收面板的编号对应的数值。
[0107] (7)绘制缓存映射:为了将流水线算法应用到本发明要解决的辐射能累加问题,首 先第一步需要建立接收面板和流水线绘制缓存的对应关系,如图21所示。这种对应可以由 二维空间的仿射变换表达。假定接收面板是WXHm 2,那么绘制缓存的分别率可以表示为pW* pH,p的单位是(像素/米)。理论上,p越大,仿真模拟的精度越高,时间开销越大。接收器上每 个接收面板分别单独处理。
[0108] (8)通过纹理映射刻画辐射能分布:
[0109] 将每一个定日镜沿着其反射光线的方向投影到接收面板上面,如图22所示。根据 定日镜投影的角点在接收面板上的二维坐标,可以推导出定日镜平面坐标到接收面板平面 坐标的单应性变换矩阵,这样就建立起接收平面跟反射镜面上点的一一对应关系。利用 Garcia L,et al. (2015)的方法就可以获得接收面板上的福射能分布,也就是相应的流水 线绘制缓存中对应这个定日镜的辐射能分布值,如图23所示。
[0110]如果定日镜存在遮挡定日镜,这些定日镜也要沿着当前定日镜的反射光线方向投 影到接收面板上。相应的投影区的能量值赋值为0。在流水线中,遮挡定日镜的投影轮廓用 与投影等大的平行四边形表示,当前定日镜镜面的反射光斑用与绘制窗口等大的矩形表 示。这些四边形分别由两个三角形组成,经过光栅化阶段之后所述三角形被离散成像素点, 将投影轮廓和反射光斑转换成像素数据流,之后离散的像素数据在流水线的像素着色阶段 被赋值。
[0111] (9)流水线中的数据流组织:
[0112] 为了实现在一个绘制周期中累加所有的能量纹理同时剔除遮挡影响,需要利用深 度比较的功能并且严格组织数据流的顺序。遮挡镜面和当前镜面所代表三角面片的深度根 据以下规则赋值:
(Π3的定日镜的遮挡定日镜
[0113] 序号为ro的定日镜
[0114] 其中N是定日镜场上定日镜数量,ID是定日镜的序号(0彡ID彡N-I)。在z-buffer算 法中,深度值越小,离视点越近,因此,遮挡定日镜永远处在被它遮挡的定日镜前面。此外, 流水线中各个定日镜数据和其遮挡物数据的顺序组织成如图24所示。
[0115] (10)遮挡剔除和辐射能纹理累加:
[0116] 遮挡剔除和福射能累加分别通过流水线中最后一阶段中的z-buffer和a Ipha blending 实现。
[0117] 首先,辅助z-buffer的深度图被赋值为最大深度值。代表能量光斑和遮挡物的逐 像素数据流依次通过深度比较和alpha lending操作。一个像素的信息只有通过深度比较 才能最终累加到绘制缓存上的相应位置。否则,它将被扔掉。通过这种方式,那些处在遮挡 区域的能量光斑像素在累加之前自动剔除。又因为遮挡物赋予的能量值为〇,所以即便他们 被累加到绘制缓存上对结果也没影响。绘制缓存和深度纹理随着数据流的输入发生的变化 如图25所示,绘制缓存保存最后的能量密度累加结果,深度纹理时刻记录离视点最近的深 度值,颜色越深代表深度值越小,离视点越近。
【主权项】
1. 一种塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其特征在于,包括 以下步骤: (1) 建立整个定日镜场的轴平行的大包围盒; (2) 将所述的大包围盒沿定日镜分布方向等距划分,产生均匀的网格; (3) 将定日镜反射或入射的光柱建模,光柱建模为镜面沿着光柱方向平移形成的平行 六面体; (4) 对于每一个光柱,找到与该光柱相交的相交网格; (5) 对相交网格中的定日镜与对应光柱相交判定,从而得到形成该光柱的定日镜受到 的阴影或遮挡; (6) 将所有形成阴影的定日镜转化为遮挡定日镜; (7) 建立接收面板和流水线绘制缓存的对应关系; (8) 将每一个定日镜沿其反射光线的方向将反射光斑投影到接收面板上,当定日镜存 在遮挡定日镜,这些遮挡定日镜也要沿着当前定日镜的反射光线方向投影到接收面板上; 在流水线中,遮挡定日镜的投影轮廓用与投影等大的平行四边形表示,当前定日镜的 反射光斑用与绘制窗口等大的矩形表示; 四边形的投影轮廓和反射光斑都分别由两个三角形组成,经过光栅化阶段之后所述三 角形被离散成像素点,将投影轮廓和反射光斑转换成像素数据流,之后离散的像素数据在 流水线的像素着色阶段被赋值; (9) 组织流水线中的定日镜及其遮挡定日镜的顺序,其中,定日镜按序号排序且遮挡定 日镜排在被它遮挡的定日镜之前; 并对流水线中的定日镜及其遮挡定日镜进行深度比较算法的深度赋值,其中,遮挡定 日镜的深度值小于被它遮挡的定日镜; (10) 反射光斑和对应遮挡定日镜的投影轮廓逐像素数据流依次通过深度比较测试,剔 除反射光斑的遮挡区域,未被剔除的反射光斑区域的像素值代表对接收面的能量贡献,在 流水线中通过alpha blending算法并行累加到累积缓存,完成接收面板上的福射能密度模 拟。2. 如权利要求1所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,在步骤(1)中,同时每个定日镜建立一个大小可以完全包围对应定日镜的轴平行 的小包围盒,在步骤(2)中,同时遍历每个定日镜,将每个定日镜的索引存储到与该定日镜 所在小包围盒相交的网格中,使网格作为定日镜的代理。3. 如权利要求1所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,步骤(3)中,光柱建模为镜面沿着光柱方向平移形成的平行六面体,假定光柱的 每个侧面的法向指向光柱内部; 步骤(4)中,确定该网格与该光柱是否相交的具体步骤如下: 4-1、对于组成光柱的一个侧面,确定网格上相对所述侧面的"p-vertex","p-vertex" 定义为网格的六个顶点中到所述侧面沿法向的"有向距离"最大的点; 4-2、如果"p-vertex"位于光柱任一侧面的相对法向指向的另一面,则光柱跟这个网格 不相交; 如果对于组成光柱的所有侧面上述情况不存在,则判定该光柱与这个网格是相交的。4. 如权利要求1所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,所述定日镜沿水平面铺设时,步骤(2)中,在定日镜所述平面产生一层均匀网格。5. 如权利要求4所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,步骤(4)中,找到与该光柱相交的相交网格的遍历方式如下: 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检测行 相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围则完成判定。6. 如权利要求1所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,所述定日镜沿倾斜面或者不规则平面铺设时,步骤(2)中,产生多层均匀网格。7. 如权利要求6所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,步骤(4)中,找到与该光柱相交的相交网格的遍历方式如下: 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检测行 相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围,当前层扫描结 束进入下一层进行检测直至完成所有层的检测。8. 如权利要求1所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,步骤(9)中,通过下述公式对流水线中的定日镜及其遮挡定日镜进行深度赋值:其中,N是定日镜场上定日镜数量,ID是定日镜的序号,0彡ID彡N-1,A彡2,0〈B彡A,0〈C ^B〇9. 如权利要求1所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,步骤(7)中,对应关系采用二维空间的仿射变换。10. 如权利要求1所述的塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法,其 特征在于,步骤(8)中,将每一个定日镜沿其反射光线的方向将反射光斑投影到接收面板上 的具体过程如下: 根据定日镜投影的角点在接收面板上的二维坐标,推导出定日镜平面坐标到接收面板 平面坐标的单应性变换矩阵,进而建立起接收平面跟定日镜平面上点的一一对应关系。
【文档编号】G06T1/20GK106056670SQ201610375502
【公开日】2016年10月26日
【申请日】2016年5月30日
【发明人】赵豫红, 冯结青, 何才透
【申请人】浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1