2. 全波电磁数值方法回顾
在讨论 HPC 加速之前,必须先明确“加速对象”到底是什么。全波电磁仿真并非单一算法,而是由多种数值方法构成的方法族。它们对 Maxwell 方程组的处理方式不同,最终形成的离散系统在未知量规模、矩阵结构、时间推进方式和并行粒度上差异极大。若把 FDTD 的优化经验直接套到 MoM 上,往往收效甚微;反之亦然。因此,本节从数学形式出发,梳理四类主流方法的离散特点、计算复杂度与并行潜力,为后续加速策略建立统一坐标系。
2.1 四种方法的数学形式与离散本质
FDTD(时域有限差分)直接对微分形式的 Maxwell 旋度方程做中心差分。电场与磁场在 Yee 网格上交错采样,时间上采用蛙跳格式交替更新。其离散结果是显式时间推进:每个网格点的场量只依赖上一时刻邻近点,无需全局求解线性系统。空间步长需满足 Courant 条件 Δt ≤ 1/(c√(1/Δx²+1/Δy²+1/Δz²)),否则格式发散。FDTD 的未知量随网格数 N 线性增长,单步计算量约 O(N),但总步数随模拟时间线性增加。
FEM(有限元法)基于变分原理,将 Helmholtz 方程或矢量波动方程弱形式化,用基函数展开场量,最终形成稀疏线性系统 Ax = b。对于频域问题,A 为大型稀疏复矩阵;对于时域问题,则需时间步进求解。FEM 的优势在于能自然处理复杂几何与非均匀介质,但离散后未知量规模大,且矩阵条件数随网格细化迅速恶化,迭代求解收敛慢。
MoM(矩量法)从积分方程出发,利用格林函数将场表示为源分布的函数,再通过加权残量法离散。其最大特点是未知量仅分布在导体或介质表面,而非整个计算域。对于表面问题,未知量数 N_s 远小于体离散方法。但 MoM 产生的是稠密复矩阵,存储量 O(N_s²),直接求解计算量 O(N_s³),即使采用快速多极子(FMM)或多层快速多极子(MLFMA),复杂度也仅降至 O(N_s log N_s) 或 O(N_s^1.5)。
DGTD(间断伽辽金时域法)结合了 FEM 的几何适应性与 FDTD 的显式推进思想。它在每个单元内用高阶多项式展开场量,单元间通过数值通量耦合,允许场量在单元边界不连续。DGTD 的离散系统是块对角结构,时间推进显式,但每个单元内部存在局部质量矩阵求逆。其计算量随多项式阶数 p 和单元数 N_e 变化,约为 O(N_e p^4) 量级,高阶时计算密度显著提高。
2.2 计算复杂度与并行潜力对比
从并行角度看,四类方法的可并行粒度截然不同。FDTD 是天然的“ embarassingly parallel ”:空间域分解后,各子域仅需交换一层边界场量,通信计算比极低,适合大规模 MPI+GPU 加速。FEM 的并行瓶颈在于稀疏矩阵求解,区域分解后子域间需要迭代交换边界条件,通信量随子域数增加而上升,且负载均衡受网格质量影响。MoM 的稠密矩阵填充和求解均可并行,但矩阵块间存在全局耦合,FMM 的树结构并行需要精细的任务调度,通信模式不规则。DGTD 的并行粒度介于 FDTD 与 FEM 之间:单元间耦合局部,但高阶基函数导致单单元计算量大,适合 GPU 加速,且可通过 p-自适应实现负载均衡。
2.3 明确后续加速对象
基于上述对比,本课程后续的加速对象可归纳为四条主线。第一,FDTD 的加速核心是“空间域分解 + 时间步进流水线”,重点在于边界场量交换的通信隐藏与 GPU 上 Yee 网格更新的访存优化。第二,FEM 的加速核心是“稀疏矩阵迭代求解”,需关注区域分解后的子域求解器选择、预条件子构造以及通信避免算法。第三,MoM 的加速核心是“稠密矩阵填充与快速多极子”,重点在于多层树结构的并行遍历与远场组作用的近似计算。第四,DGTD 的加速核心是“高阶单元局部算子 + 显式时间推进”,需处理单元内质量矩阵求逆与单元间通量计算的负载均衡。
需要特别指出,四类方法的并行潜力并非简单排序。FDTD 在弱扩展性上最优,但强扩展性受限于全局时间步同步;FEM 和 MoM 在强扩展性上更具挑战,但通过区域分解和快速算法可获得可观加速;DGTD 则在高阶情形下展现出较高的计算密度,适合 GPU 加速。后续章节将分别针对这四条主线展开具体的 HPC 实现技术。