一种基于辅助树的多层快速多极子并行网格细剖方法技术

技术编号:21432694 阅读:26 留言:0更新日期:2019-06-22 12:04
本发明专利技术公开了一种基于辅助树的多层快速多极子并行网格细剖方法,本发明专利技术基于粗网格三角形单元中心构建辅助树,对此辅助树采取与计算所用多极子树结构相同的离散模式、进程数进行分层离散,并根据按盒子并行首层的离散模式,经遍历到最细层建立三角形单元与计算所用进程间的分布映射,对三角形单元、边、顶点编号重排形成分区连续的粗网格文件;其次,并行读取粗网格文件,各进程上对粗网格进行均匀一致性细剖,并对新生成的边、点、三角形重编号形成完整细网格信息,本发明专利技术方法可最大限度的保持数据的本地性,缩减通信数据量,因此具有很高的并行效率。

【技术实现步骤摘要】
一种基于辅助树的多层快速多极子并行网格细剖方法
本专利技术属于计算电磁计算研究领域,具体涉及一种基于辅助树的多层快速多极子并行网格细剖方法。
技术介绍
矩量法是计算电磁学中的一种精确算法,求解的是积分方程。因自动满足辐射边界条件,尤其适用于求解开域问题,如散射和辐射问题。矩量法最终矩阵方程的迭代求解可以采用多层快速多极子技术加速。多层快速多极子技术将目标划分为多层的盒子,以分组分层的方式,通过聚集、转移、发散实现矩阵矢量乘。借助于高效的并行计算技术,可以将矩量法的计算规模扩展到上百亿未知量、上万波长。在面积分方程问题的多层快速多极子技术求解过程中,首先对整个目标的外表面使用三角形单元进行离散,此过程称为网格剖分。为便于计算,对三角形网格剖分信息通常使用以下数组进行存储:(1)顶点坐标数组xyz(3,maxnode),maxnode是剖分产生的总顶点数。每个顶点采用3个实数型元素存储xyz坐标。按照单精度4个字节存储,则存储所需总字节数为12×maxnode。(2)三角形单元局部编号与全局编号对应数组ipat(3,maxpatch),maxpatch是剖分产生的三角形单元总数。每个三角形含3个整形元素存储编号值。按照长整型存储,则存储所需总字节数为24×maxpatch。(3)棱边的编号与顶点和三角形对应关系iedge(4,maxedge),maxedge是剖分产生的总边数。每条边4个整型元素存储。按照长整型存储,则存储所需总字节数为32×maxedge。(4)棱边的中点坐标,用于辅助构建多层快速多极子树结构middlenode(3,maxedge),每条边三个实数型元素存储。按照单精度4个字节存储,则存储所需总字节数为12×maxedge。当计算目标电尺寸很大,则离散未知量(三角形棱边数目)规模很大,比如百亿规模时,基于矩量法的网格生成将变得非常困难。这主要有以下原因:(1)生成困难。按照以上几何信息存储方式估计,即便是采用二进制存储,最终生成的几何文件大小总量也将接近1TB。考虑中间变量数组,单只网格生成所需的内存就接近甚至超过1TB,无论是硬件资源还是计算时间上考虑,串行程序都难以实现。(2)读取困难。网格文件生成后,近TB甚至TB以上量级大文件的读取也将成为并行程序瓶颈,采取单一进程连续读取,网络发送到其他进程的方式效率极低。多极子并行时离散是以多极子树结构为对象进行的,初始剖分网格连续的边编号与按照多极子树结构重排序的边编号顺序不同。在多极子最细层以盒子为单位的近相互作用矩阵填充和聚集、发散矩阵填充时,各进程以多层快速多极子重排后的边编号为偏移量进行几何文件读取,文件指针的偏移数组有序,但不连续。不连续的文件指针偏移将带来磁盘磁头的跳动读取,而在现有的硬盘架构下,此种文件读取方式的读取速度将远慢于一整块等量数据读取。即便是采用并行读取,当进程规模高达数千甚至上万,因硬盘磁头数量限制,读取受限。当大量文件读取工作同时进行,特别是在高性能集群上用户众多,其他用户同时进行文件读取的情况下,几何文件读取极慢。(3)高效并行困难。多层快速多极子技术中,为保证计算精度,通常需要保持三角形的平均边长在十分之一波长甚至更小,此种剖分尺度可称为计算离散尺度。此外,还需对目标几何外形精确模拟,此种剖分尺度可称为几何模拟尺度。一般计算中设置几何模拟尺度与计算离散尺度为相同值。然而对于实际目标,几何模拟尺度可远大于计算离散尺度而保持良好的几何外形模拟精度。这为生成初始粗网格,进而通过并行细剖生成满足计算要求的大规模细网格的方法实施成功奠定了基础。受多极子中棱边需重排这一操作的限制,网格细剖实施无法采用一般的基于目标几何形状图划分(metis)的分解模式,否则不合理的初始网格离散,将导致大量的通信。极端情况下,进程上离散的网格需要进行彻底的重分配。综上,大规模网格的生成、读取已经成为并行多层快速多极子程序的瓶颈,迫切需要开发新的技术来实现网格的高效并行生成。
技术实现思路
有鉴于此,本专利技术提供了一种基于辅助树的多层快速多极子并行网格细剖方法,能够实现大规模网格高效地生成和读取。实现本专利技术的技术方案如下:一种基于辅助树的多层快速多极子并行网格细剖方法,包括以下步骤:步骤一、将复杂结构目标剖分为三角形网格,根据三角形网格的顶点编号和顶点坐标计算三角形中心坐标,基于三角形中心,按照多层快速多极子盒子划分原则,生成网格的辅助树结构;步骤二、根据预设的并行方案和MPI进程数,对网格进行负载分配,确定归属于各进程上的三角形网格编号;步骤三、对分配后的三角形网格编号、顶点编号和棱边编号进行重排序,并输出对应的存储文件;步骤四、并行读取上述步骤三得到的存储文件,对三角形网格进行预设次数的细剖,并对新生成的棱边、顶点和三角形网格重排序,形成完整的细网格信息。进一步地,步骤三中,对三角形网格编号、顶点编号和棱边编号进行重排序具体为:三角形网格编号:首先对离散到进程上不连续的三角形单元编号按照原编号大小顺序压缩重排为自1开始的连续编号,之后按照进程增序连续编号;顶点编号:先将所有进程内的顶点编号,然后将公共顶点按顺序重新编号;棱边编号:对进程内的棱边按原编号压缩重排后按照进程增序编号,然后对所有公共边压缩重排后编号,公共边编号的起始位置在所有进程内边编号之后。进一步地,步骤四中,细剖的剖分尺度m与次数按如下方式确定:m≤m0×2n其中,n是预设的细剖次数,m0是最终需要达到的平均剖分边长,一般设置为十分之一波长。进一步地,步骤四中,对新生成的棱边、顶点和三角形网格重排序,具体为:三角形网格编号和顶点编号采用所有进程的全局编号;顶点编号的原有顶点编号值不变,新产生的顶点按照从属边编号压缩后局部顺序重新编号。有益效果:(1)本专利技术以粗网格三角形中心坐标构建辅助树,以与计算多极子树相同的离散模式对辅助树进行离散,进而确定粗网格单元的离散模式。此种离散方式可保证形成的网格数据文件按进程连续分块,提高文件并行读取效率,更为重要的是,能很好的预估细剖后多极子树的离散模式,从而最大程度的保证细剖后多极子各矩阵填充所需网格信息的本地性,减少进程间数据重分配带来的额外通信。(2)本专利技术粗网格离散到进程后,通过合理设置单元、边、顶点的编号规则,保证后续细剖过程中各进程间完全独立进行,无需通信,因此具有非常高的并行效率,生成网格耗时几乎可忽略,具有高效性。(3)网格并行细剖过程中的中间数组在网格细剖操作完成后完全释放,且这些中间数组存储所需内存在何种情况下都远小于后续计算过程的峰值内存,因此不会导致整个并行程序内存需求的增加。附图说明图1粗网格构建的辅助树离散到进程示意图。图2粗网格几何信息重编号规则示意图。图3三角形单元内顶点与边编号对应关系。图4不同粗网格几何文件并行读取示意图。图5细剖后顶点、棱边、三角形单元编号规则示意图;其中,(a)为细剖后生成三角形单元编号规则示意图,(b)为细剖后生成棱边编号规则示意图,(c)为细剖后生成顶点编号规则示意图。图6细剖后新生顶点坐标计算方法示意图。图7边信息数组iedge组成示意图。图8进程间通信完善iedge数组信息示意图。图9舰船模型几何结构示意图。图10直径2400波长的金属球目标矩阵填充过程中,本地几何信本文档来自技高网
...

【技术保护点】
1.一种基于辅助树的多层快速多极子并行网格细剖方法,其特征在于,包括以下步骤:步骤一、将复杂结构目标剖分为三角形网格,根据三角形网格的顶点编号和顶点坐标计算三角形中心坐标,基于三角形中心,按照多层快速多极子盒子划分原则,生成网格的辅助树结构;步骤二、根据预设的并行方案和MPI进程数,对网格进行负载分配,确定归属于各进程上的三角形网格编号;步骤三、对分配后的三角形网格编号、顶点编号和棱边编号进行重排序,并输出对应的存储文件;步骤四、并行读取上述步骤三得到的存储文件,对三角形网格进行预设次数的细剖,并对新生成的棱边、顶点和三角形网格重排序,形成完整的细网格信息。

【技术特征摘要】
1.一种基于辅助树的多层快速多极子并行网格细剖方法,其特征在于,包括以下步骤:步骤一、将复杂结构目标剖分为三角形网格,根据三角形网格的顶点编号和顶点坐标计算三角形中心坐标,基于三角形中心,按照多层快速多极子盒子划分原则,生成网格的辅助树结构;步骤二、根据预设的并行方案和MPI进程数,对网格进行负载分配,确定归属于各进程上的三角形网格编号;步骤三、对分配后的三角形网格编号、顶点编号和棱边编号进行重排序,并输出对应的存储文件;步骤四、并行读取上述步骤三得到的存储文件,对三角形网格进行预设次数的细剖,并对新生成的棱边、顶点和三角形网格重排序,形成完整的细网格信息。2.如权利要求1所述的一种基于辅助树的多层快速多极子并行网格细剖方法,其特征在于,步骤三中,对三角形网格编号、顶点编号和棱边编号进行重排序具体为:三角形网格编号:首先对离散到进程上不连续的三角形单元编号按...

【专利技术属性】
技术研发人员:杨明林吴比翼肖光亮郭琨毅盛新庆
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1