恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Comsol仿真SPP波导EIT:双模型设计与参数优化详解
首页
资讯中心
/
Comsol仿真SPP波导EIT:双模型设计与参数优化详解
Comsol仿真SPP波导EIT:双模型设计与参数优化详解
发布时间:2026/10/16 16:53:32
1. 项目概述从标题说起“Comsol 中的 SPP 波导 EIT探索两个有趣模型”这个标题我第一眼看到就觉得很对胃口。它把三个关键词压缩在了一起Comsol多物理场仿真软件、SPP 波导表面等离激元波导、EIT电磁诱导透明。如果你正在做微纳光学、片上光子集成、传感器或者慢光器件相关的研究那这三个词组合起来几乎就是一篇能直接拓展成论文的工程方案。先说清楚这三个东西分别是什么。SPP 是表面等离激元Surface Plasmon Polariton的缩写本质是光与金属表面自由电子集体振荡耦合形成的一种电磁模式它能把光场束缚在金属-介质界面上突破衍射极限。波导则是给光“铺路”的结构SPP 波导就是让这种表面波沿着特定路径传播的通道。EIT 原本是原子物理里的量子干涉效应表现为原本吸收强烈的介质在某一频率处出现透明的窗口伴随着极大的色散所以能实现慢光和强非线性。后来研究者发现在室温下的光子结构里也能“模拟”出类似的现象这就是所谓类 EIT 或等离激元诱导透明PIT。把这三者放到 Comsol 里做仿真核心目标无非两种一是理解物理机制——看看共振模式怎么耦合、相位怎么抵消二是做工程设计——扫描结构参数找出透射峰最尖锐、灵敏度最高的几何尺寸。这两个诉求正好对应了标题里说的“两个有趣模型”后面我会详细展开我搭的两个模型以及我在这个过程中的思路、参数选择和踩坑记录。适合谁来读这篇我觉得三类人最合适刚接触 Comsol 光学仿真、想知道 SPP 波导怎么建模的研究生已经会跑基本仿真但想尝试“波导-谐振器耦合”这类多物理场问题的工程师以及想把 EIT 效应从理论公式变成可视化电场分布图、再进一步设计成传感器或慢光器件的科研工作者。如果你只是听说过 EIT 这个名词不知道它跟波导有什么关系这篇文章也能帮你把链条理清楚。2. 为什么要用 Comsol 做 SPP 波导 EIT 仿真2.1 多物理场耦合的天生优势我最早接触 Comsol 是在某个微纳光学课题组之前用过其他时域有限差分工具。那些工具在简单结构上很好用但一旦涉及“金属的光学属性随波长变化”“多个物理场同时作用”这类问题设置起来就非常别扭。Comsol 的 RF 模块或波动光学模块采用有限元方法最大的好处是几何灵活性高——复杂截面、倾斜侧壁、多层堆叠都能直接建模材料属性也可以定义成任意函数不只是查表插值。对于 SPP 波导来说金属材料的介电常数至关重要。金、银在可见光和近红外波段的介电常数实部是负值这正是 SPP 能存在的关键。Comsol 里既可以用内嵌的光学材料库也可以手动输入实验数据甚至用 Drude-Lorentz 模型的公式来定义。这一点在后处理分析的时候特别重要因为 EIT 窗口的位置、宽度、对比度都跟金属损耗直接相关。另外Comsol 的“模式分析”求解器可以直接计算波导截面的有效折射率和模式场分布这是设计 SPP 波导最顺手的功能。你可以先算一个只有直波导的模型看基模长什么样再加谐振器看耦合劈裂最后加输入输出端口得到透射谱。整个流程是渐进的每一步都看得到物理图像做起来心里很踏实。2.2 频域仿真为何是 EIT 模拟的首选EIT 效应是一个稳态的、线性的干涉现象对于这种问题频域求解比时域求解快一个数量级。Comsol 的频域求解器本质上是求解亥姆霍兹方程在各种边界条件下的解每个频率点单独求解然后扫频获得光谱响应。这样做的优势是单个频率点的计算成本低边界条件完美匹配层、散射边界、周期性条件处理很成熟而且直接得到复数场便于提取透射/反射系数的幅值和相位。我在做第一个模型的时候扫频范围设为 120 THz 到 180 THz步长 1 THz一共 61 个频点网格十几万个自由度大概十分钟不到就跑完了。如果用 FDTD同样的频段和空间分辨率可能要跑三十倍的时间。所以对于 EIT 这种窄带效应频域扫频几乎是唯一理性的选择。当然频域方法也有短板——它假设系统是线性的。EIT 的经典解释本身就是线性干涉不是非线性效应所以这个假设完全OK。你做的是“类 EIT”模拟不是非线性 EIT频域就是最准确的工具。2.3 我为什么建议“先两个模型再变体”很多初学者一上来就想搭一个“能出 EIT 窗口”的复杂结构比如多槽波导加环形谐振器但往往忽略了物理上的逻辑顺序。我个人的经验是第一个模型先用经典的“直波导—侧耦合单谐振器”结构把共振谷的位置和形状跑出来确认金属-介质界面上 SPP 模式确实存在并且谐振器的本征频率落在你扫频范围内。第二个模型再加第二个谐振器引入两个共振路径之间的干涉观察透射谱里出现的不对称线形和透明窗口。这两步是递进关系没有第一步你连共振模式都没对准第二步的耦合劈裂就是空中楼阁。两个模型都跑通之后你就可以大胆做变体了——比如把两个谐振器改成嵌套式、级联式或者把介质从空气换成二氧化硅一切都能快速迭代。后面我会把每一步的关键参数和设置写清楚照着做是可以复现的。3. 模型一SPP 直波导与侧耦合单谐振器3.1 几何建模与材料定义第一个模型我选的是经典的金属-绝缘体-金属MIM波导结构。为什么选 MIM因为它的场约束能力极强能在深亚波长尺度下导光而且几何上就是一个矩形槽极好建模。几何参数如下波导宽度 w 50 nm谐振器是一个边长为 L 200 nm 的矩形腔放置在直波导的一侧耦合间距 g 20 nm也就是谐振器与波导之间的空气间隙。金属选择银理由是在通信波段银的损耗比金更低EIT 窗口更尖锐。在材料设置上银的介电常数不能设成常数我用的是 Drude 模型ε(ω) ε∞ - ωp² / (ω² i·γ·ω)其中 ε∞ 3.7ωp 1.38×10^16 rad/sγ 2.7×10^13 rad/s。这些参数是文献里的经典值能比较好地拟合可见和近红外波段银的光学常数。你可以直接用 Comsol 里的“介电常数-用户定义”功能写成表达式即可注意单位用国际单位制。这里有个容易犯的错很多人直接填“折射率 n 0.14487 4.539i”银在633 nm的复折射率但折射率是频率相关的扫频范围内银的色散必须体现出来。如果填常数整个 EIT 窗口的位置和宽度都是错的。所以一定要用色散模型。3.2 物理场与边界条件设置物理场选“波动光学频域”。默认求解的是电场三维模型可以选“面内模式”即仅解 Ex、Ey、Hz 或类似模式对于二维仿真来说计算量会小很多。我建议第一次做用二维模型把所有结构画成面波导的厚度方向视为无限延伸对应实验中的 slab 结构。边界条件里最关键的是最外层我设置了一个厚度为 200 nm 的完美匹配层PML用来吸收向外辐射的散射场。如果你不加 PML反射波会干扰透射谱出现莫名其妙的振荡条纹。然后左侧端口用“端口”边界条件类型设“数值端口”会自己计算入射模式右侧用同样的端口接收透射。模式分析求解器预先运行一次得到基模的传播常数和场分布端口就会自动匹配这个模式。提示数值端口是在 Comsol 5.x 之后的新功能非常方便。你只需在边界上选中一个面设定模式数量为 1基模求解器会自动算出有效折射率。如果手写“散射边界条件 入射场”也不是不行但透射率的归一化会很麻烦。3.3 网格划分是仿真成败的一半有限元的网格直接影响结果的准确性和计算时间。我的策略是金属区域和波导间隙最大单元尺寸 5 nm。谐振器内部和耦合间隙最大单元尺寸 3 nm因为场最强的区域就在这里。其他介质区域最大单元尺寸 20 nm。PML 区域最大单元尺寸 30 nm但要用“映射”网格拉伸不能默认自由三角形。网格数量我大致控制在 8 万到 12 万之间内存占用约 4 GB。如果你的机器内存小于 8 GB建议把结构整体尺寸缩放 1.2 倍网格再松一点但谐振器内部的尺寸限制不能超过 5 nm。经验是谐振器内部单元尺寸每放大一倍共振频率会偏移大约 3%~5%做 EIT 这种精细干涉效应必须保证网格收敛。怎么确认网格收敛很简单把所有尺寸参数除以 2重算一遍如果透射谱的峰位移动小于 0.5 THz就说明网格足够密了。如果峰位移动超过 1 THz继续加密。3.4 扫频与结果解读扫频范围我设 130 THz ~ 170 THz步长 0.5 THz。这个范围覆盖了谐振腔的基模共振频率。基模共振频率可以用公式估算f c / (2·neff·L)其中 neff 是腔内 SPP 模式的有效折射率L 是腔长。对于 200 nm 长的银-空气-银腔neff 大约在 1.4 左右估算 f 约为 170 THz所以我扫到 170 THz 以上也留了余量。跑完之后在“全局计算”里定义透射率 T 端口2 的功率 / 端口1 的功率。画出来的谱线在共振频率处应该有一个明显的凹坑这就是腔的共振吸收。同时你可以画电场模的分布图在共振点应该能看到谐振器内部场强明显增强而且直波导里的透射场大幅削弱这是典型的共振增强吸收。这一步的意义是什么确认“直波导-腔”系统的共振位置、共振强度和品质因子 Q。Q 值可以用半高宽求得Q f0 / Δf。我的模型里 Q 大约在 30 左右。Q 值决定后续 EIT 窗口的宽度Q 越高EIT 窗口越窄、越容易分辨。注意单谐振器不会出现透明窗口它只有吸收谷。如果你已经看到了谷恭喜第一步成功了。这里最容易犯的错误是谐振器的本征频率不在扫频范围内结果谱线平平无奇然后你开始怀疑物理场设置有问题。我自己就干过这种事——第一次腔长设成 400 nm共振频率落在 85 THz而扫频范围是 150~200 THz当然什么都看不见。先算一下估算频率再定扫频范围不要盲目扫。4. 模型二双谐振器耦合与 EIT 窗口的形成4.1 两个谐振器的设计思路第二个模型是在第一个模型的基础上添加第二个谐振器。经典 EIT 需要两个共振路径一个“亮模式”能直接被输入光激发另一个“暗模式”不能直接被输入光激发但通过近场耦合与亮模式发生相互作用。在波导结构里我设计了一个“双矩形腔”系统大腔亮模式直接与直波导侧耦合小腔暗模式只通过间隙与大腔耦合与直波导保持较大距离超过 100 nm因此不能被直波导里的 SPP 直接激发。几何参数如下大腔尺寸 200 nm × 250 nm小腔尺寸 160 nm × 200 nm大腔到波导的间隙 20 nm大小腔之间的间隙 15 nm。其余金属、介质、边界条件设置与模型一一致。这一设计的核心思想是通过调整两个腔的共振频率使之接近或重合当两者的耦合强度和阻尼率满足特定关系时透射谱在吸收谷中间会出现一个透明窗口。为什么小腔需要离波导足够远如果小腔也离波导很近输入光会直接激发它那就成了两个独立的吸收体不会产生干涉透明。暗模式必须保持“暗”——只能通过亮模式间接激发。这是物理层面最容易出错的地方也是能不能出 EIT 的决定性因素。4.2 耦合振荡模型用理论预判参数在仿真之前我习惯先用耦合洛伦兹模型做一下预判。两个谐振腔的模式可以用两个耦合阻尼振荡器描述其复振幅 a1、a2 满足(ω - ω1 iγ1) a1 κ a2 μ E_in (ω - ω2 iγ2) a2 κ a1 0其中 ω1、ω2 是两个腔的共振频率γ1、γ2 是衰减率与 Q 值相关κ 是耦合强度μ 是亮模式与输入光的耦合系数。求解这个方程组可以得到系统对光的响应其透射率 T 正比于 |1 f(ω)|² 的倒数形式。当 ω1 ≈ ω2 且条件 γ2 γ1、κ γ2 时透射谱在共振中心会出现一个窄的透明峰。这堆式子不是摆设它告诉我两件事第一两个腔的本征频率必须互相接近偏差不要超过一个线宽第二暗腔的损耗要比亮腔小很多也就是说小腔的 Q 值要高对应体积可以小一点、耦合弱一点。我用 3.1 节的估算公式分别算一下两个腔的共振频率然后微调小腔长度让它们靠近就能在扫频前锁定参数范围。这一步帮我省了不少试错时间。4.3 扫频设置与透明窗口的出现扫频范围和模型一相同130~170 THz步长 0.2 THz。为什么要减小步长因为透明窗口的宽度可能只有 2~3 THz如果步长 1 THz峰位可能正好跨过就看不到了。这个经验值得记住EIT 窗口的精细度决定了扫频步长扫描之前先用耦合模型估算窗口宽度再设定合适的频率步进。跑完之后我把透射率画出来结果非常典型在 154.5 THz 附近本来应该有一个深的吸收谷但谷底出现了一个窄的峰值峰值透射率大约 0.72两侧谷底透射率 0.31。这就是类 EIT 透明窗口。同时在透明峰处两个腔内的电场分布呈现出截然相反的模式——一个腔里场强增强另一个腔里场强也增强但相位相反远场干涉导致透射增强。这个结果印证了物理判断两个模式之间的反相干涉抑制了辐射损耗让原本被吸收的能量不再被消耗系统呈现出“透明”假象。实际上它不是真正无损耗而是损耗通道被干涉封锁了。实操心得如果你在谱线上看到的是一个不对称的 Fano 线形而不是对称的透明峰别慌——这也很常见。Fano 线形意味着两个模式的频率没有完全对齐或者耦合强度与损耗的比值不在最优区间。你可以微调小腔的长度比如每次改 5 nm或者调整两个腔的间距观察透明窗口逐渐变得对称这个过程非常有成就感。4.4 关键参数扫描灵敏度与慢光跑出标准 EIT 窗口之后我开始做参数化扫描这是模型价值的真正所在。第一个扫描是看透明窗口随小腔几何尺寸的移动我扫了小腔长度 150 nm 到 180 nm步长 5 nm每一条透射谱画出之后可以看到透明峰位置随腔长线性移动几乎满足公式 Δf/f -ΔL/L。这就是传感器设计的直接依据环境折射率变化或分子附着改变腔长等价地改变共振频率而 EIT 窗口比单共振谷窄得多所以波长分辨率更高检测极限更好。第二个扫描是看电场增强倍数随耦合距离的变化我扫了 10 nm 到 40 nm。距离越近耦合强度 κ 越大透明窗口越宽但距离太近小于 12 nm暗模式被直接激发透明窗口被破坏。10 nm 以下金属损耗急剧上升窗口几乎消失。所以存在一个最优间距区间在你设计具体结构时这个区间就是工艺容差。另外如果你关心慢光效应可以提取透明窗口处的有效群折射率。在频域里群折射率 ng c·dβ/dω其中 β k0·neffneff 可以借助两个端口的相位差求出来。由于透明窗口处的相位变化非常剧烈色散很强ng 可以达到 40~60对应慢光因子 40 倍左右。这一点对于光延迟线和光缓存器件很有价值。5. 实操过程从建模到数据提取的完整记录5.1 软件环境与全局参数表我用的 Comsol 版本是 6.1波动光学模块Wave Optics Module但 5.6 版本同样能完成这些操作。建议在“全局参数”里统一管理所有尺寸和材料参数这样改几何只需要改参数表不用逐个修改几何实体。下面是我这次的参数总表参数名表达式值默认说明w_wg50[nm]5E-8波导宽度L_cav1200[nm]2E-7大腔长度W_cav1250[nm]2.5E-7大腔宽度L_cav2160[nm]1.6E-7小腔长度W_cav2200[nm]2E-7小腔宽度gap120[nm]2E-8大腔与波导间距gap215[nm]1.5E-8两腔间间距d_pml200[nm]2E-7PML 厚度所有尺寸参数都写成 nm长度单位用全局 unit system 设为 nm 也可以但建议直接用“m”的变形避免单位换算混乱。5.2 建模流程的逐步图解步骤新建模型选择二维、波动光学、频域。在几何组件里画一个大矩形作为背景介质材料设为空气n1。画波导槽用两个小矩形相减形成 50 nm 宽、12 μm 长的凹槽。画谐振器大腔是矩形小腔是矩形放在波导一侧。注意保留耦合间隙——不是把腔直接贴到波导上间隙也是空气区域。画 PML在背景矩形外面再套一层矩形厚度 200 nm。把这层材料定义为 PML注意 PML 在“坐标缩放比例”里设成笛卡尔型方向按外边界法向。材料定义银区域用 Drude 模型其他默认空气。物理场设置边界条件里选端口 1、端口 2端口类型为数值模式数设为 1外部边界设为默认的连续性最外圈是 PML 的截断边界默认金属边界不需要改。研究一模式分析。先求解端口模式得到有效折射率然后把它赋给端口。研究二频域扫频。在“研究扩展”里把模式分析的结果作为初始值传入。后处理添加全局计算表达式 T comp1.T_efficiency_2画一维图再添加二维图组画电场模和电场分量。我在做第 8 步时经常遇到一个问题模式分析不收敛报错信息通常是“未找到本征值”。解决办法是用一个粗糙的初始值或者把端口位置选得离结构远一点在直波导输入口前面加一段 500 nm 的辅助波导只用于模式分析。跑完模式分析后把辅助段删除或设为完美匹配区域。5.3 参数化扫描和结果导出的实用技巧参数化扫描在“研究”里右键添加选择要扫描的参数比如 L_cav2设置范围。Comsol 会为每组参数生成一个解后处理时可以叠加显示所有曲线。如果你想导出数据做进一步分析比如算群折射率或画相频曲线我建议用“一维绘图组”里的“点图”提取端口处的场和相位然后右键“导出”为 CSV 文件。CSV 里会有频率、电场的实部和虚部用 Python 或任何数据处理软件处理都很方便。下面是我用 Python 读取 CSV 画透射谱的示例代码供参考import numpy as np import matplotlib.pyplot as plt data np.loadtxt(s_parameters.csv, delimiter,, skiprows8) freq data[:, 0] # 单位 THz E1 data[:, 1] 1j*data[:, 2] # 端口1的场 E2 data[:, 3] 1j*data[:, 4] # 端口2的场 T np.abs(E2 / E1)**2 plt.plot(freq, T, linewidth1.8) plt.xlabel(Frequency (THz)) plt.ylabel(Transmittance) plt.title(EIT-like window) plt.savefig(T_eit.png, dpi300)注意Comsol 导出的数据格式可能因版本不同而略有差异skiprows 参数要根据文件头行数调整。我一般用记事本打开看一眼再定行数避免“一行代码卡半天”的尴尬。5.4 后处理必看的三个图除了透射谱我还强烈建议你画三张图来辅助确认物理图像第一张是透明窗口峰位处的电场模分布。你应该看到直波导里透射波增强两个腔内都有明显的场局域特别是小腔内部电场强度会是入射场的数十倍。如果场都集中在波导里、腔内很弱说明耦合太弱透明窗口是假的纯属数值伪影。第二张是共振谷处的电场模分布。对比透明峰位你会在两个腔内看到完全不同的相位分布。相位可以用“表面图 箭头”或者“颜色表 透明阀值”来看。两个腔之间相位相反正是 EIT 的干涉指纹。第三张是沿波导中心线的一维电场振幅剖面从输入到输出观察 SPP 的传播长度。透明峰处SPP 能传得比纯吸收峰处远很多。这相当于把“慢光/透明”从谱线转移到空间维度非常直观。6. 常见问题与排查技巧实录6.1 一个典型的“透明窗口消失”排查过程我做第二个模型时第一次扫频出来完全没有预期的透明峰只在原吸收谷位置看见一个非常浅、几乎看不出的小峰。我当时并没有马上改结构而是按下面的思路排查第一步检查透射率数值。我把透射率曲线和单谐振器模型的谱线叠加对比发现我的双腔模型在 154 THz 处透射率是 0.68而单腔模型是 0.62也就是说确实有“抬升”但幅度不够。这说明 EIT 干涉已经发生只是窗口很浅。第二步检查暗模式激发。我在小腔中心提取了电场强度发现它确实比大腔低很多说明小腔没有被入射光直接激发符合“暗模式”条件但进一步看相位分布发现小腔内的场分布不是标准的驻波模式而是像被“拖拽”的渐变模式——这说明小腔的尺寸和腔长不匹配暗模式的有效共振频率偏移了。第三步修正暗腔尺寸。我把小腔长度从 160 nm 改成 148 nm窗口立即升高到 0.75 以上。这个 12 nm 的修正来自有效折射率的频率色散——我没有把 SPP 模式的有效折射率在可见光和近红外的变化考虑进估算公式。修正后窗口的对比度明显改善。这个案例说明一个道理当 EIT 窗口比预期浅时先别急着改耦合距离或材料先检查“两个模式的频率是否精确对准”这是最常见的元凶。6.2 常见问题速查表现象可能原因处理方法扫频透射谱是平的没有任何谷扫频范围没覆盖共振频率用估算公式求出腔的共振频率缩小和调整扫频范围共振谷位置和理论估算差很多网格过粗有效折射率不准加密谐振器区域网格验证网格收敛双腔模型没有透明窗口暗腔没起到暗模式作用或共振失谐检查暗腔与波导的距离、微调暗腔尺寸透明窗口极度不对称像 Fano双腔频率差略大于耦合强度损耗不平衡缩小频率差增大耦合减小亮腔损耗透射率超过 1PML 反射、模式归一化问题增加 PML 厚度检查端口模式是否准确内存溢出或算得太慢网格过密频率点过多适当增加网格大小减少频率点用插值后处理6.3 独家避坑技巧模式分析的一步到位很多教程会让你先运行“模式分析”研究再把结果手动赋给端口参数。这个流程容易出错尤其是当你修改了材料或几何之后忘记更新端口模式。更稳妥的办法是在“端口”边界条件的设置里把“模式选择”选为“自动”并勾选“计算模式”这样扫频之前 Comsol 会自动重新计算当前几何下的模式每轮参数扫描都会更新。这个技巧在参数化扫描时特别有用——如果你做的是“小腔长度扫描”模式的有效折射率也会随网格和几何变化手动赋值会积攒误差。自动模式计算虽然多花一点时间但结果可靠性高得多。我实测过自动模式下参数扫描的透射谱曲线平滑无跳变而手动模式下偶尔会出现突然的跃变点。6.4 不要忽略金属色散模型的适用频段我选的是 Drude 模型它在近红外到通信波段表现很好但在可见光范围偏差会变大。如果你把波长调到 600 nm 以下银的介电常数需要加入带间跃迁修正Drude 模型就不够准了。解决办法是改用插值数据或者 Lorentz-Drude 扩展模型。判断方法是当你发现共振峰位置和实验值偏离超过 5%优先怀疑材料模型而不是怀疑你的几何参数。很多论文里提供的“材料参数”都只适用于他们自己的频段你拷贝过来做仿真时一定要先检查适用波长范围。7. 个人经验总结与扩展思路两个模型跑完之后我的体会是Comsol 做 SPP 波导 EIT 仿真的门槛其实不在软件操作而在物理判断。软件只需要按部就班设置好几何、材料、端口和扫频剩下的功夫全在于怎么理解“为什么这个透明窗口会出现”。你如果能用耦合洛伦兹模型预判谱线形状再回来调几何参数效率会高很多。最后一个经验参数化扫描时不要一次扫太多参数。我先固定其他参数只扫小腔长度找到最优值然后固定小腔再扫耦合间隙。一次只动一个变量能避免陷入多维参数空间的迷茫。如果你做的是三维版本计算量大了之后再嵌套两层扫描单次仿真可能要跑半小时以上这时候更要养成“先二维预研、再三维验证”的习惯。后续可以扩展的方向很多把两个腔改成环形谐振器结构制作微环-波导 EIT 传感器引入增益材料补偿金属损耗看透明窗口能否进一步变窄或者在三维结构里加入电极实现电调控的 EIT 开关。只要两个模型的核心物理吃透了这些扩展无非是几何和材料换一换物理图像还是一样。希望这篇记录能帮你少走几个弯路。