塔式太阳能热发电系统中阴影和遮挡的快速判定方法
【专利摘要】本发明公开了一种塔式太阳能热发电系统中阴影和遮挡的快速判定方法,包括以下步骤:(1)建立整个定日镜场的轴平行的大包围盒;(2)将所述的大包围盒沿定日镜分布方向等距划分,产生均匀的网格;(3)将定日镜反射或入射的光柱建模;(4)对于每一个光柱,找到与该光柱相交的相交网格;(5)对相交网格中的定日镜与对应光柱相交判定,从而得到形成该光柱的定日镜受到的阴影或遮挡。本发明的判定方法中引入图形学中经典的均匀网格数据结构,巧妙的利用了定日镜场上定日镜规则分布的特点,高效的组织仿真环境中的数据信息,有效提高计算的准确性和效率。
【专利说明】
塔式太阳能热发电系统中阴影和廬挡的快速判定方法
技术领域
[0001] 本发明设及塔式太阳能热发电系统模拟技术领域,特别设及一种塔式太阳能热发 电系统中阴影和遮挡的快速判定方法。
【背景技术】
[0002] 塔式太阳能热发电系统定日镜场上经常存在两种影响发电效率的现象:阴影和遮 挡。阴影是指相邻定日镜对本应入射到指定定日镜上的太阳光能的阻挡,遮挡指考察定日 镜反射光柱的部分能量由于相邻定日镜的影响没办法到达接收器。为了提高发电效率,运 两种现象都需要快速甄别并尽量避免。然而,对于一个大型的定日镜场,要判定定日镜之间 的阴影和遮挡关系,计算量巨大,影响仿真效率。因此,在太阳能仿真领域,一些简单的加速 处理方法被提出。
[0003] Belhomme B等人(2009)(Belhomme B,Pitz-Paal R,SchwarzbSzlP,et al.A new fast ray tracing tool for high-precision simulation of heliostat fields[J] .Journal of Solar Ene;rgy !Engineering,2009,131(3) :031002.)采用了层次化的空间数 据结构组织每一个定日镜W及定日镜镜片来加速阴影和遮挡关系的判定;Izigon M等人 (2011)(Izigon M,Armshong P,Nilsson C and Vu N,TieSOl^-A GPU-Based Suite of Software for Central Receiver Solar Power Plants ,SolarPACES Granada, Spain, 2011.)提出对每一个定日镜保留两个固定长度的列表来存储与之相邻的潜在阴影和遮挡 定日镜,然而,运种估计并不准确,尤其是当早上和傍晚太阳高度角很小的时候,潜在阴影 遮挡的定日镜数量往往超过列表的预设长度。Besarati S等人(2014) (Besarati ,S.M., Goswami,D.Y.,feStefanakos,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,2:34-243.)提出对于考察定日镜的周围定 日镜,阴影遮挡关系只测试相对该定日镜分别与太阳或接受器处于同一侧的其他定日镜。 显然运是一种保守的做法,增加了很多实际上不会产生阴影遮挡影响的定日镜,增加计算 量。
[0004] 另外,从计算机图形学的角度,阴影和遮挡现象可W看作经典的隐藏面消除问题, 很多成熟的算法可W拿来借鉴,比如层次z-buffer算法(Greene N,Kass !,Miller G. Hierarchical Z-buffer visibiIity[C]//Proceedings of the20th 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)和均匀划分网格化ujimoto A,Tanaka T, Iwata K.ARTS:Accelerated Ra}f- Tracing System[J]. IEEE Computer GraphicsMpplications,1986,6(4):16-26.)。
[0005] 上述中的前者是一种自上而下的方式,适用于物体不规律分布的场景。相反后者 更适合均匀分布的场景,在此基础上的光线遍历3D-孤A算法(Amanatides J,Woo A.A fast voxel traversal algorithm for ray tracing[C]//Eurographics.1987,87(3):10.)會長 高效的找到与光线碰撞的物体。考虑到定日镜场上定日镜的规则分布,均匀划分网格数据 结构是首选。但是传统的3D-孤A算法针对的是光线,对于像定日镜反射的光柱遍历均匀网 格的问题至今没有一个高效的算法。
【发明内容】
[0006] 本发明提供了一种塔式太阳能热发电系统中阴影和遮挡的快速判定方法,能够快 速精确地甄别所有定日镜的潜在阴影和遮挡对象。
[0007] -种塔式太阳能热发电系统中阴影和遮挡的快速判定方法,包括W下步骤:
[0008] (1)建立整个定日镜场的轴平行的大包围盒;
[0009] (2)将所述的大包围盒沿定日镜分布方向等距划分,产生均匀的网格;
[0010] (3)将定日镜反射或入射的光柱建模;
[0011] (4)对于每一个光柱,找到与该光柱相交的相交网格;
[0012] (5)对相交网格中的定日镜与对应光柱相交判定,从而得到形成该光柱的定日镜 受到的阴影或遮挡。
[0013] 阴影是指相邻定日镜对本应入射到指定定日镜上的太阳光能所形成的光柱的阻 挡,遮挡指指定定日镜反射的光柱的由于相邻定日镜的影响没办法到达接收器。
[0014] 为了进一步提高计算效率,优选的,在步骤(1)中,同时每个定日镜建立一个大小 可W完全包围对应定日镜的轴平行的小包围盒,在步骤(2)中,同时遍历每个定日镜,将每 个定日镜的索引存储到与该定日镜所在小包围盒相交的网格中,使网格作为定日镜的代 理。建立定日镜的轴平行的小包围盒的目的是为了针对特定的定日镜镜场,场景的均匀网 格辅助数据结构只需建立一次,小包围盒限定了定日镜的最大活动范围,根据运个轴平行 包围盒与均匀网格的相交情况可W确定定日镜从属于哪些网格。当然,运个轴平行包围盒 不是必需的,根据定日镜顶点实时判定其属于哪些均匀网格也可行,不过运样的话辅助数 据结构需要实时更新,计算量会增加。
[0015] 为了兼顾效率和精度,优选的,定日镜的长边为曰,网格的边长为b,步骤(2)中,b:a =1.5~2.5。进一步优选的,b: a = 2。
[0016] 为了快速判断光柱是否与网格相交,优选的,步骤(3)中,光柱建模为镜面沿着光 柱方向平移形成的n棱柱,n > 3,假定光柱的每个侧面的法向指向光柱内部;
[0017] 步骤(4)中,确定该网格与该光柱是否相交的具体步骤如下:
[0018] 4-1、对于组成光柱的一个侧面,确定网格上相对所述侧面的"p-vertex",Up- vertex" 定义为网格的八个顶点中到所述侧面沿法向的 "有向距离 "最大的点;
[0019] 4-2、如果Vvedex"位于光柱任一侦晒的相对法向指向的另一面,则光柱跟运个 网格不相交;
[0020] 如果对于组成光柱所有侧面上述情况不存在,则判定该光柱与运个网格是相交 的。
[0021] n越大,光柱的侧面越多,计算量越大,一般情况下定日镜反射面是矩形,n = 4,才 有平行六面体(四棱柱)模拟光柱,计算量小且可W有效检测到阴影和遮挡。
[0022] 针对不同形式的定日镜场,在建立网格时区别如下:
[0023] 优选的,所述定日镜沿水平面铺设时,步骤(2)中,在定日镜所述平面产生一层均 匀网格。
[0024] 针对单层的均匀网格,优选的,步骤(4)中,找到与该光柱相交的相交网格的遍历 方式如下:
[0025] 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检 测行相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围则完成判 定。
[0026] 优选的,所述定日镜沿倾斜面或者不规则平面铺设时,步骤(2)中,产生多层均匀 网格。
[0027] 针对多层的均匀网格,优选的,步骤(4)中,找到与该光柱相交的相交网格的遍历 方式如下:
[0028] 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检 测行相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围,当前层扫 描结束进入下一层进行检测直至完成所有层的检测。
[0029] 本发明提出的在均匀网格中的光柱遍历算法,有效的利用了定日镜镜场的空间连 续性W及阴影和遮挡现象产生具有局部性的特点,同时算法保持精确性,既不遗漏潜在遮 挡物也不保守,使得算法很高效。
[0030] 优选的,为了将本算法移植到GPU上,本发明提出针对本算法辅助数据结构在显存 上的线性存储方案具体方法如下:
[0031] 将网格的信息作为常量缓存传给GPU,每个网格中的定日镜索引信息依网格顺序 组织成"定日镜索引"连续数组,每个网格的信息W "-r结尾,同时记录每个网格信息在定 日镜索引数组中的起始索引,存为另一个连续数组,记为索引起点信息数组;
[0032] 访问特定网格的信息只要先从索引起点信息数组中读取定日镜索引数组的起始 索引,再从定日镜索引数组中连续读取定日镜的索引,直到读取到"-r结束。
[0033] 本发明利用每一个定日镜阴影和遮挡判断的独立性的本质,将光柱遍历算法成功 移植到GPU环境中,进一步提高算法效率。
[0034] 为了方便计算,在定日镜场中加入XYZ全局坐标系,对定日镜场建立均匀网格划分 的一次性辅助数据结构。每个定日镜根据其包围盒与均匀网格的相交情况被有序的记录存 储,运个步骤针对特定的镜场只需执行一次,并且在CPU上完成。
[0035] 将每一个定日镜上入射和反射的光柱建模为镜面沿着光柱方向平移形成的六面 体(侦晒延伸到无限远),借鉴"视域锥快速剔除包围盒"算法,实现"光柱剔除均匀空间网格 算法'。
[0036] 从光柱出发的网格开始,有序的沿着XYZ轴方向测试相邻网格,优先剔除与当前光 柱不相交的网格,从而找出与光柱相交的网格。运个步骤在GPU上并行实现,每个线程负责 处理一个定日镜发射出来的光柱。
[0037] -旦找到与光柱相交的网格,继续测试运个网格中记录的定日镜是否与光柱相 交,也是采用"视域锥剔除"的方式快速测试。运个步骤也在GPU上实现。
[0038] 本发明的有益效果:
[0039] 本发明的判定方法中引入图形学中经典的均匀网格数据结构,巧妙的利用了定日 镜场上定日镜规则分布的特点,高效的组织仿真环境中的数据信息,有效提高计算的准确 性和效率。
【附图说明】
[0040] 图1为本发明的塔式太阳能热发电系统中阴影和遮挡的快速判定方法的流程线框 图。
[0041] 图2为本发明采用全局坐标系下的定日镜及其小包围盒的示意图。
[0042] 图3为本发明采用全局坐标系下的局部定日镜场的示意图。
[0043] 图4为定日镜镜场上的定日镜分布和均匀空间划分网格的示意图。
[0044] 图5为另一种定日镜镜场上的定日镜分布和均匀空间划分网格的示意图。
[0045] 图6为定日镜入射或者反射光柱的建模示意图。
[0046] 图7为光柱与网格求交测试算法示意图。
[0047] 图8为本发明的光柱遍历算法对于位于垂直方向上同一层的空间网格的遍历顺序 示意图。
[0048] 图9~15为本发明的光柱遍历均匀网格的过程示意图。
[0049] 图16为本发明建立的空间均匀网格数据结构在GPU上线性存储的示意图。
【具体实施方式】
[0化0] 本实施例中采用左手系全局坐标系,Y轴向上。
[0051] 如图1所示,本实施例的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,包 括W下步骤:
[0052] (1)建立整个定日镜场的轴平行的大包围盒,每个定日镜1建立一个轴平行的小包 围盒2,小包围盒2的边长等于定日镜1的长边,中屯、就是定日镜1的中屯、,运样小包围盒2就 能永久包围定日镜1,如图2所示。
[0053] (2)将大包围盒沿定日镜分布方向等距划分,产生均匀的网格3,多个定日镜分别 用化,肥,......化标记,如图3~5所示;
[0054] 具体的,将运个大包围盒沿着全局坐标的XZ方向等距划分,产生均匀网格3;均匀 网格的大小W及网格分界线的选择由启发式决定,标准是使得与边界相交的定日镜尽可能 少;对于像PSlO运样的处于斜坡上的场地,由于在全局坐标的Y轴方向上定日镜坐标变化浮 动较大,因此在Y方向上也要对镜场包围盒进行划分;对于福射状分布的镜场,本实施例的 做法是将网格3的边长设置为两倍的定日镜1长边;
[0055] 遍历每个定日镜,将每个定日镜的索引存储到与该定日镜所在小包围盒相交的网 格中,使网格作为定日镜的代理;
[0056] 建立定日镜的轴平行的小包围盒的目的是为了针对特定的定日镜镜场,场景的均 匀网格辅助数据结构只需建立一次。小包围盒限定了定日镜的最大活动范围,根据运个小 包围盒与空间均匀网格的相交情况可W确定定日镜从属于哪些网格。
[0057] (3)将定日镜反射或入射的光柱建模;
[0058] 具体的:如图6所示,将定日镜反射或入射的光柱4建模为镜面沿着光柱方向平移 形成的平行六面体(四棱柱),不失一般性,假定光柱的每个侧面的法向(N)指向光柱内部; 光柱剔除均匀网格算法的目标是快速检测与光柱相交的网格,采用优先排除的方式。
[0059] (4)对于每一个光柱,找到与该光柱相交的相交网格;
[0060] 具体方式为:
[0061] 如图7所示,对于组成光柱的一个侧面,首先确定网格上相对运个面的Up- vertex" ; "p-vertex" 定义为网格的六个顶点 中到运个面沿法向的 "有 向距离 "最大的点 。如 果"p-vertex"位于平面的背面(相对法向指向的另一面),那么可W确定光柱跟运个网格不 相交;如果用光柱的所有面都不能排除运个网格,那么它们是相交的。
[0062] 遍历的总思想是从光柱产生的网格出发,沿垂直方向逐层扫描均匀网格(如果有 多层),在每一层,一行一行扫描,如图8所示;判断光柱与均匀网格是否相交,如果一个定日 镜跨越多个空间网格,那么沿着逆光柱方向的第一个网格作为第一个测试网格。
[0063] 在本实施例要解决的问题中,在垂直方向Y方向上是沿正向扫描,因为太阳和接收 器相对场地都在上方。记光柱单位方向向量为r= (rx,ry,rz)。如果I rxl > I。I那么扫描先沿 X轴再沿Z轴,反之先Z轴在X轴。如果那么沿X轴正向,反之负向,Z轴类似。如图9~15 所示,本实施例设定光柱前进方向沿X+,Z-,Y+方向,首先沿X轴正向逐个判断网格是否与光 柱相交,直到检测到不相交网格,对于当前Z沿X方向扫描结束;然后沿着-Z方向进入下一行 测试;当所有与光柱相交的网格都被不相交的网格沿X+,Z-方向包围,当前层扫描结束,沿 垂直方向进入下一层。
[0064] (5)对相交网格中的定日镜与对应光柱相交判定,从而得到形成该光柱的定日镜 受到的阴影或遮挡;
[0065] 同样采用优先排除的方式,只需要判断定日镜的顶点是否位于某个光柱平面的背 面,是代表不相交,如果所有光柱平面都不能排除,那么光柱和定日镜相交。
[0066] 如图16所示,GPU上均匀空间网格数据结构的存储:
[0067] GPU上只支持线性存储,在实现的时候,均匀网格的一些基本数据结构,比如网格 大小、网格起始坐标等打包作为常量缓存传给GPU;如图12所示,每个空间网格中的定日镜 索引信息依网格顺序组织成"定日镜索引"连续数组,每个网格的信息W "-r结尾(图5中的 定日镜索引数组),同时记录每个网格信息在定日镜索引数组中的起始索引 (图5中的索引 起点信息数组),存为另一个连续数组,记为索引起点信息数组。运样,访问特定网格的信息 只要先从索引起点信息数组中读取定日镜索引数组的起始索引,再从定日镜索引数组中连 续读取定日镜的索引,直到读取到"-r结束。
[0068] 实验结果:
[0069] 经测试采用本实施例的方法对于30000个定日镜的场地判断场地上所有定日镜在 某一刻的阴影遮挡关系只需Ims左右。
[0070] 综上所述,本实施例引入图形学中经典的均匀网格数据结构,巧妙的利用了定日 镜场上定日镜规则分布的特点,高效的组织仿真环境中的数据信息;提出的在均匀网格中 的光柱遍历算法,有效的利用了定日镜镜场的空间连续性W及阴影和遮挡现象产生具有局 部性的特点,同时算法保持精确性,既不遗漏潜在遮挡物也不保守,使得算法很高效;利用 每一个定日镜阴影和遮挡判断的独立性的本质,将光柱遍历算法成功移植到GPU环境中,进 一步提高算法效率。
【主权项】
1. 一种塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征在于,包括以下 步骤: (1) 建立整个定日镜场的轴平行的大包围盒; (2) 将所述的大包围盒沿定日镜分布方向等距划分,产生均匀的网格; (3) 将定日镜反射或入射的光柱建模; (4) 对于每一个光柱,找到与该光柱相交的相交网格; (5) 对相交网格中的定日镜与对应光柱相交判定,从而得到形成该光柱的定日镜受到 的阴影或遮挡。2. 如权利要求1所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,在步骤(1)中,同时每个定日镜建立一个大小可以完全包围对应定日镜的轴平行的小 包围盒,在步骤⑵中,同时遍历每个定日镜,将每个定日镜的索引存储到与该定日镜所在 小包围盒相交的网格中,使网格作为定日镜的代理。3. 如权利要求1所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,定日镜的长边为a,网格的边长为b,步骤(2)中,b :a = 1.5~2.5。4. 如权利要求1所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,步骤(3)中,光柱建模为镜面沿着光柱方向平移形成的η棱柱,3,假定光柱的每个 侧面的法向指向光柱内部; 步骤(4)中,确定该网格与该光柱是否相交的具体步骤如下: 4-1、对于组成光柱的一个侧面,确定网格上相对所述侧面的"p-vertex","p-vertex" 定义为网格的六个顶点中到所述侧面沿法向的"有向距离"最大的点; 4-2、如果"p-vertex"位于光柱任一侧面的相对法向指向的另一面,则光柱跟这个网格 不相交; 如果对于组成光柱的所有侧面上述情况不存在,则判定该光柱与这个网格是相交的。5. 如权利要求1所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,所述定日镜沿水平面铺设时,步骤(2)中,在定日镜所述平面产生一层均匀网格。6. 如权利要求5所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,步骤(4)中,找到与该光柱相交的相交网格的遍历方式如下: 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检测行 相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围则完成判定。7. 如权利要求1所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,所述定日镜沿倾斜面或者不规则平面铺设时,步骤(2)中,产生多层均匀网格。8. 如权利要求7所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,步骤(4)中,找到与该光柱相交的相交网格的遍历方式如下: 沿任一方向逐个判断网格是否与光柱相交,直到检测到不相交网格,进入与刚检测行 相邻的下一行进行判定,当所有与光柱相交的网格都被不相交的网格包围,当前层扫描结 束进入下一层进行检测直至完成所有层的检测。9. 如权利要求1所述的塔式太阳能热发电系统中阴影和遮挡的快速判定方法,其特征 在于,本方法采用GPU对网格数据结构进行存储,具体方法如下: 将网格的信息作为常量缓存传给GPU,每个网格中的定日镜索引信息依网格顺序组织 成"定日镜索引"连续数组,每个网格的信息以"-Γ结尾,同时记录每个网格信息在定日镜 索引数组中的起始索引,存为另一个连续数组,记为索引起点信息数组; 访问特定网格的信息只要先从索引起点信息数组中读取定日镜索引数组的起始索引, 再从定日镜索引数组中连续读取定日镜的索引,直到读取到"-Γ结束。
【文档编号】G06Q50/06GK105956331SQ201610374655
【公开日】2016年9月21日
【申请日】2016年5月30日
【发明人】赵豫红, 冯结青, 何才透
【申请人】浙江大学