comsol布拉格微环谐振器原文为三维此为二维复现效果会有差异自行考虑。 编号029最近在复现某篇三维布拉格微环的论文时卡在网格剖分上果断切到二维模式先试水。虽然维度缩水会影响光场限制能力但对理解模式耦合机制倒是够用。咱们直接从环形波导开整// 几何建模老套路 double R 10e-6; // 环半径 double w 0.5e-6; // 波导宽度 double gap 0.2e-6; // 环形-直波导间距 // 环形波导 model.geom().create(ring, Circle); model.geom(ring).set(r, R); model.geom().create(wg, Rectangle); model.geom(wg).set(size, new double[]{3*w, 3*w});这里有个坑二维模拟中材料折射率得手动补偿维度损失。原本Si的n3.46这里我悄悄调高到3.6。别问问就是二维世界物理法则不同其实是为了补偿z方向约束缺失。边界条件设置得玩点花的// 端口激励配置 model.physics(ew).feature(port1).set(WaveType, TE); model.physics(ew).feature(port1).set(neff, 2.8); // 初始猜测值很关键 model.physics(ew).feature(port2).active(false); // 先开单端口扫频注意这个TE模式选择——在二维电磁波接口里TE相当于电场垂直于平面和三维情况下的模式偏振有差异。建议先跑个模式分析确认基模形态否则后续谐振峰可能对不上。comsol布拉格微环谐振器原文为三维此为二维复现效果会有差异自行考虑。 编号029扫频参数设置直接影响结果可信度// 波长扫描范围 double[] lambda_range linspace(1540e-9, 1560e-9, 200); model.study().create(std1); model.study(std1).create(freq, Frequency); model.study(std1).feature(freq).set(plist, c0./lambda_range);这里用c0./lambda_range反向构造频率点比直接填频率值更直观。记得检查材料色散设置是否开启特别是当论文中提到高Q值谐振时忽略色散会导致峰位漂移。结果提取阶段重点关注场分布% 谐振点电场切片 mphglobal(model, ewfd.E); [E, x, y] mphinterp(model, {ewfd.E}, coord, [X;Y]); quiver(x,y,E_x,E_y); % 观察环形区域涡旋当看到电场在环内形成完整驻波时说明模式锁定成功。二维模拟的损耗主要来自弯曲辐射这和三维的实际侧壁散射损耗机制不同所以Q值会虚高别被数值忽悠。最后忠告遇到谐振峰分裂时先查网格是否在环形波导侧壁足够细密至少8层网格。二维虽省算力但该花的网格钱不能省——毕竟咱们在降维打击精度得从别处找补回来。
布拉格微环二维生存指南(编号029)
comsol布拉格微环谐振器原文为三维此为二维复现效果会有差异自行考虑。 编号029最近在复现某篇三维布拉格微环的论文时卡在网格剖分上果断切到二维模式先试水。虽然维度缩水会影响光场限制能力但对理解模式耦合机制倒是够用。咱们直接从环形波导开整// 几何建模老套路 double R 10e-6; // 环半径 double w 0.5e-6; // 波导宽度 double gap 0.2e-6; // 环形-直波导间距 // 环形波导 model.geom().create(ring, Circle); model.geom(ring).set(r, R); model.geom().create(wg, Rectangle); model.geom(wg).set(size, new double[]{3*w, 3*w});这里有个坑二维模拟中材料折射率得手动补偿维度损失。原本Si的n3.46这里我悄悄调高到3.6。别问问就是二维世界物理法则不同其实是为了补偿z方向约束缺失。边界条件设置得玩点花的// 端口激励配置 model.physics(ew).feature(port1).set(WaveType, TE); model.physics(ew).feature(port1).set(neff, 2.8); // 初始猜测值很关键 model.physics(ew).feature(port2).active(false); // 先开单端口扫频注意这个TE模式选择——在二维电磁波接口里TE相当于电场垂直于平面和三维情况下的模式偏振有差异。建议先跑个模式分析确认基模形态否则后续谐振峰可能对不上。comsol布拉格微环谐振器原文为三维此为二维复现效果会有差异自行考虑。 编号029扫频参数设置直接影响结果可信度// 波长扫描范围 double[] lambda_range linspace(1540e-9, 1560e-9, 200); model.study().create(std1); model.study(std1).create(freq, Frequency); model.study(std1).feature(freq).set(plist, c0./lambda_range);这里用c0./lambda_range反向构造频率点比直接填频率值更直观。记得检查材料色散设置是否开启特别是当论文中提到高Q值谐振时忽略色散会导致峰位漂移。结果提取阶段重点关注场分布% 谐振点电场切片 mphglobal(model, ewfd.E); [E, x, y] mphinterp(model, {ewfd.E}, coord, [X;Y]); quiver(x,y,E_x,E_y); % 观察环形区域涡旋当看到电场在环内形成完整驻波时说明模式锁定成功。二维模拟的损耗主要来自弯曲辐射这和三维的实际侧壁散射损耗机制不同所以Q值会虚高别被数值忽悠。最后忠告遇到谐振峰分裂时先查网格是否在环形波导侧壁足够细密至少8层网格。二维虽省算力但该花的网格钱不能省——毕竟咱们在降维打击精度得从别处找补回来。