做集成光学研究的人应该都有过类似的感受:脑子里已经想好了要做一个X切型LNOI和频器件,流程推导也写满了草稿纸,可真到打开COMSOL准备仿真SFG转化效率的那一刻,人突然就卡住了。因为常规教程里只会教你算模式、算损耗、看看模场分布,一旦涉及非线性过程、三种波长在同一个器件里相互作用,COMSOL里该怎么搭模型、怎么把非线性极化项加进去、最后怎么把和频效率从结果里捞出来,能参考的资料非常少。
这篇文章就是来填这个空白的。我用自己的一个X切型LNOI和频仿真项目为例,把完整的建模思路、物理场设置、转化效率提取方法以及过程中踩过的坑完整讲一遍。文章里不会只给结论,而是把每一步“为什么这么做”都说清楚,适合正在用COMSOL做集成非线性光子学仿真、想评估LNOI器件和频性能的研究生和工程师参考。
1. 仿真前先把波导结构和晶轴安放明白
1.1 LNOI波导的几何参数与模式认知
X切型LNOI薄膜波导的结构其实很简洁,从上到下依次是空气或上包层、铌酸锂薄膜层、埋氧层(BOX)、硅衬底。脊形波导是在铌酸锂薄膜上刻蚀出一个长方形凸台,光被限制在这个凸台和薄膜平板区域附近传播。
我这里用的参考几何参数如下:
| 结构层 | 厚度/尺寸 | 说明 |
|---|---|---|
| LNOI薄膜 | 400 nm | 常用厚度范围300~600 nm |
| 脊高(刻蚀深度) | 150 nm | 部分刻蚀,保留铌酸锂平板层 |
| 脊宽 | 900 nm | 可通过参数扫描优化 |
| BOX层(SiO2) | 2 μm | 足够厚以减小衬底泄漏 |
| 硅衬底 | 500 μm | 仿真中可以截短,设置PML吸收 |
| 传播方向长度 | 20~100 μm | 根据QPM周期和仿真算力定 |
这个波导的截面方向很关键。习惯上我们让波导沿着全局坐标系的z轴传播,波导截面在xy平面内。薄膜法向是x方向,脊的侧壁沿y方向延伸。这样定义的好处是后续设置端口边界、扫描网格和提取截面功率都方便。
对于X切型铌酸锂而言,晶体的x轴垂直于薄膜表面,也就是说在全局坐标系中,晶体的X轴沿着模型的x方向。而铌酸锂晶体的光轴(c轴)平行于薄膜平面。这里必须强调一个容易弄混的对应关系:X切型的最大非线性系数d33对应的是电场沿晶体光轴方向的分量,而在这个坐标设置下,晶体光轴在薄膜平面内。如果你的波导是TE模(电场主要在横向y方向),并且光轴恰好沿着y方向,那么TE模就能有效利用d33这个最大的非线性系数。
这就是X切型相比Z切型最大的优势:Z切型的光轴垂直于薄膜表面,想要利用d33必须用TM模且电场垂直膜面,但由于折射率差较小,模场限制往往不如TE模紧凑;而X切型把光轴放到了膜面内,TE模直接可以用d33,同时TE模在脊形波导中的限制效果更好,非线性转化效率自然更容易做上去。
1.2 各向异性材料设置:坐标系旋转是重灾区
铌酸锂是单轴晶体,在它的晶体主坐标系中,寻常光折射率no、非寻常光折射率ne分别对应x、y、z三个主轴。COMSOL中默认的材料坐标系是全局坐标系,如果不做任何旋转,直接把铌酸锂的各向异性折射率填进去,那等于默认晶体光轴沿着全局z方向,这显然和X切型不对应。
正确的做法是先在COMSOL里定义一个旋转坐标系,然后把铌酸锂材料关联到这个坐标系上。具体操作路径:组件一右键“定义”一“坐标系”,选择“旋转坐标系”。X切型对应晶轴坐标系绕某个轴旋转90度。假设晶体主坐标系的Z轴是光轴,要让光轴落在全局y方向,就把晶体坐标系绕全局x轴旋转90度,使得原来晶体坐标系的x轴转到全局x方向、晶体z轴转到全局y方向。设置完成后,在材料的“折射率”属性中,把“坐标系”选成这个新建的旋转坐标系,然后填入折射率张量的三个主对角分量:n_xx = no,n_yy = ne,n_zz = no(这里x是晶体X轴,y是晶体Z轴)。
这一步如果做错,后面所有模式分析、有效折射率、相位匹配条件全都是错的,而且错误并不直观,因为模场形状看上去可能依然正常,但有效折射率偏得离谱。我的建议是在第一步就做一个校验:用模式分析解一个平板波导模场,对比已知文献值,确认坐标旋转无误后再开始完整建模。
1.3 三波段的色散与损耗数据准备
和频过程涉及三个波长,比如我做的是1064 nm泵浦光加1550 nm信号光和频产生约630 nm附近的和频光。铌酸锂在这三个波段都有明显的色散,不能直接套用单一折射率。官方Sellmeier方程在近红外到可见光波段覆盖很好,你可以直接查文献取值,也可以把Sellmeier方程写成COMSOL的解析函数,在模型里自动调用。
我采用的方式是在材料中直接输入三个频率点对应的折射率,因为COMSOL频域求解时每个物理场接口只针对单一频率,材料折射率只需要一个值。以X切型LNOI薄膜波导为例,包层是空气和SiO2,SiO2折射率可以近似取1.44左右,而铌酸锂的no和ne在不同波长的值要区分清楚。
数据来源建议用公开的Handbook数据或知名文献的Sellmeier系数,不要随意用网上查到的未注明来源参数。因为后面相位匹配周期的计算对有效折射率差异极其敏感,差0.01都会导致QPM周期偏移好几微米。损耗方面,LNOI薄膜在通信波段的传播损耗可以做到0.1~1 dB/cm量级,仿真中小尺寸器件可以先忽略吸收损耗,但如果你要评估真实器件,建议把材料损耗加上,表达式可以用品质因数或复折射率虚部直接填。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. SFG仿真的整体思路:从三波耦合到COMSOL实现
2.1 为什么不能直接“加一个和频光源”
很多新手第一反应是:既然和频是三个波相互作用,那我在COMSOL里加一个630 nm的光源,然后在输出口看看功率,是不是就是和频效率?答案是完全不对。SFG的本质是泵浦光和信号光通过非线性极化在介质中产生和频极化电流,这个极化电流反过来辐射和频电磁场。它是一个“源生”过程,而不是一个预先存在的入社波。COMSOL的电磁波频域接口默认是线性波动方程,单频求解,根本不知道怎么把两个频率的场耦合起来。
所以必须把非线性极化当作一个等效电流源或等效极化源,附加在和频频率的波动方程里。在小信号近似下(泵浦光和信号光的损耗忽略不计),先分别求解两个泵浦频率的线性传播场,然后构造非线性极化,再在第三频率上求解线性波动方程。这个三步法是COMSOL做SFG、SHG、DFG一类非线性过程的主流思路。
2.2 三种可落地的方案对比
在实践中,根据你想要的精度和算力,有三种路线可选。
| 方案 | 实现方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| A. 3D全波三步法 | 三个电磁波频域接口,分别解泵浦1、泵浦2、和频场 | 物理最严格,包含模式耦合、反射、损耗 | 三维网格量大,内存和时间开销高 | 短器件、验证性仿真 |
| B. 2D模式分析+耦合模方程 | 用COMSOL模式分析提取各波长有效折射率和模场,再在外部或自定义PDE中求解慢变振幅方程 | 计算快,可以扫很长器件 | 需要自行处理耦合系数和重叠积分 | 长器件优化、参数扫描 |
| C. 光束包络法 | 三个光束包络接口,指定传播常数,加入非线性电流 | 网格要求低,能做几十上百微米 | 设置复杂,需要理解包络近似 | 较大规模器件和频过程仿真 |
我实际项目中是以方案A为主做短器件标定,用方案B做长距离效率和QPM周期优化。两种方法互相校验,结果一致后,再比较放心地把结论交给后续工艺设计。
2.3 三步法在COMSOL中的具体设置
先搭好几何,在“电磁波,频域”接口下添加三个物理场分支。为了区分,一个叫pump1(频率对应1064 nm)、一个叫pump2(1550 nm)、一个叫sfg(630 nm)。每个分支的物理场设置是独立的,但使用同一个网格和几何。
对于pump1和pump2,输入端设置“端口”边界条件,选择对应的模式类型并指定“输入功率”为1 W作为归一化基准。输出端也设置“端口”,但类型选定为“输出”,用于计算透射功率和反射。这里有一个细节:端口边界条件默认按模式分析确定模式场分布,因此需要在每个物理场接口中做一次模式分析,或者使用指定模式下标。为了稳定复现,建议先对每个波长单独做一个特征频率/模式分析,并把有效折射率作为初始值填入端口设置里。
对于sfg分支,输入端不设激励,只把输出端设成端口,目的是便于提取S参数。核心在域设置里:在LNOI波导区域添加“外部电流密度”特征,表达式由非线性极化决定。
在SI单位制下,和频极化电流密度为:
J_i(ω3) = j ω3 ε0 χ_ijk^(2) E_j(ω1) E_k(ω2)
这里的χ(2)张量和常用的d张量有关系:d_ijk = (1/2) χ_ijk^(2)。铌酸锂在晶体主轴坐标下,主要有效分量d33约27~30 pm/V,d31约5~6 pm/V,d22约3~4 pm/V。对于X切型TE波导模式,如果用光轴(晶体z轴)方向对应全局y方向,那么主导项是:
J_y(ω3) = j ω3 ε0 * 2 d33 * E1_y * E2_y
但这里必须乘以坐标变换因子。如果你的旋转坐标系设置正确,COMSOL变量pump1.Ey、pump2.Ey在全局坐标中确实对应晶体光轴方向,上式就可以直接用。注意这里的“外部电流密度”写入位置是域条件,加载在铌酸锂薄膜和脊的区域内,不要把源加到SiO2或硅衬底里。
三个物理场接口都求解完成后,后处理时可以用pump1.E、pump2.E、sfg.E做派生值计算。由于三个物理场接口频率不同,彼此之间不会直接相互干扰,COMSOL的频域求解器会分别处理。
2.4 准相位匹配QPM的周期极化实现
理想情况下,三波在传播过程中要满足相位匹配条件:k3 = k1 + k2。但铌酸锂色散导致这个等式在大多数波长组合下不成立。解决方案之一是准相位匹配,通过周期翻转铁电畴,让非线性系数每隔一个相干长度改变符号,等效地补偿相位失配。
在COMSOL里实现周期极化有两种方式。第一种是几何上真的把波导分成多段,每一段设置相反的d33符号,这种方法建模繁琐,而且在拐角处容易引入非物理反射。第二种是我推荐的做法:在非线性电流密度表达式中乘上一个周期符号函数sf_z:
J_y = j ω3 ε0 * 2 d33 * sf_z * E1_y * E2_y
sf_z = sign(cos(2π z / Λ))
这里Λ就是QPM周期。在COMSOL“全局定义”里添加解析函数,表达式写成sign(cos(2piz/Lambda)),其中Lambda是参数。在外部电流密度表达式中直接填入这个函数即可。这样做的好处是无需改动几何,扫描Lambda只需要做参数化扫描,非常方便。
QPM周期的初值怎么定?先用模式分析分别算出三个波长下TE基模的有效折射率n3、n1、n2,然后:
Δk = 2π(n3/λ3 - n1/λ1 - n2/λ2)
Λ = 2π / Δk
注意单位统一。比如我的算例中,630 nm模式有效折射率约1.92,1550 nm约1.78,1064 nm约1.83,算出来Λ大约在8~10 μm量级,具体数值以扫描结果为准。由于色散误差和模式计算误差,通常还需要在初值附近做参数扫描,找出对应输出峰值的最佳周期。
3. 转化效率的计算:后处理与理论校验
3.1 从输出端口功率到效率定义
三步法仿真结束后,和频光的输出功率可以直接从sfg物理场的输出端口S参数读取。COMSOL的端口边界条件会给出端口输入功率、发射功率和S参数,其中S21的模平方可以理解为透射功率与入射模式参考功率之比。由于sfg分支没有外部入射功率,这个比值严格来说不是传统S21,你需要小心解读。更稳妥的做法是直接在输出端口边界上对坡印廷矢量的z分量做面积分,得到实际的和频出射功率P3。
积分表达为:
P3 = ∫_输出面 [ 0.5 * Re( E_x H_y* - E_y H_x* ) ] dS
在COMSOL后处理里可以用“表面最大值”或“表面积分”的派生值功能完成。注意选择sfg物理场的电场和磁场变量,不要选错成pump1或pump2。
转化效率的定义有三种常见形式,容易混淆:一是单光子转化效率P3/P1(固定P2);二是归一化效率P3/(P1P2),单位是1/W或%/W;三是单位长度归一化效率P3/(P1P2L²)。在文献里,SFG通常报道的是第二种,即给定泵浦和信号功率后,和频功率与两个输入功率乘积的比值。这个定义的好处是,在小信号近似下,它基本不随泵浦功率变化,只反映器件本身的非线性转换能力。
3.2 与解析公式对照:sinc²因子和重叠积分
当你第一次算出P3时,强烈建议用解析公式做一次交叉验证,确认数量级没有离谱。平面波近似下,高斯光束或均匀波导的SFG效率公式为:
P3(L) = (2 ω3² d_eff² L²) / (ε0 c³ n1 n2 n3 A_eff) * P1 P2 * sinc²(Δk L / 2)
其中A_eff是有效模面积,严格来说要算三波模式的重叠积分。对单模脊波导,A_eff近似等于三个模式场分布的归一化重叠面积:
1/A_eff = (∫|E1|²dxdy)(∫|E2|²dxdy)(∫|E3|²dxdy) / |∫ E1 E2 E3* dxdy|²
这个重叠积分可以用COMSOL的模式分析结果在后处理中直接算出来。具体做法:对截面做三个波长的模式分析,然后在“派生值”里用积分算子,把pump1.Ey、pump2.Ey、sfg.Ey乘起来积分,再分别积各模式强度的模平方,最后按公式算出1/A_eff。
我在实际算例中,d33取24 pm/V(周期极化后等效值),三波有效折射率约1.8,A_eff约1.5 μm²,L取20 μm,泵浦功率都取1 W,计算得到P3大约在几十毫瓦量级。用COMSOL三步法仿真出来的P3也是这个量级,误差在10%以内。如果两者差了几个数量级,那大概率是非线性电流密度表达式的单位或张量分量出了问题,务必回头检查。
3.3 参数扫描:周期、波导宽度和刻蚀深度
周期极化波导的QPM周期不是越准越好,实际中要扫描找到最优值。COMSOL的参数化扫描可以直接扫Λ、脊宽、刻蚀深度等参数。以Λ为例,扫描范围在理论初值±2 μm,步长0.1 μm,你会发现和频功率对Λ非常敏感,半高宽往往只有几百纳米。这是因为QPM的容差由sinc²函数的宽度决定,长度越长,容差越窄。
扫描脊宽和刻蚀深度对效率的影响也很大,它们会改变三个波长的模式重叠积分以及有效折射率。宽度从700 nm增加到1100 nm时,模式更紧,A_eff可能先减小后增大,最佳宽度通常对应在特定波长下模场最匹配的位置。扫描这些参数时,建议三波长模式分析同时做,然后在后处理中把重叠积分作为全局变量输出,减少重复计算。
参数扫描还有一个隐藏的注意事项:每改变一个几何参数,端口模式分析都需要重新做。如果你用COMSOL的“模式分析”研究步骤作为辅助,然后在频域中引用模式,那么几何变化后模式索引可能跳变,导致端口功率计算错误。最好的做法是每次扫描时输出端口模式的电场分布快照,肉眼确认基模没有变成高阶模。
4. 实操中的坑和优化配置
4.1 端口模式的相位任意性
这是三步法里最容易被忽视的问题。COMSOL端口模式分析得到的模式电场有一个任意全局相位,因为特征值问题解出来的本征函数可以乘以任意单位复相位而不改变方程。这意味着pump1.E和pump2.E在各自求解中可能随机相差一个相位因子,而非线性极化是它们的乘积,相位因子直接作用于和频场,最终导致P3不正确。
解决办法是在求解之前固定模式的参考相位。常见做法是在端口面定义一个参考点,对模式电场做归一化,要求该点某个电场分量的相位为零或指定值。COMSOL的“端口”特征里有“更新模式相位”的选项,你可以手动设定模式电压/功率参考。
我在实践中更喜欢后处理里做归一化:先在模式分析中输出端口面中心点或某种对称点处的电场复数值,然后在非线性电流密度表达式中除以这个归一化因子,相当于每次传播计算都强制让入射模式相位从同一基准开始。这样无论网格如何变化,结果都稳定。
4.2 网格尺寸与收敛性判断
非线性电流密度是三个场乘积的本地函数,对网格质量要求比线性仿真高。网格太粗时,模场边缘的快速振荡会被平滑掉,非线性源分布失真;网格太细则内存爆炸。经验值是在波导芯区和LNOI薄膜内,最大单元尺寸设为最小波长对应有效波长的1/8到1/10。比如630 nm光在薄膜中有效波长约330 nm,那网格尺寸就控制在35~40 nm左右。
3D模型中沿传播方向可以采用扫掠网格,截面用较细的三角形网格,沿z方向拉伸成棱柱或六面体。这一步能极大减少网格数量。如果几何复杂没法扫掠,可以适当增加沿z方向的单元数量,但整体内存会涨很快。
收敛性判断不能只看某一次结果,而是要做一组网格加密测试。比如把最大单元尺寸从50 nm、40 nm、35 nm三组网格下分别计算P3,如果两次结果变化小于2%,认为网格收敛。同理,沿传播方向的分段数也需要做长度收敛测试,特别是要确认波导两端没有非物理反射扰动和频场。
4.3 内存、计算时长与模型裁剪
三个电磁波频域接口叠加在同一个网格上求解,内存占用差不多是单个线性仿真接口的三倍以上,再加上模式分析,很容易把一台16 GB内存的机器跑爆。我的经验是尽量把模型长度控制在必要的最小值。如果QPM周期是9 μm,想看到累积效果,至少需要3~5个周期,也就是30~50 μm。在这个长度下,截面网格在几万到十几万个单元,总自由度约在百万级,24 GB内存勉强能跑。
如果实在跑不动,就退回到方案B,用模式分析加耦合模方程。COMSOL做不了的部分,可以在App开发器里写ODE,或者直接导出有效折射率和重叠积分到MATLAB里求解。这不是偷懒,而是工程上的合理取舍。很多高水平的论文,长周期器件效率曲线都是用耦合模方程算的,COMSOL全波结果只是用来标定短距离和验证边界条件。
4.4 材料坐标和几何导入的警告处理
如果你从SolidWorks或其他CAD软件另存为STEP文件再导入COMSOL,大概率会遇到一系列几何警告。这些警告通常来自细小曲面、装配间隙或非流形实体,对光学模式分析来说可能造成网格畸形甚至模式计算失败。我建议对于LNOI波导这种简单几何,直接在COMSOL中创建块体并使用布尔运算切割,不要在外部CAD软件中画。这样能避免大量不必要的麻烦。
如果必须用导入几何,至少要在导入设置中开启“移除小面”和“修复几何”。另外提醒一句,导入后各域的材料标签可能丢失或错乱,务必逐个域重新指定,尤其是LNOI薄膜域不能与SiO2域搞混,否则后续的非线性源会加载到错误位置。
5. 个人经验:怎么看懂和用好这些仿真结果
仿真跑通只是第一步,怎么把数据转化成对实验和设计有用的结论,才是这个项目里最花时间的地方。
我个人的习惯是,拿到一组SFG效率曲线后,先从三个角度去质疑:第一,这个效率峰值对应的QPM周期是否和理论计算一致,如果不一致,说明有效折射率或色散数据有偏差,优先核对角频率下材料折射率;第二,效率随长度的增长是否能用sinc²函数描述,如果偏离,说明存在模式失配或反射影响,需要检查波导端面边界;第三,归一化效率的绝对值是否在LNOI波导的常规范围内,如果异常偏高,大概率是有效模态面积计算错了。
还有一个容易被忽略的问题:仿真中假设泵浦不消耗,但实际高功率泵浦下会有泵浦耗尽、热效应、光折变效应等一系列额外因素,导致实验效率低于仿真值。所以仿真结果更适合用来看趋势、做容差分析,而不是直接拿去做实验室指标承诺。比如我会在优化好的几何参数上再做一组加工误差扫描,看看脊宽±50 nm、刻蚀深度±20 nm对效率的影响,这样可以给工艺端一个明确的容差范围。
另外,X切型LNOI的和频器件往往还要考虑温度调谐。温度会改变材料折射率,进而改变相位匹配条件。在COMSOL中,可以在材料折射率表达式中加入热光系数,把温度作为扫描参数,直接得到效率对温度的调谐曲线。这个结果对实验站搭建非常有价值,因为实际器件需要精确控温才能稳定工作在效率峰值。
最后想提醒一点:不要迷信单一软件的默认输出。COMSOL的三步法非线性仿真虽然框架清晰,但每一步都建立在线性模式和微扰近似的基础上。当你完成一次SFG效率仿真后,务必用解析公式、实验文献数据或不同求解器做交叉验证,只有当多条独立路径给出相近结果,这个设计才算真正可靠。
