lumerical——多模干涉耦合器(MMI)

一、创建结构

deleteall;
####################################################
# 1x2 port MMI coupler
# MMI coupler with taper between MMI region and  input/output
# waveguides.
#
# Input properties
# total length
# coupler length
# coupler width
# waveguide width
# taper length
# taper width
# z span
# separation
# material
#
# Tags: MMI multimode interference coupler taper
#
# Copyright 2014 Lumerical Solutions Inc
#####################################################

# simplify variable names by removing spaces
total_length = %total length%;
coupler_length = %coupler length%;
coupler_width = %coupler width%;
taper_length = %taper length%;
taper_width = %taper width%;
waveguide_width = %waveguide width%;
z_span = %z span%;

# add MMI coupling region
addrect;
set("name","MMI_core");
set("material",material);
set("x",0);
set("x span",coupler_length);
set("y",0);
set("y span",coupler_width);
set("z",0);
set("z span",z_span);

# add tapered regions
addpoly;
set("name","left taper");
set("material",material);
set("z",0);
set("z span",z_span);
# calculate x, y vertex positions
x= [-coupler_length/2-taper_length;	-coupler_length/2;	-coupler_length/2;	-coupler_length/2-taper_length];
y= [waveguide_width/2;			taper_width/2;	-taper_width/2;	-waveguide_width/2];
V=[x,y];
set("vertices",V);

addpoly;
set("name","right upper taper");
set("material",material);
set("z",0);
set("z span",z_span);
# calculate x, y vertex positions
x= [coupler_length/2+taper_length;	coupler_length/2;	coupler_length/2;	coupler_length/2+taper_length];
y= [waveguide_width/2;		taper_width/2;	-taper_width/2;	-waveguide_width/2] + separation/2;
V=[x,y];
set("vertices",V);

addpoly;
set("name","right lower taper");
set("material",material);
set("z",0);
set("z span",z_span);
# calculate x, y vertex positions
x= [coupler_length/2+taper_length;	coupler_length/2;	coupler_length/2;	coupler_length/2+taper_length];
y= [waveguide_width/2;		taper_width/2;	-taper_width/2;	-waveguide_width/2] - separation/2;
V=[x,y];
set("vertices",V);
​参数名​​依赖关系​​图片中的值​​物理意义​
taper_width应≈MMI宽度/21.1 μm确保锥形区斜率平缓(避免模式激发高阶模)
separation需>2×输出波导宽度3.14 μm防止输出波导间串扰(0.4 μm波导需间距≥0.8 μm)
z_span需匹配波导层厚度0.22 μm标准SOI硅波导高度

二、添加EME

  • number of modes=20​:
    覆盖所有可能的高阶模(如TE0-5, TM0-5),避免能量泄漏。
  • subcell method=none/CVCS​:
    • none:用于均匀区域(如第2组32μm)加速计算。
    • CVCS:用于复杂边界(如第3组10μm)提升精度。

Energy Conservation 选项对比表​

选项​​专业定义​​通俗理解​​适用场景​​用户图中选择​
​none​不强制能量守恒,允许数值误差导致的能量波动"放任不管"模式:仿真速度快,但可能出现能量不合理的现象(如总功率>100%)快速调试或验证几何结构时使用未选中(风险高)
​make passive​强制系统为无源(忽略增益和非线性效应),但不严格保证能量守恒"节能模式":关闭所有"主动耗能"功能(如激光增益),但允许少量计算误差无源器件仿真(如硅光波导、MMI耦合器)​当前选中​​(推荐)
​conserve energy​严格满足能量守恒,通过数值修正确保输入=输出+损耗"强迫症模式":精确到小数点后多位,但计算速度慢20%以上高精度需求(如谐振腔Q值计算、非线性效应仿真)未选中(计算量大)

怎么区分对称和反对称?

为啥 是z min 对称而不是 z max ?​

  • ​​z min(衬底侧)​​:
    通常为硅波导与SiO₂衬底界面,电场自然对称(TE模 Ey​ 连续)。
  • ​​z max(上表面)​​:
    可能覆盖金属电极或空气,边界条件需根据实际设置:
    • ​​金属​​(图中选择):强制 Et​=0,模拟理想导体屏蔽。

三、添加全局监视器

为什么"x resolution=1000"?​
  • ​物理需求​​:
    高分辨率(如1000点)可精确捕捉场突变(如波导边缘倏逝场),避免锯齿状伪影。、

"x resolution=1000"​​ 是控制监视器水平方向精度的核心参数:
太高​​(如5000)→ 计算慢,但可解析纳米级细节
太低​​(如100)→ 丢失场振荡信息(如光子晶体禁带)
建议根据 x span 和结构特征动态调整,通常硅光器件设 ​​500-2000​​ 为宜。

​EME vs FDTD vs FDE 监视器对比表

特性​​EME 监视器​​FDTD 监视器​​FDE(无监视器)​
​工作原理​基于模式展开法,记录复数形式的模式振幅和相位(An​eiϕn​)直接记录时域电场/磁场随时间变化(E(t),H(t))直接求解静态模式场分布(E(x,y),H(x,y)),无需动态记录
​数据存储​必须勾选 save data(保存频域复数场)自动保存时域场(无需额外设置)结果直接存储在模式对象中(如 mode1
​输出类型​频域数据(与波长/频率绑定)时域数据(需傅里叶变换转为频域)静态空间分布(单波长)
​典型用途​分析模式耦合、相位干涉(如MMI分光比)模拟瞬态效应(如脉冲传播、非线性效应)获取波导/腔体的本征模式(如 neff​)
​用户图中体现​需手动勾选 save data 并指定文件名(如 field_profile无类似界面(默认记录所有时域场)无监视器界面,结果通过 getelectric("mode1") 直接获取
​通俗比喻​像录音机的“分轨录制”——分开记录每个乐器的声音(模式)像录像机——直接录下所有声音混合后的实时波形像拍照片——只拍一张静态画面(模式分布)
​计算开销​中等(需存储复数场)高(存储大量时域数据)低(仅计算静态场)
​关键设置​必须勾选 save data + 设置文件名只需定义监视器位置和类型无需设置,求解后直接读取模式结果

四、添加参数扫描

五、运行

(1)首先进行模式收敛扫描

元素​​专业定义​​通俗理解​​用户图中设置示例​
​Mode convergence sweep​模式数量收敛性扫描,验证仿真结果是否随模式数增加趋于稳定"测试需要算多少个模式才够准"起始模式=1,步长=1
​start mode [1]​扫描的起始模式编号(通常从基模开始)"从第1个模式开始试"1(基模TE₀)
​mode interval [1]​每次扫描增加的模式数"每次多算1个模式"1(逐步增加)
​mode sweep​执行扫描的按钮"开始测试按钮"灰色(需先设置参数)
​visualize mode sweep​可视化扫描结果(如模式功率随模式数的变化)"画图看结果稳不稳定"灰色(需先执行扫描)
​S-matrix index mapping​S矩阵索引与物理端口的映射关系"给每个端口和模式编号,方便查谁是谁"1→port1 mode1, 2→port2 mode1
​Source mode​指定S矩阵元素的激励源(端口+模式)"S₁₂表示port2激励→port1接收"port1 mode1(基模输入)

分析:

​参数​​数值/特征​​物理意义​
​初始值(mode=0)​≈0.5未考虑任何模式时的粗略估计值(通常无物理意义,仅作参考)
​首次骤降​mode=2→5 降至≈0.43低阶模(如TE₀/TM₀)开始介入,抵消初始估计误差
​波动阶段​mode=5→10 回升至≈0.46高阶模(如TE₁/TM₁)参与耦合,引发能量重新分配
​稳定收敛​mode>10 后维持在≈0.46模式数已足够描述系统能量分布,继续增加模式数对结果影响可忽略
  • ​最低需求模式数​​:​​10个模式​​(mode>10后曲线波动<1%)
  • ​最终稳定值​​:透射率/反射率等目标参数收敛于 ​​46%±0.5%​
  • ​异常点警示​​:
    • mode=0→2的骤变表明初始估计方法不适用(可忽略)
    • mode=5→10的波动提示存在显著的高阶模耦合

(2)按下 eme propagate按钮,然后从 field_profile 监视器可视化场分布

 

​选项/按钮​​专业定义​​通俗解释​​何时使用​​性能影响​
​include fast diagnostics​启用快速诊断,检查网格收敛性、模式正交性等基础问题"快速体检":扫描仿真设置中的明显错误(如网格太稀)每次仿真前建议勾选,尤其修改结构后增加5-10%计算时间
​update monitors​在传播过程中动态更新监视器数据(如功率、场分布)"实时直播":边算边看场变化,不用等全部结束需要观察光场传播过程时(如调试MMI多模干涉)增加20-30%计算时间
​include slow diagnostics​启用深度诊断,分析能量守恒误差、模式耦合系数等复杂指标"全面体检":详细报告哪里漏光/算错了最终正式仿真或结果异常时增加50-100%计算时间
​calculate group delays​计算群延迟(τg​=−dϕ/dω)"测速雷达":记录光通过器件的具体时间设计延时线或同步系统时增加15%计算时间
​eme propagate​​ 按钮执行模式传播计算,生成S参数和场分布结果"开始计算"按钮:点它才算数!所有仿真必点主计算流程耗时

​特征​​数值/位置​​物理意义​
​最高电场强度​≈0.5(红色区域)光场能量集中区,对应波导核心
​对称性​中心对称亮斑结构关于Y轴对称,激发基模(如TE₀₀)
​低场区域​深蓝色(强度<0.2)倏逝场衰减区或背景材料(如SiO₂衬底)
​X/Y轴范围​-10~40 μm, -4~4 μm仿真区域覆盖完整器件结构,包含输入/输出波导

那为啥关于y轴对称,就激活TE₀₀模式?

​对称轴​​激发模式​​专业条件​​通俗比喻​​典型应用场景​
​X轴对称​
(结构左右对称)
​TM₀₀模​电场主要沿X方向(Ex​),且Ex​(y)=Ex​(−y),磁场Hz​反对称"光像拉手风琴,左右伸缩振动"金属包层波导、TM偏振器
​Y轴对称​
(结构上下对称)
​TE₀₀模​电场主要沿Y方向(Ey​),且Ey​(x)=Ey​(−x),磁场Hz​对称"光像上下拍打的水波"硅光波导、MMI耦合器
​Z轴对称​
(结构旋转对称)
​混合模​
(如HE₁₁/LP₀₁)
电场同时含Er​和Eϕ​分量,相位随角度变化"光像螺旋前进的钻头"光纤、微环谐振腔
​三轴对称​
(XYZ全对称)
​TEM模​电场和磁场均垂直于传播方向,且Ex​=Ey​, Hx​=Hy​"光像均匀扩散的烟雾"同轴电缆、微波传输线
​无对称性​​杂化模​任意偏振态混合,Ex​, Ey​, Ez​均非零且无对称关系"光像打翻的颜料盘,杂乱混合"非规则纳米结构、散射体

 (3)在 EME 分析窗口中,启用波长扫描。将波长扫描设置为 1.5-1.6 µm,具有 100 个波长点。

分析:

​参数​​数值/范围​​物理意义​
​峰值透射率​0.44  1540 nmMMI在1540 nm处达到最佳耦合效率
​1 dB带宽​≈30 nm (1520-1550 nm)适用于CWDM粗波分复用(ITU-T G.694.2标准)
​滚降斜率​-0.015/nm (1550-1600 nm)长波长区性能劣化,可能源于高阶模激发或材料吸收
​纹波波动​<±0.02 (1500-1580 nm)干涉稳定性优异,适合作为功率分配器

也可以使用 Optimization and Sweeps 进行扫描

那么​​EME内置扫描 vs Optimization and Sweeps的区别是啥?

对比维度​​EME内置扫描​​Optimization and Sweeps​​通俗比喻​
​1. 功能定位​单参数离散化扫描多参数联合优化+智能采样手动显微镜 vs AI显微镜
​2. 算法原理​线性/对数步长暴力遍历
(xi​=xmin​+i⋅Δx)
遗传算法/梯度下降/Pareto优化
(自适应加密热点区域)
用尺子画格子测量 vs 无人机热成像测绘
​3. 参数控制​仅支持单变量扫描支持多变量正交组合
(如同时优化长度+宽度+材料)
一次只能调一个旋钮 vs 多个旋钮自动协同
​4. 采样策略​固定步长(可能过采样或漏检)动态步长:
• 初期粗扫全局
• 后期加密最优区
等间隔抽检 vs 先普查再重点排查
​5. 目标驱动​无目标函数,全量数据采集用户定义目标(如Max T@1550nm)
+约束(如带宽>30nm)
无目的记录所有数据 vs 带KPI的智能搜索
​6. 输出结果​原始数据曲线(需人工分析)Pareto前沿、灵敏度矩阵、最优参数组合给你一堆照片自己找 vs 直接推荐最佳美颜方案
​7. 计算效率​低(固定次数计算)高(动态跳过无效区域)每个角落都翻一遍 vs 直奔可能有宝藏的地方
​8. 终止条件​固定步长完成后停止收敛判据(ΔT<0.1%)
或最大迭代次数
跑完全程才停 vs 达标就收工
​9. 适用场景​• 快速验证单参数趋势
• 实时调试
• 多参数trade-off分析
• 工艺容差评估
• 产品级优化
学生作业 vs 毕业设计/商业项目
​10. 操作复杂度​低(集成在EME界面)高(需配置目标/约束/算法)手机拍照 vs 单反调参
​11. 误差控制​依赖用户预设步长精度内置残差检测+网格自适应人工把控质量 vs 自动化质检
​12. 典型应用​• 验证MMI长度-透射率关系
• 观察模式场随波长变化
• 优化光栅周期+占空比组合
• 平衡Q值与带宽
试吃不同口味 vs 定制完美食谱
​13. 结果差异根源​可能错过最优解(如峰值在两步长之间)逼近理论最优解(加密关键区采样)用渔网捞鱼 vs 声呐定位精准捕捞

(4)启用传播扫描并选择组跨度 2。相应地将开始和停止长度设置为 10 µm 和 200 µm。 将间隔设置为 1,然后按 eme sweep,然后可视化 eme sweep。

可以看到,最大传输发生在约 37 µm 的纤芯长度处。

(5)加载 MMI_sweep_taper.lsf脚本文件并运行它。 结构组的锥度宽度属性上的参数扫描任务将返回用户 s 矩阵,并将提供作为锥度宽度函数的损失图。

代码如下

# run the sweep over taper width
runsweep("taper_width_sweep");

# collect sweep results
s_matrix = getsweepresult("taper_width_sweep","s-matrix");
usr_s_matrix = getattribute(s_matrix,"user s matrix");
taper_width = getparameter(s_matrix,"taper_width");

# calculate transmission
s_21 = usr_s_matrix(2,1,1:length(taper_width));
trans = 2*abs(s_21)^2;

plot(taper_width*1e6,-10*log10(trans),"Taper width (um)","Loss (dB)");

​特征点​​锥度宽度(μm)​​损耗(dB)​​物理意义​
​峰值损耗​0.451.55锥度过窄导致模式失配,引发高阶模辐射损耗
​最低损耗​1.100.22宽锥度实现绝热传输,但可能牺牲器件紧凑性
​拐点位置​0.700.80模式转换临界点,超过此宽度后基模主导

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薰衣草2333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值