用于电磁波问题的完美匹配层和散射边界条件

作者 Walter Frei

2015年 1月 28日

求解波动电磁场问题时,您可能会希望模拟一个带有开放边界的域,也就是说,计算域的边界支持电磁波以无反射的方式通过。针对这一问题,COMSOL 提供了几种解决方案。今天,我们将分析如何使用散射边界条件和完美匹配层来截断域,并讨论它们各自的适用范围。

为什么要截断域?

通常我们会对自由空间中的辐射对象产生模拟兴趣,比如天线。我们可以开发一个模型来模拟太空深处卫星上的天线,或者更常见的安装在吸波测试暗室中的天线。

无限自由空间中的天线示意图。
无限自由空间中的天线,我们仅希望模拟环绕天线的一小块区域。

这类模型可通过 RF 模块或波动光学模块的‘电磁波,频域’接口开发。这些模块提供了相似的接口,可用于通过有限元方法求解频域形式的麦克斯韦方程组。(有关这些模块的主要差别,请阅读我之前发布的博客“计算电磁模拟的模块选择”。)

在本篇博客中,我们将只考察二维问题,其中电磁波沿 x-y 平面传播,电场沿 z 方向极化。我们还将假定模拟域为完全真空,因此频域麦克斯韦方程组可简化为:

\nabla \cdot \left( \mu_r^{-1} \nabla E_z \right) -k_0^2 \epsilon_r E_z= 0

其中,E_z 是电场、真空中的相对磁导率和介电常数为 \mu_r = \epsilon_r = 1k_0 是波数。

利用有限元方法求解上述方程需要一个有限大小的模拟域和一组边界条件。外部对所有辐射透明,因此我们希望沿外部应用一些边界条件,从而把此域截断为对自由空间的合理近似。我们还希望将该域截断得尽量小,因为对模型大小的控制将能帮我们降低计算成本。

现在来看一下 COMSOL Multiphysics 仿真环境中用于截断模拟域的两个选项:散射边界条件和完美匹配层。

散射边界条件

\lim_{ r \to \infty} \sqrt r \left( \frac{\partial E_z}{\partial r} + i k_0 E_z \right) = 0

其中 r 是辐射轴。

当模拟域的边界位于源的无限远处时,这一边界条件就可以提供无反射传输,只是我们无法模拟一个无限大的域。因此,虽然我们无法精确应用 Sommerfeld 辐射条件,但可以应用它的一个合理近似边界。

现在让我们看看这一边界条件:

\mathbf{n} \cdot (\nabla E_z) + i k_0 E_z = 0

您可以清楚看到这一条件与 Sommerfeld 条件极其相似。本边界更正式的叫法应该是一阶散射边界条件 (SBC),可以轻松在 COMSOL Multiphysics 中执行。实际上,它就是一个带复值系数的Robin 边界条件

如果您希望能学习使用这一边界条件的二维波方程案例,请查看衍射条纹示例模型

不过,该条件有一个非常大的局限:它只有在辐射精确沿法向入射到边界上时才会无反射。所有非法向入射到 SBC 上的波都会发生部分反射。下图绘制了不同入射角平面波在一阶 SBC 上的反射系数。

绘图显示了一阶散射边界条件上平面波的反射。
一阶 SBC 上不同入射角平面波的反射。

从上图中我们可以观察到,随着入射波接近切向入射,波几乎会被完全反射掉。在 60° 的入射角下,反射约为 10%,显然,我们希望能有更好的边界条件。

COMSOL Multiphysics 4.4 版本还提供了二阶 SBC:

\mathbf{n} \cdot (\nabla E_z) + i k_0 E_z -\frac{i }{2 k_0} \nabla_t^2 E_z= 0

方程增加了二阶项,即电场沿边界的二阶切向导数,这在 COMSOL 软件架构中也非常容易执行。

我们来对比一阶和二阶 SBC 的反射系数:

绘图描述了一阶和二阶散射边界条件。
不同入射角平面波在一阶和二阶 SBC 上的反射情况。

我们可以看到二阶 SBC 的一致性更好。我们现在可以让入射角约为 75° 时才使反射达到 10%。情况有所改善,但我们还可以做得更好。现在让我们将注意力从边界条件转到完美匹配层。

完美匹配层

回想一下,我们正尝试模拟类似于电磁波吸波暗室中的天线这一情景,这是一个壁面包含锥体楔形辐射吸收材料的房间,能够最小化所有的反射信号。我们可以对完美匹配层 (PML) 进行这样一个物理类比:相比边界条件,它其实更像我们沿模型外部增加的一块域,能够吸收所有的出射波。

从数学上讲,PML 只是一个带有各向异性和复值介电常数及磁导率的域。对于这些张量的完整推导示例,请阅读Theory and Computation of Electromagnetic Fields一书。虽然从理论上讲 PML 无反射,但由于数值离散,即网格的关系,它们还是会表现出一些反射。为了最小化这一反射,我们希望在 PML 中使用一个与材料属性中的各向异性对齐的网格。下方显示了适用于二维圆形和三维球形域的 PML 网格。产品文档中还讨论了迪卡尔坐标、球形 PML,以及它们的正确使用。

合适的完美匹配层网格。
适合二维和三维球形 PML 的网格。

在 COMSOL Multiphysics 5.0 版本中,可以通过‘物理场控制网格’自动为三维问题完成这些网格的设定,正如电磁波,频域仿真的自动网格剖分视频所示。

现在让我们看看与 SBC 相比,PML 在不同入射角下的反射情况:

加入 PML 后的绘图。
不同入射角下一阶和二阶 SBC 及 PML 的反射情况。

我们可以看到 PML 能在最广泛的范围内反射最少波。当波几乎平行于边界传播时,仍存在反射,不过幸运的是,实际中类似的场景并不多见。PML 的另一项特征是它不仅能吸收辐射波,还能够吸收倏逝波,不过,本文不对此进行过多介绍。因此,从物理视角来看,PML 的确可以作为一种拥有完美吸收特征的材料。

那么,您该选择哪种?

显然,根据文中的介绍,PML 是最佳方案。但与 SBC 相比,PML 会的内存使用更多。

因此,如果您还处于早期模拟阶段,希望开发一个计算强度略低的模型,二阶 SBC 是不错的选择。当您有理由相信任何发生在 SBC 上的反射并不会严重影响您关心的结果时,您就可以使用 SBC。

出于和软件之前版本兼容性的考虑,目前的缺省选项是一阶 SBC,但在 COMSOL Multiphysics 4.4 及以上版本中,则使用了二阶 SBC。我们这里只介绍了平面波形式的 SBC,其实还存在柱面波和球面波(3D)形式的一阶和二阶 SBC。虽然它们使用的内存较低,但与 PML 相比,都表现出更多的反射。

如果您事先对边界处的物理场了解不多,那 SBC 和 PML 将是很适合的条件。另一方面,如果您希望模拟的边界上的物理场具有某种模式时,比如表征了波导的边界,‘端口’和‘集总端口’会更加适合。在接下来的博客中,我们将会讨论这些条件。

博客分类


评论 (20)

正在加载...
真 马
真 马
2016-01-27

张翔 黄
张翔 黄
2016-03-30

源 汪
源 汪
2016-09-13

这个讲解得不错

LianM Xu
LianM Xu
2016-11-23

Where is PML ?Why I can’t find?5.2Version

Yuansheng Zheng
Yuansheng Zheng
2016-11-23

LianM,您好!PML是在定义里添加,而不是在边界条件中。

王雅刚
王雅刚
2016-12-06

这个讲解确实很好,但是如果对于谐振频率为KHz的谐振器来讲,根据产品文档中关于PML的设置会使得PML的尺寸是谐振器尺寸的10^5或者10^6倍,这样的设置是否合理?还是PML在低频情况下不适用?

王雅刚
王雅刚
2016-12-06

您好,我发现如果谐振器的谐振频率处于KHz的级别,根据产品手册上的说明PML的长度可达到米的量级,而谐振器尺寸是微米级,这样巨大的尺寸差异是否不合理,是否说在低频情况下,PML不适合

Yuansheng Zheng
Yuansheng Zheng
2016-12-07

雅刚,您好!
感谢您的评论。
模型相关的问题,请您联系我们的技术支持团队:
在线支持中心:cn.comsol.com/support
Email: support@comsol.com
谢谢!

Yuansheng

凯 王
凯 王
2017-06-30

能讲解下阻抗边界条件吗?

宇航 秦
宇航 秦
2017-07-06

王凯,您好!
感谢您的评论。
模型相关的问题,请您联系我们的技术支持团队:
在线支持中心:cn.comsol.com/support
Email: support@comsol.com
谢谢!

zheng mao
zheng mao
2017-07-21

你好。我现在计算二维的电磁场问题,我的模型在四周都是用PML来模拟自由空间,也就是四周都是无反射的。以前我是加入沿z轴方向无限长的线源,也就是x-y平面上的点源,电场就只有Z方向,这个建模和计算结果都很好。
但是,我现在想加入平面波入射下的散射问题,需要把电场方向设置为x方向,或者y方向。这样的话,目前只能在散射边界条件中可以设置出平面波,就不能在四周上全部设置为PML。你有没有办法在四周都是PML的情况下,设置平面波呢?

ruiq ma
ruiq ma
2017-12-25

您好,想自信一个问题,support@comsol.com邮箱可以通过中文咨询问题吗? 谢谢!

其 戴
其 戴
2018-01-08

您好,如果需要研究大角度(80度以上)入射或者倏逝波,那PML可以通过设置吸收掉吗?

宇航 秦
宇航 秦
2018-01-08

戴其,您好!
感谢您的评论。
模型相关的问题,请您联系我们的技术支持团队:
在线支持中心:cn.comsol.com/support
Email: support@comsol.com
谢谢!

Y. G. Hsu
Y. G. Hsu
2018-03-25

在求解电磁波问题中,可以选择时域求解吗?

宇航 秦
宇航 秦
2018-03-30

Y. G. Hsu,

感谢您的评论。
模型相关的问题,请您联系我们的技术支持团队:
在线支持中心:cn.comsol.com/support
Email: support@comsol.com
谢谢!

鹏 严
鹏 严
2019-06-15

您好,初学COMSOL,我的版本是4.2的,我现在想做一个关于超声波方面的仿真,请问如何添加完美匹配层,我找不到它的地方。

志航 赵
志航 赵
2019-07-19

How can second-order SBC be implemented in comsol?What should I do in flux?

小航 丁
小航 丁
2022-05-14

您好 可以讲一下阻抗边界条件吗?

hao huang
hao huang
2022-05-16 COMSOL 员工

您好,已向相关工程师反馈了您的问题,您可以保持关注官网内容。

浏览 COMSOL 博客