PML是一种吸收边界条件,旨在以尽可能小的反射率实现入射光的吸收。具体而言,这种边界通常用在仿真区边缘,能与周围材料阻抗匹配,最大限度地减少反射,同时完全吸收仿真区内的光场。理想状况下,PML边界产生零反射,但是实际上由于基础PML方程的离散性,总会存在一定程度的反射,同时,用有限差分算法中对于PML方程的离散近似,也会带来一定程度的数值不稳定性。
本文介绍Ansys LumericalFDTD和MODE中的PML边界条件,并概述如何设置PML能够在保证最小化反射误差、消除数值不稳定性的同时,避免过多的仿真时间增加和资源消耗。
图一 PML属性设置
如图一所示是FDTD和varFDTD仿真区属性中,Boundary conditions的选项卡,对于FDTD、MODE solutions仿真软件中边界条件的设定均可在此实现,本文聚焦于其中的PML边界条件。对于FDE等求解器PML边界条件的设置也可类比参照本文内容。
拉伸坐标 PML(stretched coordinate PML):
图二 自定义PML配置
图三 为不同方向设置不同PML边界条件
如图二红圈所示,用户可以选择是否对不同的边界使用不同的PML设置。取消此选项可以对笛卡尔坐标系所有方向上的边界进行PML设置,刚提到的四种配置均可选择。为不同的边界使用不同的PML设置可以更好地分配资源,显著减少仿真时间。图二中显示了3D模拟的PML设置表,其中仅需要在x min边界上使用稳定配置的PML,其余边界使用陡角配置的PML。
在FDE模拟求解器中,对于PML的设置与FDTD和varFDTD略有不同,用户可以在“高级选项”中指定控制PML边界吸收特性的参数,如图三所示。FDE求解器直接采用了拉伸坐标PML(stretched coordinate PML)公式,且没有预定义的配置,如果需要根据实际情况修改,则用户要直接对参数进行设置。
PML边界具有有限的厚度,它们占据了仿真区域周围的有限体积,正是在这个空间内边界条件完成了对光的吸收。
layers:由于离散化的需求,PML区域被划分为多个层;
kappa, sigma, alpha:PML区域具体的吸收特性由这三个参数控制,具体定义在文献[2]中。根据定义kappa是无单位的,sigma和alpha则需以归一化的无单位值的形式,输入到PML参数设置表中。kappa、sigma和alpha都使用多项式函数在PML区域内进行分级,参数alpha有时被描述为复频移(complex frequency shift, CFS),它的主要作用是提高数值稳定性。增大alpha/sigma会使PML边界更稳定,但会降低其吸收效率,这就是稳定配置需要更多PML层数才能达到相同吸收性能的原因。要将alpha和sigma转换成SI单位的值,需要乘以自由空间介电常数的两倍,再除以仿真的时间步长;
polynomial:用来指定kappa和sigma多项式的阶数;
alpha polynomial:用来指定alpha多项式的阶数;
min layers, max layers:限制PML层的数量范围。
参考文献
[1] J. P. Berenger,Perfectly Matched Layer (PML) for Computational Electromagnetics. Morgan &Claypool Publishers, 2007.
[2] S. D. Gedneyand B. Zhao, An Auxiliary Differential Equation Formulation for theComplex-Frequency Shifted PML, IEEE Trans. on Antennas & Propagat., vol.58, no. 3, 2010.