电大物体电磁辐射和散射的计算机核外并行计算方法转让专利

申请号 : CN201010133462.2

文献号 : CN101794355B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高军曹祥玉徐晓飞刘涛

申请人 : 中国人民解放军空军工程大学

摘要 :

本发明提出了一种电大物体电磁辐射和散射的核外并行计算方法,采用硬盘存储器代替内存储器分块并行存储阻抗矩阵;在MPI并行环境下,对矩阵方程进行核外分块并行求解,不但解决了内存不足的问题,而且最大限度地利用了各计算节点的物理内存、快速地完成对问题的求解;该方法在单台或多台计算机可快速计算电大尺寸目标的电磁辐射和散射特性;实现了利用硬盘代替内存的目的,解决了由于计算量大导致内存不足的问题;本发明方法计算结果与通常采用的核内并行计算方法计算结果完全吻合,没有损失任何计算精度。

权利要求 :

1.一种电大物体电磁辐射和散射的核外并行计算方法,基于电磁场数值方法中的矩量法进行计算,其特征在于,包括以下基本步骤:(1)根据物体表面上切向电场连续条件和理想导体边界条件,得到电场积分方程;

(2)对物体表面采用三角形剖分,物体表面未知电流采用RWG基函数展开;对于平台天线,线上未知电流采用脉冲基函数展开,线面连接区域未知电流采用Costa基函数展开;

(3)采用伽略金法,得到矩阵方程:ZI=V,其中Z、I、V分别为阻抗矩阵、电流矩阵和电压矩阵,采用硬盘存储器分块并行存储阻抗矩阵Z;采用硬盘存储器分块并行存储阻抗矩阵Z是指,存储阻抗矩阵Z的元素数据时,将矩阵按列进行分块,各块数据按列分配给各进程,各进程数据分别写入一个文件;文件的空间分区成同样大小的模块,模块自动按顺序编号,读写文件时,先赋值文件读写位置,再进行读写;

(4)采用核外分块并行高斯消元法求解矩阵方程ZI=V,得到物体表面电流;采用核外分块并行高斯消元法求解矩阵方程ZI=V是指,在对矩阵方程进行ZI=V求解前,先将整个阻抗矩阵按列分块,然后将每一块按列循环方式分配给各进程,将阻抗矩阵第一块元素并行读入内存存储到数组Z(j,k)中,然后各进程进行并行高斯消元,并将各列所需的最大主元行数和乘积因子分别存储到数组Max_row(k)和Each_k(j,k)中,第一块消元结束后将元素并行写入硬盘;然后再对下一分块重复以上操作,直到最后一块处理完毕;

(5)由物体表面电流,计算出物体的电磁辐射、散射方向图。

说明书 :

电大物体电磁辐射和散射的计算机核外并行计算方法

技术领域:

[0001] 本发明涉及电磁学技术领域,特别是一种电大物体电磁辐射和散射的计算机核外并行计算方法。现有技术:
[0002] 矩量法是数值计算积分方程的有效方法,特别适合散射和辐射问题的求解。然而对于电大物体电磁辐射和散射的计算,由于计算未知量的增多,需要处理大规模稠密矩阵,需要耗费大量计算机物理内存。由于物理内存价格比较昂贵,且单机对内存支持的限制,使某些电大问题在单台计算机上无法求解,所以采用低廉的硬盘代替内存存储数据是个不错的选择。
[0003] 目前对电大物体电磁辐射和散射的计算,采用高、低频方法相结合的混合方法,减少了求解问题的未知量,但一致性几何绕射理论,其精度较低。利用多层快速多极子(MLFMA)加速迭代求解过程中的矩阵矢量相乘计算,MLFMA的运用,将计算量和存储量均降为O(N log N)(其中N未知量个数),提高了求解实际电大问题的能力。在工作站网络系统NOW(Network OfWorkstation)上采用并行处理技术来解决电大尺寸复杂目标电磁散射问题。为分析安装于诸如飞机、舰艇复杂目标上天线的电磁特性,设计了一种高效的适用于共轭梯度方法求解的棋盘状并行矩阵填充方法。
[0004] 以上计算方法,或者通过改进算法来减少计算未知量,但降低了计算精度;或者通过并行计算来扩充内存,但都是基于物理内存的核内求解方法,计算机物理内存仍然有限,仍然无法满足某些问题需要。发明内容:
[0005] 本发明提出了一种电大物体电磁辐射和散射的核外并行计算方法,在MPI并行环境下,对矩阵方程进行核外分块并行求解,不但解决了内存不足的问题,而且最大限度地利用了各计算节点的物理内存、快速地完成对问题的求解。该方法在单台或多台计算机可快速计算电大尺寸目标的电磁辐射和散射特性。
[0006] 一种电大物体电磁辐射和散射的核外并行计算方法,基于电磁场数值方法中的矩量法进行计算,包括以下基本步骤:
[0007] (1)根据物体表面上切向电场连续条件和理想导体边界条件,得到电场积分方程;
[0008] (2)对物体表面采用三角形剖分,物体表面未知电流采用RWG基函数展开;
[0009] (3)采用伽略金法,得到矩阵方程:ZI=V,其中Z、I、V分别为阻抗矩阵、电流矩阵和电压矩阵,采用硬盘存储器分块并行存储阻抗矩阵Z;
[0010] (4)采用核外分块并行高斯消元法求解矩阵方程ZI=V,得到物体表面电流;
[0011] (5)由物体表面电流,计算出物体的电磁辐射、散射方向图。
[0012] 本发明进一步的技术方案是,步骤(3)中采用硬盘存储器分块并行存储阻抗矩阵Z是指,存储阻抗矩阵Z的元素数据时,将矩阵按列进行分块,各块数据按列分配给各进程,各进程数据分别写入一个文件;文件的空间分区成同样大小的模块,模块自动按顺序编号,读写文件时,先赋值文件读写位置,再进行读写;直接访问文件可以任意到文件的任何一个地方来读写。
[0013] 本发明进一步的技术方案是,步骤(4)中采用核外分块并行高斯消元法求解矩阵方程ZI=V是指,在对矩阵方程进行ZI=V求解前,先将整个阻抗矩阵按列分块,然后将每一块按列循环方式分配给各进程,将阻抗矩阵第一块元素并行读入内存存储到数组Z(j,k)中,然后各进程进行并行高斯消元,并将各列所需的最大主元行数和乘积因子分别存储到数组Max_row(k)和Each_k(j,k)中,第一块消元结束后将元素并行写入硬盘;然后再对下一分块重复以上操作,直到最后一块处理完毕。
[0014] 对于平台天线,物体表面未知电流采用RWG基函数展开,线上未知电流采用脉冲基函数展开,线面连接区域未知电流采用Costa基函数展开。
[0015] 本发明具有以下有益效果:
[0016] 1、实现了利用硬盘代替内存的目的,解决了由于计算量大导致内存不足的问题;
[0017] 2、基于MPI并行环境,利用多个计算节点并行计算,加快了问题求解速度,且具有较好的并行性。
[0018] 3、采用按块集中并行读写,极大地的缩短了数据对硬盘操作的时间,从而提高了计算效率。
[0019] 4、采用按块集中并行读写,充分地利用了各计算节点的物理内存。
[0020] 5、本发明方法计算结果与通常采用的核内并行计算方法计算结果完全吻合,说明没有损失任何计算精度。
[0021] 6、在单台(双核或双核以上CPU)或多台计算机上完成对电大平台天线辐射特性、电大目标散射特性的快速计算,且具有较高的计算效率。附图说明:
[0022] 图1为高斯并行消元过程示意图;其中0、1、2为进编号。
[0023] 图2为分块高斯并行消元过程示意图;其中b1、b2、b3分别表示分块1、分块2、分块3;step1、step2、step3分别表示第1步、第2步、第3步;其中0、1、2为进编号。
[0024] 图3为计算机并行集群系统示意图;其中FES为以太网快速交换机,M为主进程计算节点,S为从进程计算节点。
[0025] 图4为金属圆柱平台天线剖分后模型示意图;其中a为单极子天线。
[0026] 图5为金属圆柱平台天线归一化辐射方向图。
[0027] 图6为简易舰载天线模型剖分后示意图;其中a为单极子天线。
[0028] 图7为简易舰载天线归一化辐射方向图。
[0029] 图8为简易飞机模型剖分后示意图。
[0030] 图9为简易飞机模型归一化散射方向图。具体实施方式:
[0031] 一、理论分析
[0032] 入射电场为 根据物体表面上切向电场连续条件和理想导体边界条件,可得到电场积分方程(EFIE):
[0033]
[0034] 物体表面采用三角形剖分、未知电流采用RWG基函数展开;对于平台天线,线上未知电流采用脉冲基函数展开;线面连接区域未知电流采用Costa基函数展开。采用Garlerkin法,即所有的权函数与基函数相同。这样使得阻抗矩阵具有对称性。对式(1)进行检验,经推导得到N阶的矩阵方程:ZI=V。其中Z、I、V分别为阻抗矩阵、电流矩阵和电压矩阵。
[0035] 二、阻抗矩阵分块并行存储
[0036] 核外求解方法需要将每个阻抗矩阵元素写入文件,存储到硬盘。当未知量的数量很大时,如果将阻抗元素全部写入同一个文件,那么会造成单个文件过大,从而影响数据读取、写入的速度。可以按列先将整个阻抗矩阵分块,然后将各块按列对各进程进行任务分配,然后各进程将自己需要处理的数据写入文件。
[0037] 对于数据的读写,这里用到了文件的直接读取、写入技术,直接访问文件的意义是:把文件的空间、内容事先分区成好几个同样大小的模块,这些模块会自动按顺序编号。读写文件时,要先赋值文件读写位置在第几个模块,再来进行读写的工作。直接访问文件可以任意到文件的任何一个地方来读写。
[0038] 三、矩阵方程核外分块求解
[0039] 基于高斯消去法的特点,采用按列循环方式。高斯消去法求解矩阵方程是把矩阵方程组Ax=B化为上三角矩阵方程组的过程,高斯并行消元过程如图1所示,对于单一的核外并行计算方法,可在一定程度上加快问题的求解速度,但各进程节点对硬盘数据文件的读写操作仍然占据大量的时间。在上述计算过程中,各节点的物理内存并没有得到利用,处于闲置状态,为充分利用各进程节点内存,进一步提出了核外分块并行求解方法。
[0040] 在对阻抗矩阵进行求解前,先将整个矩阵分为n块,然后在每一块按列循环方式对进程进行任务分配。这样整体的矩阵求解过程,可以分为n步,在第i步,首先将第i块阻抗元素读入内存存储到数组Z(j,k)中,然后各进程并行高斯消元,并将各列所需的最大主元行数和乘积因子分别存储到数组Max_row(k)和Each_k(j,k)中,第i块消元结束后写入硬盘相应文件。然后将i+1读入内存储到数组Z(j,k)中,按第i块的消元过程进行消元,最大主元行编号与乘积因子已经存储到数组Max(k)和Each_k(j,k)中,消元处理后再将第i+1块写入硬盘相应文件。直到最后一块处理完毕,第i步结束。具体过程如图2所示。
[0041] 图2为分块并行高斯消元过程示意图,将矩阵分为3块,两个进程节点进行计算(如果单台单核计算,则为一个进程节点)。没有被阴影所覆盖区域为每一步需要处理的元素。可以看出,随着步数的增加,每一步所需要处理的数据逐渐减少。其减少幅度为[0042]
[0043] 其中data_num为第i步比第i-1步减少的需要处理的数据量,n为总步数,即总块数,unknows为未知量的个数。
[0044] 为了减少数据通信量,将矩阵进一步化为对角矩阵,避免了迭代过程,最后只需要将主对角线上的元素传递给主进程即可。上三角消元过程与下三角消元过程相似,方向相反。不同之处在于,在读入第i块后,计算出乘积因子,只需对电压矩阵进行消元处理即可,矩阵下三角已经为0,上三角消元对主对角元素没有影响。
[0045] 值得注意的是,为减少读写操作,在上三角消元的第一步,无需将最后一块读入内存,因为在下三角消元的组后一步已经将该块读入内存。总共所需读写文件的次数分别为:
[0046] read_num=n!+n-1
[0047] (3)
[0048] write_num=n!
[0049] 其中n为矩阵所划分的块数。
[0050] 四、电磁辐射、散射计算
[0051] 经过步骤三得到物体表面感应电流,由物体表面感应电流即可计算出电大物体的辐射、散射方向图。
[0052] 本发明方法采用的PC集群系统是基于MPICH软件组建的,其模型如图3所示,系统主要参数为:8个计算节点;每个节点2.4GHz CPU,1.0G Bites内存;10/100Mb/s交换机。
[0053] Master任务是分配工作(包括自己),slave任务是单纯的工作,工作结束向master汇报。
[0054] 实施例1
[0055] 为了验证发明方法的有效性,计算了相对较小的问题。一单极子天线置于平躺放置的金属导体圆柱上。单极子天线的长度为λ/4,圆柱的半径和长度分别为λ/2、2λ。剖分面片边长小于λ/8,共剖分得到8032个三角形,12048条公共边。单极子天线分为48段。共12096个未知量,理论需要1.09Gb内存。分别采用核内并行求解方法与本发明方法计算了天线辐射方向图,都开启了相同的2个进程,并利用CST MICROWAVE STUDIO软件进行了仿真,模型与XOZ面辐射方向图如图4、5所示。
[0056] 从图5中可以看出,发明方法与CST MICROWAVE STUDIO仿真结果吻合较好,说明方法的正确性;与通常采用的核内求解方法完全吻合,说明没有损失计算精度。
[0057] 采用核外求解方法,将矩阵划分为不同的块数,求解时间与核内求解方法进行了比较。数据如表1所示。
[0058] 表1不同分块数求解时间比较
[0059]方法 分块数 求解时间(分)
核外并行分块求解 —— 170
核外并行分块求解 2 180
核外并行分块求解 4 193
核外并行分块求解 6 205
核外并行分块求解 8 214
[0060] 从表1中可以看出,求解时间随着块数增多而增加。当矩阵划分为2块时,求解时间最短,只比核内求解时间多13分钟(5.9%),说明发明方法具有较高的求解效率。而且随着未知量越多,数据读写时间所占整个求解时间比例越小,则求解效率会越高。
[0061] 矩阵划分为2块,开启不同数目的进程进行计算,求解时间如表2:
[0062] 表2不同进程数求解时间比较
[0063]方法 进程数 矩阵分块数 求解时间(分
钟)
核外并行分块求解 2 2 180
核外并行分块求解 4 2 98
核外并行分块求解 6 2 69
核外并行分块求解 8 2 54
[0064] 由表2可以看出,求解时间与开启的进程数成反比,显示出本发明方法具有良好的并行性。
[0065] 实施例2
[0066] 舰载天线
[0067] 计算了一舰载天线的辐射问题。单极子天线的长度为λ/4,舰船的尺寸约为11λ×2λ×2λ。剖分面片边长小于λ/8,共剖分得到29448个三角形,44172条公共边。
单极子天线分为44段。共44216个未知量,理论需要14.6Gb内存,远远超出目前常用计算机的物理内存。将矩阵划分为2块,开启16各进程(8台计算机),采用本发明方法成功地求解了该问题,求解时间约为20小时,模型和计算结果如图6、7所示。
[0068] 实施例3
[0069] 飞机散射
[0070] 计算了一个飞机模型的双站RCS,其电尺寸约为7λ×6λ×1.4λ,假定沿+z方向传播的平面波Ex向组合体垂直入射,共剖分得到42876个未知量,理论所需内存为13.7Gb。开启了8各进程,计算时间约为34小时,剖分模型与计算结果如图8、9所示。