FDTD的对称边界条件设置

作者:Flame光学仿真
链接:https://www.zhihu.com/question/57516337/answer/2877492433
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

只要电磁场具有通过仿真区域中间的对称平面,就可以使用对称边界条件。通过利用这种对称性,仿真体积和时间可以减少 2、4 或 8 倍。

本主题介绍对称和反对称边界条件之间的区别,以及如何为仿真选择合适的边界。

对称边界处的场

当电磁场具有对称平面时,某些场分量在对称平面上必须为零。对称边界条件是通过强制适当的场分量归零来实现的。下表列出了每个对称项中为零的场分量。

非零场分量如下图所示。请注意,蓝色箭头是电场,绿色箭头是磁场。

反射对称规则(确定模态对称性)

电场和磁场将遵守通过对称平面反射的某些对称规则。反射对称规则如下图所示。

上述对称规则有助于确定模源的模态对称性以及腔体的谐振模态。下图显示了使用模式源计算的模式的 Ex 和 Ey 的实部。传播方向为 +Z。请注意,Ex 在模拟区域的每一半上都有相同的符号。Ey 的每一半都有相反的标志。Ey 也沿着对称平面经过零。

利用上述对称规则,我们可以确定在 X=0 处存在一个反对称平面,在 Y=0 处有一个对称平面。因此,x min 边界应设置为反对称,y min边界条件应设置为对称。

周期结构的对称边界条件

如果通过周期结构的电磁场在结构的周期中间具有对称或反对称平面,则按如下方式设置边界条件:

1) 选择选项允许在所有边界条件下对称

2)根据上面给出的对称规则,将最小和最大边界条件设置为对称或反对称(在实践中,边界条件通常要么都是对称要么都是反对称)。

参考下面的示例,从设置 A 更改为设置 B 将保持周期性,同时将所需的计算时间减少约 4 倍。同样,这仅适用于结构和场既对称又有周期性的情况。

使用源选择正确的对称选项

本节适用于 FDTD 和 MODE varFDTD 求解器。这些求解器中的大多数源都用彩色箭头显示其电极化或磁极化,其中电场极化显示为蓝色,磁极化为绿色。下图显示了左侧的电偶极子和右侧的磁性偶极子

对称边界条件使用类似的配色方案:

  • 对称的 BC 是蓝色的
  • 反对称是绿色的。

下图显示了如何根据源极化选择正确的对称条件。

  • 如果源偏振与对称平面相,请选择具有相同颜色的对称选项。
  • 如果源偏振垂直于对称平面,请选择颜色相反的对称选项。

例子

在下面的三角形结构示例中,X 中有一个对称平面。源极化(蓝色)与X边界相切。因此,我们使用对称作为 X min 边界条件。此模拟的运行速度将比没有任何对称设置的等效模拟快 2 倍。请注意,源的蓝色箭头沿具有相同颜色的区域边缘。

下一个示例显示了具有两个对称平面(X 和 Y)的模拟,源极化(蓝色)垂直于 X 边界,切向于 Y 边界。因此,对 X 分钟边界使用“反对称”,对 Y 分钟边界使用“对称”。X 和 Y 最大边界条件不需要修改。该仿真的运行速度将比没有对称边界条件的等效仿真快 4 倍。请注意,源的蓝色箭头沿着具有相同颜色的区域边缘,并按照上述规则垂直于具有相反颜色的区域。

注意

使用错误的对称选项

使用对称边界条件时,很容易选择错误的对称选项。如果选择了错误的对称选项,则不会有警告消息,但仿真结果将是完全错误的。确认选项正确的最简单方法是在没有对称边界条件的情况下重新运行仿真。两个模拟应给出相同的结果。如果没有,您可能选择了错误的对称选项。

模拟范围

使用对称时,请勿更改模拟区域的大小。如果选择对称边界条件,则模拟区域的一半将自动以蓝色或绿色着色,表示不会直接模拟的部分。

展开数据

getdata、getelectric 或 getmagnetic 等脚本命令会根据边界条件的对称规则自动展开场数据。 这使得创建整个模拟区域数据的图像监视器变得容易,即使实际上只模拟了一半的模拟区域。但是,如果监视器完全位于阴影区域中,则不会记录任何数据。某些分析组在应用对称时可能不起作用,但其中一些分析组包含用于正确展开场数据的脚本命令

注:作者具有丰富的光学仿真、光学设计和算法实现经验,可以用Zemax、CODE V、Rsoft、Lumerical、COMSOL、Python、MATLAB、Optisystem等软件解决光学仿真问题、完成具体的项目。乐意协助解决光学设计、光学仿真和代码实现等方面的专业问题。如有相关的专业问题可以联系作者, QQ: 3123631882,Email: http://flameoptisim.163.com,如果想深入学习相关软件,请关注同名淘宝店铺:Flame光学仿真。

欢迎大家交流讨论!

### 设置FDTD仿真的边界条件 #### PML边界条件 完美匹配层(Perfectly Matched Layer, PML)是一种吸收边界条件,用于减少反射并防止波从仿真区域外反弹回来。对于长时间的仿真或当仿真结构超出边界时尤为适用。为了避免不稳定的状况发生,在实际应用中通常增加PML的层数来优化性能[^2]。 ```matlab % MATLAB代码示例:定义PML参数 pml_layers = 10; % 定义PML层数量 fdtd.set('x min pml', pml_layers); fdtd.set('x max pml', pml_layers); fdtd.set('y min pml', pml_layers); fdtd.set('y max pml', pml_layers); ``` #### 金属边界条件(Metal) 金属边界条件模拟的是理想导体表面的行为,即电场垂直分量为零。这适用于需要完全反射电磁波的情景下。 #### 周期性和布洛赫边界条件(Periodic and Bloch) 周期边界条件适合于模拟无限重复排列的结构,使得波能够在边界处无间断地继续传播。这对于处理具有周期性的材料非常有用。特别是当光束沿特定方向入射而不偏离坐标轴时,可以直接采用简单的周期性设定;然而,一旦存在倾斜角,则需转而使用更复杂的布洛赫边界条件来进行精确建模[^3]。 ```matlab % MATLAB代码示例:设置周期性边界条件 fdtd.set('x min bc', 'periodic'); fdtd.set('x max bc', 'periodic'); fdtd.set('y min bc', 'periodic'); fdtd.set('y max bc', 'periodic'); % 对于斜向入射情况下的布洛赫相位因子调整 bloch_phase_x = exp(-1i * kx * dx); % 计算X方向上的布洛赫相移 bloch_phase_y = exp(-1i * ky * dy); % 计算Y方向上的布洛赫相移 fdtd.set('x min bloch phase', bloch_phase_x); fdtd.set('x max bloch phase', conj(bloch_phase_x)); fdtd.set('y min bloch phase', bloch_phase_y); fdtd.set('y max bloch phase', conj(bloch_phase_y)); ``` #### 对称/反对称(Symmetric/Antisymmetric) 和 PMC(PMCS) 对称与反对称边界条件分别对应着关于某个平面镜像不变或是反转的情形。至于完美磁导体闭合面(Perfect Magnetic Conductor Surface),则用来表示磁场平行分量等于零的理想化界面。 为了提高三维结构计算效率,最常见的方式是在两个维度上都施加一对周期性边界条件,从而构建出二维内无限延伸的空间模型[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值