复制并重复使用边界模式的分析结果
使用 波束包络 或 电磁波,频域 接口的时候,经常会有多个具有相同结构但在空间中位置不同的 端口 边界条件。这种情况经常发生,尤其是在光学和光子学模型中,这些端口存在多种不同的模式,且需要进行数值计算。但我们可以仅使用一个 数值 类型的 端口 边界条件来计算出所有关注的模式,并将这些解复制到其他端口,通过 用户自定义端口 来重复使用。
下图中显示的沿长度方向形状不变的光脊波导就是这样一个示例。在波导中传播一个特定偏振模式,但由于部分衬底存在各向异性,因此可能存在其他模式。本例中要考察的是前两种传播模式。

预计算波导的所有模式
这种方法首先需要定义一个 数值端口,用于计算所有关注模式。由于在最终分析中不会直接使用该 端口,为了便于区分,我们将其设为 端口 0。然后,添加其他 端口 边界条件以描述波导。对于光波导,应确保包层区域的宽度足够大,以使场衰减到接近零。
设置一个数值端口。
设置一个包含边界模式分析的研究来求解该 端口 的模式。在本示例中,我们只关注前两个模式,因此将 所需模式数设为 2,并将 模式搜索基准值 设为有效模式折射率 3.5,这是波导结构中的最高折射率。然后,计算出该波导结构在此频率下支持的前两个模式。

计算所有关注模式的求解器设置。
求解完成后,绘制边界模式电场图有助于验证计算出的模式。这些电场后续将被用于定义一组用户定义的端口。

理解和使用边界模式分析的输出结果
边界模式总电场包含两个正交分量,即,边界的切向和法向电场。总电场表示为,
,
其中,切向分量代表边界面内的矢量,法向分量则是标量场,而法矢 是从模拟域指向外的矢量,代表传出信号的方向。
对于端口 0,切向场的分量为 ewbe.tEbm0x、ewbe.tEbm0y 以及 ewbe.tEbm0z,法向分量则为 ewbe.nebm0,向外法矢的分量为 ewbe.nx、ewbe.ny 和 ewbe.nz,因此边界模式的总电场为:
ewbe.tEbm0x-ewbe.nx*ewbe.nebm0
ewbe.tEbm0y-ewbe.ny*ewbe.nebm0
ewbe.tEbm0z-ewbe.nz*ewbe.nebm0
端口 0 所算得的两个模式各含有不同的切向和法向分量,以及传播常数 ewbe.beta_0。为了调用这些变量,可以使用 withsol 算子,其语法原型为:withsol('sol1',Ex_total, setind(lambda,M1))。
上式中,第一个变元代表解的标记,可引用任意解(参见 withsol 算子典型示例)。第二个变元表示调用解中的变量表达式,而第三个变元使用了 setind 算子,其中使用一个参数通过取值 M1=1 或 M2=2 来分别引用通过 边界模式分析 步骤所算得的两个模式。因此,这个表达式用于重用这些预计算的解。
接下来,端口 0 算得的场映射到其他需要这些结果的边界,这可以通过 广义拉伸 算子按照如下截图所示的设置来实现。输入和输出端口具有完全相同的 xy 坐标,因此无需修改其映射表达式。其中,将 z 的表达式设置为* z-Length,这是因为输出边界在 z 方向上存在由全局参数 *Length 定义的偏移。通过这个算子,可以将算得的数据从输入边界映射到输出边界。如需了解更多使用 广义拉伸 算子的详情(包括旋转场),请查阅:广义拉伸算子的典型示例。
广义拉伸 算子的设置窗口,用于将一个边界的结果映射到其他边界。注意: 定义 下的 变量 节点,其中使用 withsol 算子和 广义拉伸 算子定义 端口 1 和 4 的模式场和传播常数。
这个算子(默认名称 genext1)的用法是,在其他端口边界,使用 genext1() 算子来封装所需的表达式。例如,第一个模式的总电场映射到出射边界的形式为:
genext1(withsol('sol1',ewbe.tEbm0x,setind(lambda,M1)))-ewbe.nx*genext1(withsol('sol1',ewbe.nebm0,setind(lambda,M1)))
genext1(withsol('sol1',ewbe.tEbm0y,setind(lambda,M1)))-ewbe.ny*genext1(withsol('sol1',ewbe.nebm0,setind(lambda,M1)))
genext1(withsol('sol1',ewbe.tEbm0z,setind(lambda,M1)))-ewbe.nz*genext1(withsol('sol1',ewbe.nebm0,setind(lambda,M1)))
注意,广义拉伸 算子并未应用到法矢分量,因为在相反边界会有不同的分量。实际上,可以创建一组变量来简化其语法。
将预计算模式应用于完整模型
首先在定义 端口 0 的同一组边界上定义激励 端口 1,以定义所有需要这些预计算模式作为波导模式的端口边界。将 端口类型 设为用户定义,然后在 端口模式设置 栏使用上面定义的这些在这四个端口的总电场和传播常数变量。
设置端口条件,在相同边界上重用之前算得的电场和传播常数。
重复上述步骤,在同一组边界上定义 端口 2。这是一个无激励的端口,用于监测回到第二模式的反射。将波激励设置为关闭,并使用变量 P2Ex、P2Ey 和 P2Ez 表示电模式场,以及 betap2 表示传播常数。依此类推,在远端再定义两个端口表示出射信号。
请注意,所有 端口 边界上的网格必须完全相同。一般情况下可以通过 相同网格 特征自动满足这一条件,如下图所示。
使用 相同网格 特征来确保输入/输出端口的网格完全相同。
关于这种特殊情况的网格划分,在截面和沿长度方向的网格必须足够细化。由于各向异性基底区域和各向同性区域的支撑模式略有差异,因此必须研究沿长度方向的网格细化。如需了解更多此类模型的网格和求解的指南,请查阅 定向耦合器 模型。
求解时,可以使用一个可选的 研究引用 在求解三维模型之前重新计算 端口 0 的模式。此外,如下图所示,在 波长域 研究步骤的 物理场和变量选择 栏禁用端口 0。
设置 窗口的截图显示,在对模型内部场进行求解计算时, 端口 0 被禁用。
请提交与此页面相关的反馈,或点击此处联系技术支持。
