矩量法(MoM)——基于积分方程的电磁场分析方法
理论与物理
概述 — 什么是MoM
矩量法和FEM、FDTD有什么区别?它们都是求解电磁场的方法吧?
问得好。MoM基于积分方程,只将导体表面的电流分布作为未知量。它不需要体积网格,在处理开放区域问题时具有压倒性优势。对于线天线或RCS(雷达散射截面)计算,其效率比FEM高出几个数量级。
不需要体积网格,那岂不是轻松多了!
是的,这正是MoM的最大优势。FEM必须为结构物周围的空气也划分三维体积网格。而且处理开放空间还需要吸收边界条件(如PML)。MoM只需离散化导体表面,格林函数会自动满足无穷远处的辐射条件。NEC2是一款免费的MoM代码,在业余无线电爱好者中也被广泛使用。
NEC2就是业余无线电爱好者常用的那个软件吧?专业场合也能用吗?
NEC2是一款专用于线天线的薄线近似MoM代码,在设计偶极天线或八木天线时至今仍是首选。但它无法处理面元,因此对于包含贴片天线或机箱的复杂形状,需要使用Altair Feko或Ansys HFSS的MoM求解器。本文将从MoM的理论基础到实现,系统地讲解。
与FEM·FDTD的本质区别
电磁场数值分析主要有三种方法。理解每种方法的公式化和擅长领域,是选择合适方法的关键。
| 方法 | 公式化 | 离散化对象 | 矩阵性质 | 擅长领域 |
|---|---|---|---|---|
| MoM | 积分方程 | 仅导体表面 | 稠密矩阵(小规模) | 天线辐射、RCS、开放区域 |
| FEM | 微分方程(弱形式) | 整个体积 | 稀疏矩阵(大规模) | 复杂形状、非均匀介质、谐振器 |
| FDTD | 微分方程(差分) | 整个体积(正交网格) | 无需矩阵(显式解法) | 宽带瞬态响应、非线性 |
控制方程 — EFIE(电场积分方程)
我想看看MoM的数学公式。它基于什么方程?
基本是EFIE(Electric Field Integral Equation,电场积分方程)。它源于理想导体(PEC)表面上切向总电场为零这一边界条件。
在理想导体表面 $S$ 上,入射电场 $\mathbf{E}^{inc}$ 与表面电流 $\mathbf{J}(\mathbf{r}')$ 的关系由以下EFIE描述:
其中格林函数 $G(\mathbf{r}, \mathbf{r}')$ 表示自由空间中的点源响应:
哇,相当复杂啊... 简单来说是什么意思?
简单来说,就是"导体上所有位置的电流,通过格林函数这个'传播权重',相互产生电磁影响"的公式。左边是入射波(从外部来的电磁波),右边是由该电流产生的散射场。MoM的任务就是求出使两者在导体上达到平衡的电流分布 $\mathbf{J}$。
各项的物理意义
- $\hat{n} \times \mathbf{E}^{inc}$:入射电场的切向分量。相当于外部入射到导体上的电磁波,是诱发表面电流的"源"。例如,雷达波照射到隐形飞机时的入射场。
- $j\omega \mu \int G \cdot \mathbf{J} \, dS'$:源于矢量势 $\mathbf{A}$ 的项。电流的时间变化产生的磁场分量,直接关系到天线的辐射。
- $\frac{1}{j\omega\varepsilon} \nabla \int G \, \nabla' \cdot \mathbf{J} \, dS'$:源于标量势 $\phi$ 的项。电荷积累($\nabla' \cdot \mathbf{J}$)产生的电场分量。低频时此项占主导。
- $G(\mathbf{r}, \mathbf{r}')$(格林函数):表示"位于 $\mathbf{r}'$ 的点电流源在 $\mathbf{r}$ 处产生的电场"的核函数。$e^{-jkR}/4\pi R$ 这个形式本身就是球面波的传播。随距离 $R$ 成反比衰减,相位延迟 $kR$。
假设条件与适用范围
- 理想导体(PEC)假设:忽略表面的有限电导率。对于微波频段的金属导体基本准确,但在光频或薄膜情况下需要扩展到阻抗边界条件
- 自由空间格林函数:假设为均匀无限空间。存在地面反射时,需要用Sommerfeld积分或镜像理论修正
- 表面等效定理:只有PEC或均匀介质体才能将结构物体积电流替换为表面电流
- 频域:基本的MoM是单频点分析。宽带特性通过频率扫描或AWE(渐近波形估计)获取
量纲分析与单位制
| 变量 | SI单位 | 备注 |
|---|---|---|
| 表面电流密度 $\mathbf{J}$ | A/m | 注意与体积电流密度 [A/m²] 区分 |
| 格林函数 $G$ | 1/m | $e^{-jkR}/(4\pi R)$ 的量纲 |
| 波数 $k$ | rad/m | $k = 2\pi/\lambda = \omega\sqrt{\mu\varepsilon}$ |
| 阻抗矩阵元素 $Z_{mn}$ | Ω(欧姆) | 作为基函数积分的结果得到 |
| 电场 $\mathbf{E}$ | V/m | 入射波的电场强度 |
Galerkin法离散化
这个积分方程怎么用计算机求解呢?
将未知的表面电流 $\mathbf{J}$ 近似为基函数(basis function)$\mathbf{f}_n$ 的线性组合。这是MoM的核心。
用 $N$ 个基函数展开未知电流:
$I_n$ 是各基函数的系数(未知数)。将此展开式代入EFIE,并与测试函数 $\mathbf{f}_m$ 取内积(测试)。Galerkin法中使用与基函数相同的函数作为测试函数:
其中 $\mathcal{L}$ 是EFIE的积分算子,$\langle \cdot, \cdot \rangle$ 表示内积。
原来如此,和FEM的Galerkin法是同样的思路呢!
是的,在加权残差法这个意义上,它与FEM属于同一框架。区别在于算子是积分而非微分。因此MoM也被称为"应用于积分方程的加权残差法"。Harrington在1968年的著作中将其体系化,这是它的开端。
阻抗矩阵 [Z][I]=[V]
通过Galerkin法的测试,连续的积分方程被转换为以下矩阵方程:
各分量定义如下:
$[Z]$ 是阻抗矩阵,$[I]$ 是电流系数向量,$[V]$ 是激励向量对吧。和FEM的 $[K]\{u\} = \{F\}$ 结构很像!
没错。但有一个决定性的区别。FEM的刚度矩阵 $[K]$ 是稀疏矩阵(只有相邻单元间有耦合),而MoM的阻抗矩阵 $[Z]$ 是稠密矩阵(满矩阵)。因为所有基函数都通过格林函数相互耦合。
也就是说,如果有 $N$ 个未知数,就需要 $O(N^2)$ 的内存吗?
很敏锐。直接法求解需要 $O(N^2)$ 的内存和 $O(N^3)$ 的计算时间。因此MoM长期以来一直作为"规模小但精确"的方法使用。打破这一局面的是MLFMM(多层快速多极子法),它可以将计算量减少到 $O(N \log N)$。详情将在数值解法部分说明。
基函数的选择
基函数 $\mathbf{f}_n$ 具体是什么形状呢?
把有代表性的总结在表里吧。根据问题的形状来区分使用。
| 基函数 | 形状 | 适用对象 | 特点 |
|---|---|---|---|
| 脉冲函数 | 区间内为常值 | 线(1D) | 最简单。NEC2中使用 |
| 三角函数 | 区间内线性插值 | 线(1D) | 保证电流连续性 |
| RWG函数 | 三角形对上的向量 | 面元(2D) | Rao-Wilton-Glisson。面MoM的标准 |
| 高阶基函数 | 多项式 | 面元(2D) | WIPL-D采用。用较少单元实现高精度 |
RWG函数是面MoM的标配啊。类似于FEM中的边单元吗?
很好的比较。正如边单元保证切向分量的连续性一样,RWG函数通过相邻三角形对的公共边保证法向电流的连续性。自1982年Rao、Wilton、Glisson提出以来,它已成为面MoM事实上的标准。例如Altair Feko也基于RWG基函数。
Harrington开拓的积分方程世界
矩量法的体系是由Roger Harrington(雪城大学)在1968年的著作《Field Computation by Moment Methods》中确立的。将表面电流用基函数展开,通过与测试函数的内积构建阻抗矩阵的方法,为数值求解此前只能解析处理的任意形状天线的辐射·散射问题开辟了道路。这本书只有大约110页,但作为改变了电磁场计算历史的一本书,至今仍被传阅。据说Harrington本人常说:"学生无法理解的理论,是理论不好。"
数值解法与实现
稠密矩阵问题及其对策
刚才听说稠密矩阵需要 $O(N^2)$ 内存,具体到什么规模是极限呢?
作为参考,$N = 10{,}000$ 个未知数时,$[Z]$ 有 $10^4 \times 10^4 = 10^8$ 个复数元素,内存约1.6 GB。$N = 100{,}000$ 时是160 GB。使用LU分解的直接解法需要 $O(N^3)$ 的运算量,所以 $N$ 增大后会很快变得无法计算。
| 未知数 $N$ | 矩阵大小 | 内存(复双精度) | LU分解时间(估算) |
|---|---|---|---|
| 1,000 | $10^6$ | 16 MB | 数秒 |
| 10,000 | $10^8$ | 1.6 GB | 数分钟 |
| 100,000 | $10^{10}$ | 160 GB | 数日 |
| 1,000,000 | $10^{12}$ | 16 TB | 直接法不可能 |
16 TB... 普通的工作站不行吧。大问题怎么处理?
这时MLFMM就登场了。它不显式构造矩阵,而是以 $O(N \log N)$ 的复杂度近似计算矩阵向量积。与迭代解法(如GMRES)结合,就能在工作站上求解百万未知数级别的问题。
MLFMM(多层快速多极子法)
MLFMM(Multi-Level Fast Multipole Method)是一种通过多极展开来近似远处基函数组间相互作用的方法。
多极展开... 有什么直观的比喻吗?
打个比方,就像调查"远处城市的人口"时,不是逐个清点个人,而是汇总处理为"东京都约1400万人"。近处的人(相邻单元)精确计算,远处的组则汇总近似。这种"近处精确,远处汇总"的层次结构是MLFMM的本质。
| 解法 | 内存 | 矩阵向量积 | 整体计算量 |
|---|---|---|---|
| 直接法(LU分解) | $O(N^2)$ | — | $O(N^3)$ |
| 迭代法(显式保持矩阵) | $O(N^2)$ | $O(N^2)$ | $O(N^2 \cdot n_{iter})$ |
| MLFMM + 迭代法 | $O(N \log N)$ | $O(N \log N)$ | $O(N \log N \cdot n_{iter})$ |
EFIE·MFIE·CFIE的区分使用
我听说除了EFIE还有MFIE和CFIE,它们有什么区别?
三种积分方程各有特点:
- EFIE(Electric Field IE):可应用于开放面·线结构。但对于闭合导体,在内部谐振频率处解不唯一
- MFIE(Magnetic Field IE):仅适用于闭合导体。内部谐振问题与EFIE相同
- CFIE(Combined Field IE):EFIE和MFIE的线性组合 $\alpha \cdot \text{EFIE} + (1-\alpha) \cdot \text{MFIE}$。能完全消除内部谐振,与MLFMM结合时迭代收敛性也好。一般取 $\alpha = 0.5$
なった
詳しく
報告