使用完美匹配层和散射边界条件求解电磁波问题

作者 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 仿真环境中用于截断模拟域的两个选项:散射边界条件和完美匹配层。

散射边界条件

最早为波动问题提出的一个用于二维场的透明边界条件为 Sommerfeld 辐射条件,可以写为以下形式:

\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 边界条件

如果你想学习使用这个边界条件的二维波方程案例模型,请查看衍射条纹模型

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

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

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

自 4.4 版本起,COMSOL Multiphysics 还提供了二阶散射边界条件:

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

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

让我们对一阶和二阶散射边界条件的反射系数进行比较:

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

我们可以看到,二阶散射边界条件的一致性更好。现在我们可以让入射角约为 75° 时反射才达到 10%。这个边界条件比之前的好,但我们还可以做的更好。现在,让我们将注意力从边界条件转到完美匹配层。

完美匹配层

回想一下我们尝试模拟的如电磁波测试暗室中的天线场景,这是一个壁面包含金字塔形的楔形辐射吸收材料的房间,它能最大限度地减小任何反射信号。这可以作为完美匹配层 (PML) 的物理类比,它不是一个边界条件,而更像是我们沿模型外部增加的一块域,能够吸收所有的出射波。

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

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

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

现在让我们来看看,完美匹配层与散射边界条件在不同入射角下的反射情况对比:

加入完美匹配层后的绘图。
不同入射角下一阶和二阶散射边界条件及完美匹配层的反射情况。

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

那么,应该选择哪种边界条件?

显然,根据本文中的介绍,完美匹配层是最佳方案。但与散射边界条件相比,完美匹配层的内存使用更多。

因此,如果你还处于早期模拟阶段,希望开发一个计算量较小的模型,那么二阶散射边界条件是一个不错的选择。当你能够确信任何发生在散射边界条件上的反射并不会严重影响到你关心的结果时,就可以使用二阶散射边界条件。

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

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

博客分类


评论 (22)

正在加载...
真 马
真 马
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 员工

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

凯迪 孙
凯迪 孙
2024-03-10

在固体力学中使用边界载荷激励声源,需要添加什么边界条件达到类似于PML和端口低反射的情况

Hao Li
Hao Li
2024-03-11 COMSOL 员工

您好!
感谢您的评论。

固体力学中的低反射边界可以声波,同时PML固体力学-频域下起到吸收声波的作用。

如果有进一步问题,建议您联系COMSOL的技术支持团队:
在线支持中心:cn.comsol.com/support
Email: support@comsol.com
谢谢!

浏览 COMSOL 博客