本征模扩展 (EME) 求解器
本征模扩展求解器 #
本征模扩展(Eigenmode Expansion,EME)求解器通过将长波导结构沿传播方向划分为多个计算单元,在每个单元内求解其横截面的本征模式,然后计算这些模式在相邻单元间的耦合,从而获得整个器件完整的光学特性。
EME 求解器特别适用于分析和设计长度远大于波长且折射率分布变化缓慢或呈周期性的光子器件,例如:多模干涉耦合器(MMI)、光纤布拉格光栅和绝热锥形波导等。相较于直接进行三维 FDTD 仿真,EME 求解器在保证精度的同时,能实现极快的计算速度,并允许在完成一次模式计算后,快速地对器件长度、波长等关键参数进行扫描优化,极大提升了光子集成器件的设计效率。
EME 求解器设置 #
在 Home 选项卡中选择 EME 按钮,在复合视图窗口点击任意位置即可创建 EME 求解器,然后在自动弹出的编辑属性窗口中修改 EME 求解器的设置,即可完成 EME 求解器的添加。
EME 求解器属性页面如下,后续将进行详细说明。

通用设置 #
General 标签页用来设置求解器的仿真空间,仿真空间包含仿真维度和几何尺寸。
仿真维度 #
Dimension 选项卡用于设置 EME 求解器的仿真维度。目前支持 2D Z normal、2D X normal、2D Y normal 三种法向方向。
几何尺寸 #
Geometry 选项卡用于设置 EME 求解器的几何尺寸。
| Name | Description |
|---|---|
| Z/X/Y pos | 设置求解器仿真区域的几何中心。 |
| Z/X/Y span | 设置求解器仿真区域在三维坐标方向上的范围。 |
EME 设置 #
此标签页包含 EME 算法特有的核心设置,用于定义计算单元。
中心波长 #
| Name | Description |
|---|---|
| central wavelength | 设置用于计算所有单元本征模式的中心波长。 |
EME 单元几何尺寸 #
在此部分可以定义一组或多组计算单元,每组可拥有独立的几何与模式设置。表格中的主要参数包括:
| Name | Description |
|---|---|
| Group span (µm) | 该单元组的整体宽度(沿传播方向)。 |
| Cells | 将此单元组进一步细分的单元(Cell)数量。更多的单元数通常意味着更高的精度,但计算量也更大。 |
| Modes | 为此单元组计算并使用的本征模式数量。须包含所有的传播模式以确保精度。 |
| Cell range | 此单元组所包含的单元序号范围。 |
| Start/Stop (µm) | 此单元组的起始和终止坐标。 |
| Display cells | 勾选后将在复合视图中显示每个计算单元的边界轮廓;取消勾选可隐藏。默认勾选。 |
此外,关键的配置项有:
| Name | Description |
|---|---|
| Energy conservation | 设置界面 S 矩阵的能量守恒类型。支持三种选项:none(不应用)、passive(默认,范数>1时强制为1)和 conserve energy(强制范数为1,适用于布拉格光栅等周期性结构)。 |
| Number of modes | 设置求解的模式数量。 |
| Min z | 整个 EME 仿真区域的起始坐标。 |
| Number of cell groups | 定义总的单元组数量。 |
周期性 #
如果您定义的结构具有周期性,可以在此部分查看并修改周期单元的重复次数。
| Name | Description |
|---|---|
| Start cell group | 周期性单元的起始单元组序号。 |
| End cell group | 周期性单元的结束单元组序号。 |
| Periods | 周期性单元重复的次数。 |
背景材料 #
在 Background Material 标签页,提供 Background Material 的下拉菜单,以供用户选择背景材料。
| Name | Description |
|---|---|
| Background material | 背景材料库。可从内置光学材料库(Optical materials library)中选择背景材料,或通过 Add/Edit 按钮创建自定义材料并添加到库中。 |
网格 #
Mesh 标签页提供了求解器的网格设置。EME 求解器提供了均匀网格和自动非均匀网格设置,具体参数请参见网格设置。
边界条件 #
Boundary conditions 标签页提供了求解器的边界条件设置,各参数的详细设置,请参阅边界条件。
高级 #
Advanced 标签页包含 Mesh generation 、 EME setting 和 Mode solver settings 三部分:
1. Mesh generation:
提供强制网格对称设置,可分别强制 x / y / z 方向的网格对称。
2. EME setting:
提供容差控制,用于调节界面 S 矩阵计算、能量守恒修正及内部矩阵求解的精度与稳定性。其中包含三种关键的容差控制参数:
-
a. Tolerance 1: 模式耦合截断容差
-
功能定义:
此参数用于处理求解界面 S 矩阵时出现的异常模式耦合。当界面两侧模式严重失配(即一侧的模式无法在另一侧有效展开)时,计算可能产生远大于 1 的非物理 S 参数,从而破坏器件的无源性与能量守恒。引入该容差可截断并消除这类异常耦合。 -
参数设置:
- 接近 0:界面处的模场分布更平滑,但可能导致严重的能量不守恒,且难以在不破坏整体 S 矩阵的前提下修正。
- 接近 1:能量守恒修正效果最佳,但界面场分布可能出现不连续。
- 推荐方案:对于注重能量守恒的周期性结构,通常建议将该值设在 0.5∼1 之间。
-
注意:
无论是否启用 Energy Conservation 选项,此参数均会影响所有界面 S 矩阵的计算。
-
-
b. Tolerance 2: 能量修正容差
-
功能定义:
此参数设定了在执行能量守恒修正时,系统允许施加修正的最小功率阈值。在启用 Conserve Energy 选项时,系统会对存在数值损耗的模式进行能量补偿。 -
参数设置:
对于注重能量守恒的周期性结构,为防止错误的修正,建议设为较小的数值,例如 10−3 或更低。 -
注意:
此参数仅在 Energy Conservation 设为 Conserve Energy 时生效。
-
-
c. Tolerance 3: 数值稳定性容差
-
功能定义:
此参数用于在计算界面 S 矩阵时,抑制矩阵运算中的病态行为,确保数值结果的稳定性。通过过滤由微小数值扰动引起的非物理奇异分量,限制矩阵求逆中的过度放大效应。 -
参数设置:
通常应设为一个较小的数值(例如 10−2 或更低),以确保不干扰正常的物理耦合。若设置过大,则可能抹平实际存在但微弱的模式关联。 -
注意:
此参数在 Energy Conservation 选项设为 Conserve Energy 或 Make Passive 时生效。
-
3. Mode solver settings:
Mode solver settings用于设置材料数据采样方式,包含以下两种,这部分设置与FDE设置基本一致,具体可参阅FDE 高级。
| Name | Description |
|---|---|
| Linear interpolation | 使用线性插值的方式获取材料数据,所获取的材料数据在频率上可能是不连续的。 |
| Fit model | 使用多项式材料模型拟合Sampled材料数据。 |

