Comsol经典小案例。 铌酸锂LNOI体系法诺Fano共振。
法诺共振这玩意儿在光学微腔里特别有意思——它那种不对称的线型总让我联想到被狗啃过的面包。铌酸锂(LNOI)作为新一代光子学材料,凭借其超高的二阶非线性系数,在调制器、频率转换器里混得风生水起。今天咱们用Comsol折腾个LNOI微盘腔,看看怎么玩转这个奇葩的共振现象。
打开Comsol先搞几何建模。这里有个骚操作:用参数化曲线画微盘边界。代码区敲入:
theta = linspace(0,2*pi); R = 10e-6; % 半径10μm ecc = 0.05; % 椭圆度 x = R*(1 + ecc*cos(3*theta)).*cos(theta); y = R*(1 + ecc*cos(3*theta)).*sin(theta);这可不是普通的圆盘,故意加了3θ的扰动项。椭圆度参数ecc控制着模式耦合强度,就像往平静的湖面扔石子,让原本简并的模式开始眉来眼去。
材料设置阶段要特别注意铌酸锂的各向异性。在材料库找到LiNbO3后,手动覆盖其折射率张量:
epsilon = [n_o^2 0 0; 0 n_o^2 0; 0 0 n_e^2];这里no=2.211,ne=2.138可不是随便填的数值,它们决定了TE和TM模式的群速度差异。记得把z轴对准晶体的光轴方向,不然仿真结果会变成玄学。
边界条件配置最容易被新手搞砸。这里要用到完美匹配层(PML),但得调整其拉伸函数:
pml.set('coord_system', 'cartesian'); pml.set('stretching', [1+1i, 1+1i, 1]);复数拉伸参数相当于给电磁场加了缓刑,让它们在边界处自然死亡而不是暴力反射。要是看到结果里有奇怪的驻波,八成是这里的实部虚部比例没调好。
扫频计算时有个坑爹细节——必须用自适应频点扫描。在求解器设置里勾选"自适应细化",系统会自动在共振峰附近加密采样。看这段日志输出:
发现Q因子>1e4,在246.7-247.2THz区间增加5个采样点这功能简直救命,手动扫频的话要么错过尖峰,要么算到电脑冒烟。记得设置最大细化次数别超过5次,否则容易陷入无限循环。
最后可视化阶段,在结果里截取电场分布的动画帧。用MATLAB后处理时注意:
mphplot(model, 'pg2', 'frame', 'all', 'savepath', 'frames'); imwrite(imread('frames_01.png'), 'resonance.gif', 'DelayTime',0.1);生成动态GIF能清晰看到模式跳变过程。当基模和高阶模开始勾肩搭背时,传输谱上就会冒出标志性的不对称峰——这货就是法诺共振本尊了。搞完这波操作,记得喝杯咖啡犒劳自己,毕竟和Comsol斗智斗勇堪比马拉松。