如果你做硅光子或集成光学,一定绕不开倏逝场。很多表面传感、光镊、非线性混频器的灵敏度,本质上赌的就是波导芯层外表面那一层电场到底有多强。但标准矩形波导的模式约束太强,场基本都在芯里,表面根本分不到多少能量。有人想到了用Taper结构,也就是锥形绝热过渡,把波导拉细,让模式的横向约束变弱,把场“拱”出芯层、推向包层表面。这个想法听着简单,真在Comsol里落地时会遇到一箩筐问题:锥形多长算长?末端要缩到多细?倏逝场是变强了,可传输损耗也跟着涨,效率究竟怎么算?这篇文章就基于我实际做的一个波导传输仿真项目复盘,一步步讲Taper结构对倏逝场效率的影响怎么分析、怎么建模、怎么避免掉进参数陷阱。
1. 为什么用Taper增强倏逝场:先说清楚物理逻辑
1.1 倏逝场效率到底指什么
倏逝场这个词听着玄,说白了就是波导在传输模式的时候,场并没有完全被约束在芯层里,而是有一小部分穿透到了包层,沿界面方向贴着表面跑,垂直方向指数衰减。这部分场就是倏逝场。你做表面传感的时候,待测物质放在波导表面,真正能探测到的东西全在这层倏逝场里,芯层里的光再强也够不着外界的物质。
衡量“倏逝场效率”最直观的指标是占空比,我通常用R_ev表示:把整个模拟区域内的电场能量密度积分,看有多少比例落在芯层区域以外。R_ev越高,说明场分布越靠外,表面灵敏度越好。但要注意,这只是一个空间占比指标,R_ev高不代表最终能用的光功率高,因为波导还可能存在传输损耗、模式失配损耗、反射损耗。所以我更建议用一个综合指标η = T × R_ev,T指的是透过率,也就是输出端口光功率和输入端口光功率的比值。这个η才是真正有用的“倏逝场效率”,后面建模和扫描全围绕它展开。
1.2 Taper的“绝热”条件:为什么不是越短越好
有人一看,把波导拉细能增强倏逝场,那就直接来个突变不就完了?从620纳米宽直接跳变到120纳米宽,模型建起来也方便。但物理上会出大问题:模式在突变截面处会发生强烈的模式耦合,基模能量会分配到高阶模、辐射模上去,相当于光在“台阶”上被摔碎了一部分。透过率掉得让你怀疑人生。
这就是Taper存在的意义。Taper结构的目的不是突然变窄,而是让波导截面沿着传播方向缓慢变化,让模式的横向分布有足够长的距离去“适应”新的几何约束。如果变化足够缓慢,基模的能量就一直待在基模里,不往高阶模漏,这个过程在工程上叫绝热过渡。
绝热条件怎么把握?我个人的经验是,Taper的总长度至少是波长的20倍量级,并且过渡锥角要足够小。拿1.55微米波长来说,Taper长度做到30微米到60微米,从620纳米过渡到120纳米,角度几乎贴着水平线,模式基本不反弹。如果你把Taper压到5微米,锥角太陡,往回看简直像一个楔形陷阱,高阶模耦合、背向反射全来了,透过率直线下降。这也是为什么很多片上器件宁可牺牲一点版图面积,也要把锥形拉得很长。
1.3 仿真维度选型:2D截面、3D全波怎么做
真正建模的时候,第一个选择题是:用2D还是3D。
如果只是想初步判断不同波导宽度下倏逝场占比变化趋势,可以只建2D截面模型,在Comsol里用模式分析算不同宽度下的模场分布,扫一个宽度范围,几分钟就能拿到趋势曲线。这个做法的优点是非常快,适合确定方案;缺点是完全没有纵向传播过程,Taper长度的影响一概看不出来。
要分析Taper长度和传输损耗,就必须在传播方向上有几何变化,这时候就需要纵向模型。最完整的选择是3D全波仿真,几何准确、物理完整,但网格量和计算资源消耗都相当可观。一个60微米长的三维波导模型,芯层区域网格要剖到纳米级,自由度数随随便便上百万,普通工作站跑起来要按小时起算。
折中的做法是用2D纵向有效折射率近似:把三维条形波导等效成一个二维平板波导,芯层区域的折射率用对应宽度的有效折射率替代。这个方案能捕捉Taper长度对模式演化和反射的影响,计算量小很多,适合做参数扫描的预筛。但它的精度比3D差,因为二维模型里没有真正的横向模式轮廓,倏逝场占比的绝对值会有偏差。我实际做仿真时的组合拳是:先用2D截面扫描宽度找趋势,再用2D纵向近似扫Taper长度把参数范围压窄,最后挑两三个关键尺寸跑3D验证。
2. Taper模型参数化设计与关键指标定义
2.1 几何参数踩坑:千万别让Taper“折”出高阶反射
几何建模这一步,参数化是必须的,千万别手动画几条线然后定死。一个可复用的模型应该让所有关键尺寸都暴露在参数列表里,方便后面做参数化扫描。
我这次用的基准结构是硅波导,芯层折射率3.45,下包层二氧化硅折射率1.45,上包层空气。波导高度固定为220纳米,输入端口宽度w1设为620纳米,输出端宽度w2作为扫描参数,范围120到400纳米。Taper段长度L_taper作为另一个扫描参数,范围5到60微米。为了让端口处的模场是稳定形态,Taper前后都各留5微米长的直波导段,也就是说整个模型总长度等于10微米加L_taper。
这里有个特容易踩的坑:Taper轮廓如果直接画一条直线连接两个宽度,没问题;但如果你用多边形描点,或者不小心在过渡段起点和终点处留下极小的台阶,仿真结果会出现莫名其妙的反射峰。因为模式对几何突变极其敏感,哪怕只有几个纳米的台阶,都可能在S参数曲线上留下痕迹。最稳妥的方式是用参数化曲线或者直接用矩形组合,确保侧壁连续。
另外,包层区域不能做太小。很多刚上手的人觉得倏逝场反正衰减很快,包层画个500纳米就够了。实际上当Taper把波导拉细以后,模式扩展范围会明显变大,如果包层边界距离波导太近,边界处的散射边界条件会吸收甚至反射模式场,导致R_ev计算失真。我习惯至少留2微米以上的包层厚度,左右方向也留2到3微米。
2.2 评价指标:R_ev和η谁更有指导意义
模型算完以后,不能只看电场分布图“感觉差不多”,要定义可量化的后处理指标。
我在后处理里通常会添加三个数据集:第一个是全场能量密度积分,用ewfd.Wm在整个模型域上求积分;第二个是芯层区域能量积分,这时候需要给芯层单独定义一组选择,可以按材料选择或者按域编号;第三个是包层区域能量积分,用全场减去芯层。于是R_ev = (W_total - W_core) / W_total,也就是能量落在芯层之外的比例。
透过率T直接用S参数,Comsol的端口边界条件会给出S21参数,T = |S21|²。如果你只用端口功率比,也行,但S参数更方便,尤其是想看反射大小的时候。
综合效率η = T × R_ev,这个指标的意义是:输入端给单位功率,最后有多少功率是“以倏逝场形式待在包层里”的。这个指标最能代表实际效用。比如一根波导的R_ev高达0.8,听起来很美,但透过率只有0.5,那么η也就0.4,还不如一个R_ev为0.55但透过率为0.98的结构。很多论文里单提倏逝场占比,不提传输损耗,那是耍流氓;自己做设计评估时,一定要用η来收口。
2.3 参数化扫描设计:先扫长度还是先扫宽度
参数化扫描的顺序,直接决定了你的工作量有多大。我建议分两轮。
第一轮固定输出宽度w2,比如先固定在120纳米,扫描Taper长度L_taper,取值5、10、20、40、60微米。这一轮的目的是找到“绝热条件”的拐点:L_taper短的时候T会偏低且曲线振荡,超过某个值后T趋于饱和,增长越来越慢。这个拐点就是你后续所有仿真的最小长度底线。
第二轮固定一个已经满足绝热条件的长度,比如40微米,然后扫描输出宽度w2,取值400、300、220、160、120、90纳米。这一轮看的是倏逝场增强和模式截止之间的权衡:w2越窄,R_ev越高,但T会掉。两条曲线一乘,η会出现一个峰值,那个峰值对应的宽度就是你设计中最优的末端宽度。
不要一上来就搞二维参数化扫描,5个长度乘6个宽度就是30个三维全波模型,如果每个跑半小时,一天就没了。两轮扫描各自独立,先用趋势锁定参数区间,再对局部加密,效率会高得多。
3. Comsol中的物理场配置、端口模式与网格策略
3.1 模式分析、端口边界和激励设置
物理场接口选择电磁波、频域(ewfd),这一点没有悬念。关键在于模式怎么定义。
很多第一次做波导端口的同学会在“端口”边界条件里直接选“数值”,然后让软件自己算模式。这个做法在简单匀直波导上没问题,但Taper模型的输入和输出电压宽度差别很大,如果两个端口使用同一套模式定义,就会出现激励模式不正确的结果。
正确做法是提前跑一个“模式分析”研究,分别算输入端截面和输出端截面的模式场分布。输入端几何宽、模式约束好,基模明确;输出端窄,基模和二阶模的有效折射率可能很接近,一定要检查模式排序。然后在端口边界条件中选择“从模式分析读取上场分布”,端口1选输入截面,端口2选输出截面,两个截面使用各自横截面对应的模式。端口激励设置1瓦,方向朝模型内部。
模式数量设置方面,每个端口建议计算3到4个模式,不仅为了选准基模,也为了看高阶模有没有被激励起来。如果端口1只算一个模式,万一几何建模时引入了不对称因素导致二阶模参与传播,后处理什么都看不出来。
3.2 边界条件与对称性缩减
边界条件是模型精度的隐形刺客。
我的习惯是:外边界统一用散射边界条件(SBC),而不是完美匹配层(PML)。PML可以更完美地吸收入射波,但对网格厚度和材料参数要求高,不小心还会数值不收敛;SBC实现简单,只要边界离波导足够远,反射可以忽略。对倏逝场分析来说,SBC完全够用。
如果你的模型是关于波导中心线对称的,而且只关心基模的偶对称模式,那可以用对称边界把模型砍一半。在电场垂直于对称面的位置设理想电导体,切向则设理想磁导体。这个技巧能直接把网格量减半,计算时间几乎省一半。但注意:一旦你后面想扫描不对称结构,或者想分析偏振模式,对称简化就必须撤掉。实际项目里我一般先全模型跑通一两轮,确认没有疑问后再加对称边界做减半优化。
3.3 网格分辨率基准与求解器配置
网格是决定仿真精度和资源消耗最大的那个旋钮。
芯层区域网格要重点照顾。硅的折射率3.45,在1.55微米波长下有效折射率大约2.4左右,对应的波长尺寸约650纳米。经验数值是:芯层边界上最大网格单元不得超过波长的八分之一到十分之一,也就是70到90纳米。Taper的狭窄段,尤其是输出端宽度缩小到120纳米以下,网格还要继续细化,至少保证宽度方向上有8到12个网格单元。
包层区域可以放宽,最大尺寸设为200纳米,但靠近芯层界面的那200纳米范围内最好加边界层网格,因为倏逝场就是从那里指数衰减出来的,网格太粗会导致能量积分明显偏低。
求解器方面,我用的是PARDISO直接求解器。对三维频域模型,直接求解器比迭代求解器稳得多,至少不会出现莫名其妙的收敛失败。内存如果吃紧,可以考虑把模型切成两段分别求解,虽然麻烦,但能救急。
4. 结果解读:Taper长度和宽度如何影响倏逝场效率
4.1 模场形态变化:场被“挤”到包层的直观证据
仿真跑完,第一件事看电场模的分布图。在窄波导的输出端横截面上,你会看到光斑明显“发虚”,不再是宽波导段里那种紧紧箍在芯层里的亮核,而是像滴在纸上的墨水一样向包层洇开。
用数据说话:在620纳米宽的直波导截面,R_ev大约在0.35到0.45之间,大部分能量还在芯里。换到120纳米宽的截面,R_ev能升到0.6以上。这个变化肉眼可见,而且在传感应用里意味着更大的表面接触面积。
但这里必须泼一盆冷水:R_ev升高的同时,如果Taper长度不够,输出端看到的模场强度会出现明显的横向摆动,像是光在锥形里“晃”了几下才稳定下来。这种摆动就是高阶模干涉,它的能量并没有消失,而是从有用的基模漏掉了。所以不能只截取一个模场图就说“倏逝场增强了”,一定要结合透过率判断。
4.2 参数扫描曲线:传输效率和倏逝场占比的博弈
把两组扫描结果整理成曲线,趋势非常鲜明。
先看固定w2为120纳米、扫描L_taper这一组。5微米的时候,透过率T大约0.85,曲线形状像带毛刺的刺猬;20微米的时候T升到0.97;到40微米以后T接近0.995,再往上几乎看不出变化。这说明绝热条件基本满足后,继续延长Taper的收益递减。R_ev基本保持在0.65附近,受长度影响不大,因为模式最终形态由输出宽度决定,和过渡过程关系不大。这组曲线的结论是:长度是用来保命的,不是用来增强场的,过了阈值就够了。
再看固定L_taper为30微米、扫描w2这一组。400纳米宽时T接近0.998,R_ev只有0.34,η大约0.34;300纳米时R_ev约0.42,T仍有0.99,η约0.42;220纳米时R_ev约0.50,T约0.985,η约0.49;160纳米时R_ev约0.58,T约0.95,η约0.55;120纳米时R_ev约0.66,T急剧掉到0.88,η约0.58;到90纳米时R_ev虽然到了0.74,T却只有0.75,η反而降回0.55。这组曲线直接说明:末端宽度不是越窄越好,R_ev和T是一条跷跷板,η在120纳米附近出现了峰值。
为什么宽度特别窄后损耗激增?一方面因为模式扩展剧烈,侧壁粗糙度散射损耗随模式在界面上的强度增大而上升;另一方面波导极细时模式接近截止,部分能量以辐射模式泄漏出去。3D仿真里这些损耗效应都会被如实计算出来。
4.3 综合效率峰值与设计建议
把两组扫描结论合成一个设计准则:先选末端宽度,让η达到峰值,再选Taper长度,让T进入饱和区。从我这次仿真来看,最优区间大约是w2在120到160纳米、L_taper在30到40微米。具体数值会因为材料折射率、波导高度、波长不同而偏移,但这个分析思路是通用的。
这里还要多提一嘴:综合效率峰值的位置,在不同仿真维度下会有差异。2D纵向近似模型因为缺乏3D侧壁散射,窄宽度端的T会偏乐观,导致η峰值偏向更窄的宽度。所以如果工艺上宽度做得很细,3D验证必须跟上,别拿2D趋势当最终结论。
5. 常见问题、排查技巧与效率陷阱
5.1 常见问题速查表
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 模式分析时端口2识别不出基模 | 输出端截面太窄,基模与二阶模有效折射率接近 | 加大模式计算数量,按有效折射率实部排序,手动指定端口激励模式 |
| S21大于1或增益异常 | 端口模式配置错误,激励了高阶模 | 检查端口1、端口2的“从模式分析中获取场分布”设置是否正确 |
| Taper长度短时结果剧烈振荡 | 非绝热过渡产生高阶模干涉 | 加长Taper或改用余弦型轮廓,降低锥角变化率 |
| 网格加密后R_ev变化超过5% | 芯层或边界层网格分辨率不足 | 芯层最大尺寸降到λ/10,包层界面加边界层网格 |
| 3D模型内存不足求解失败 | 模型总长度过大,网格总数过高 | 先用2D纵向近似筛查参数,再挑关键点做3D验证 |
| 场分布图上有沿边界传播的条纹 | 散射边界离波导太近,边界反射 | 扩大包层横向尺寸,或换成PML并设置足够厚度 |
5.2 易被忽略的模型陷阱与排查经验
第一个陷阱是模式排序混乱。Comsol的模式分析会按有效折射率从大到小排列,但当输出端宽度很细、包层折射率又低时,高阶模和基模的有效折射率差距变小,自动排序可能把某个高阶模排到第一位。你如果不检查直接把第一个模式当基模,后面一切结果全是错的。我的习惯是在模式分析后看几个模式的电场分布云图,确定哪个模式是EX方向主场的基模。
第二个陷阱是S参数参考阻抗。端口边界条件默认需要指定模式阻抗,对无耗波导,参考阻抗不影响S11但会影响S21的相位。虽然我们只看幅度,但如果同时看反射特性,要确认两个端口的参考方向定义一致,否则S参数符号反了你都不知道。
第三个陷阱是倏逝场比例对积分区域非常敏感。R_ev定义里的“芯层以外”包不包括波导侧壁附近的微小区间,不同人算出来差别不小。统一口径很重要,我的做法是严格以几何域选择来划分:芯层域算一份,其它所有域算另一份。不要用表达式去判断“r是否大于某个值”,那会在网格界面处产生数值误差。
5.3 算力不够时的替代方案
如果3D确实跑不动,除了2D纵向近似之外,还有一个思路:把Taper离散成多个截面,每个截面单独用2D模式分析算出模场和有效折射率,再用耦合模理论估算整个锥形的传输特性。这个方案不需要大规模3D网格,只依赖于一系列2D模式分析,计算速度快,还能得到相对靠谱的T趋势。缺点是不能直接给出反射和损耗,但做初筛足够。
我做这个项目时,实际顺序是:先跑2D宽度扫描,锁定R_ev随w2的变化趋势;然后用2D纵向近似扫L_taper,把长度参数从五个压缩到两个;最后只对L_taper=40微米、w2=120纳米和160纳米这两个点跑了全3D,用来确认最终η值。整个流程算下来,比无脑全参数3D扫描省了大概一个礼拜的机时。
最后再分享一个个人体会:Taper结构的仿真,很多时候最大的问题不是物理场设置,而是你对“效率”的定义。早期我只看R_ev,觉得场出去了就是好事,结果选了一个又窄又短的参数组合,实验上透过率低得离谱。后来把所有指标统一成η,才发现最优工作点和直觉完全不同。做光电子仿真,永远要把综合效率放在第一位,不要被某一个漂亮的截面图迷惑。