Ansys Lumerical | 行波马赫曾德尔调制器的仿真设计与优化
说明
本案例将Lumerical和HFSS在行波MZM调制器建模中的功能与optiSLang相结合,提供了强大的优化能力以寻找最佳性能设计。
下载
联系工作人员获取附件
综述
本案例建立在已有的硅波导建模实例(Ansys Lumerical 行波 Mach-Zehnder 调制器仿真分析)的基础上,该示例由反向偏置 pn 结进行相位调制,由 Al 共面传输线驱动。该示例的演示目标是找到具有最佳品质因数的设计,相移、损耗和速度失配等结果与所选输入,掺杂和电极形状等参数的函数关系。分立的器件电学、光学以及RF模型都将被导入到optiSLang当中,并在optiSLang建立元模型,对大量输入进行优化以找到最佳设计。此外,还可以将INTERCONNECT添加到optiSLang中计算误码率。
步骤1:运行多物理仿真获得初始结果
使用 Charge 仿真得到调制区在不同偏压 (-0.4V~4V) 的载流子分布,并导出 monitor_charge 的结果。
不同偏压下电荷密度分布
使用 MODE 计算在上述载流子的分布下,整个波导的损耗、群折射率以及等效折射率等。
使用 HFSS 计算行波电极在 10-100GHz 下的损耗,端口阻抗,等效折射率等。
以上参数将被作为optiSLang的输入参数,用于后续的模型建立和优化当中。更多详细信息可参考Ansys Lumerical 行波 Mach-Zehnder 调制器仿真分析。
步骤2:创建系统响应的元模型
optiSLang优化文件由三个主要模块组成,参数敏感性分析、元模型模块和优化算法模块。
首先,参数敏感性分析与品质因数相关联,在本例中是通过提供CHARGE、MODE和HFSS 文件的仿真脚本和仿真数据的来完成,将仿真数据导入到optiSLang并识别输入和响应即可建立初始的元模型,用于对结果优化和可视化。
其次,将参数敏感性分析应用于系统以建立系统的元模型,元模型优化主要关注三个品质因数(FOM):最小化速度失配、最小化损耗和增大与电压相关的相移(最小化Vpi/Lpi)。这些在Criteria选项中指定:
变参仅仅针对调制器掺杂浓度和掺杂位置(n,p),以及电极形状等 6 个参数:
找到适当数量的样本很重要,器件级仿真运行的次数与“Adaption”选项中指定的相同,增加仿真次数提升优化后模型性能,但同时也增加完成优化所需的时间,可以通过勾选“show advanced setting”来设置采样选项,本例中选择了“Advanced Latin Hypercube Sampling”,包含60个初始样本,在局部CoP(预测系数)和优化标准的重要性之间采用70:30比例。此外,还设置了每次迭代12个样本,至少6次迭代来生成元模型。运行后,每个独立设计的结果将记录在“Result designs”中,元模型就生成了。
后处理结果的模型质量记录在CoP矩阵,基于统计的思想通过一个预测质量的关键指标预测系数(CoP - Coefficient of Prognosis)来评估对实际模型的预测质量。CoP的值越大表明预测得到的模型准确性更高。通常在二维或三维图像基础上,辅以各点的不同颜色配合色块来说明各个参数对模型目标函数的函数值的影响。每个输入参数的总有效性用红色表示,单击这些值中的每一个也会更新3D曲面图,代表输出对指定输入的依赖性。下图是Vpi_Lpi作为n和p掺杂值的函数的例子:
从上述步骤,我们通过参数敏感性分析了解到我们创建的元模型可以准确预测在优化过程中的系统表现,因此可以继续进行后续大量的变参优化步骤,以确定最佳设计。
步骤3:优化和获得最佳设计
通过参数敏感性分析了解设计参数和设计目标的设计行为,并使用结果支持我们的优化算法。这是一个多目标优化,自动运行数千种敏感性和优化设计,可以得到一组最佳设计,称为帕累托前展面(Pareto Frontier)。所有设计条件的品质因数都显示在帕累托图中,可以左键单击并拖动以放大代表最佳设计的帕累托前展面。
在本例中,我们关注获得最佳相移、损耗和速度失配输出,在后处理页面的视图部分拖动“3D Cloud Plot”,可以获得三个品质因数所有设计的概览。最佳设计是所有位于plot边缘的点(即上述帕累托前展面)。为了能够更好地观察这些设计,点击“Select best design(s)”,点击“Invert selection”,然后在图上右键单击并选择“deactivate”:
如前所述,会有几个设计都提示是最佳设计,因为在FOM之间必然会有妥协。根据模型需求或优化优先级的不同,最终的选择可能不同。点击任意一点都会更新对应输入值和结果绘图,在这里我们可以看到对应掺杂浓度、偏移量和电极参数确定值,以及所选最佳设计的对应结果。
此外,本例中还能进一步在参数求解系统中引入INTERCONNECT用以获得误码率(BER),获得的参数可以进一步更新模型并将监测与初始设计相比误码率的降低情况。