论文部分内容阅读
复杂目标电磁散射特性的快速分析与计算在雷达系统设计与雷达目标识别、目标隐身和反隐身、现代电子系统电磁兼容性分析等领域中有广泛应用。利用计算机进行精确电磁仿真具有相对高效、准确的特点。特别是多层快速多极子算法(MLFMA)在电磁领域的成功开发,极大地提高了电磁仿真能力。但是受到单台计算机资源的限制,串行MLFMA算法对电大尺寸散射体分析常常无能为力。随着计算机集群技术的发展和并行计算技术的成熟,采用并行MLFMA算法计算复杂目标电磁散射特性,可以有效扩展仿真规模,提高仿真效率。对于具有复杂边界的电磁问题,实现高性能并行MLFMA算法的关键是如何在处理器间平均分配计算资源(即各处理器负载均衡)、减少处理器间的数据交换,减少算法实现环节中所占用的内存和计算量。这些问题的解决对最终计算效率和计算能力有直接影响。为解决上述问题,本文将MLFMA算法的计算域分解为数据域和角谱域。针对数据域和角谱域的不同并行性能,提出一种更为高效的并行方案,给出具体实现手段并分析其数值性能。论文的主要创新点如下:提出了分布树的负载均衡算法。并行MLFMA的负载均衡性主要体现在数据域上对分布树的划分上。传统的划分方法通常是在分布树的最底层将组均分到每个计算节点,每个计算节点采用自底向上的方式构建分布树。这对于外形完全对称的目标来说,具有非常好的负载均衡性。然而,实际的目标都具有复杂的外形。为此,我们修正了分布树的分割方法,通过均分某一层(非最细层)的方式来构建分布树,从而达到负载均衡的目的。提出了对(反)插值过程进行块划分的角谱域并行算法。在角谱域上并行MLFMA算法,具有非常好的负载均衡性。但是由于(反)插值操作的存在,节点间的通信是无法避免的。角谱域分解的主要问题是如何减少节点间通信量,增加共享层的层数。对(反)插值矩阵采用条划分的方法,尽管能够将通信限制在左右相邻的节点间进行,但同时也限制了程序可并行节点数的规模。为解决这个问题,我们提出了基于块划分的并行计算方法。这种方法能够将通信限制在上下左右四个相邻节点间进行,扩大了可并行节点数的规模。与条划分相比,大大减少了每次的通信量。进行了不变项的并行优化计算。本文针对分布树、(反)插值矩阵、转移矩阵和近邻阻抗矩阵等数据结构在计算时间和计算空间上的特点,从缩减内存和计算量的角度出发,提出了相应的计算和存储方法。对(反)插值矩阵提出了先串行计算再并行分布的方法。针对转移矩阵,计算过程采用了压缩存储的并行计算方式,分布过程中采用非压缩的存储方式。相对于传统的“边对”划分方法,提出了按组对划分近邻阻抗矩阵,利用数据局部性原理实现近邻阻抗矩阵的填充及近场的叠加。提出了转移和(反)插值操作的通信拓扑结构。利用转移通信列表确定远亲组之间的通信关系,通过建立转移通信的发送队列和接收队列,一次性交换数据,提高转移通信的通信效率。根据(反)插值矩阵的特点,利用虚拟进程拓扑,建立了(反)插值操作的通信拓扑结构。通过调整行和列的通信次序,实现了与四周相邻节点间的通信。针对各种复杂目标,本文围绕并行算法的精度和效率进行了大量实验。实验结果验证了所提出并行MLFMA算法的可行性,能够有效提高并行效率。该算法能够实现未知量在千万量级的复杂目标电磁散射,并在实际工程中获得应用。