Comsol连续体中的束缚态BIC。 涉及能带计算与Q因子计算,包含一维光栅和二维光子晶体板
Comsol连续体中的束缚态BIC。 涉及能带计算与Q因子计算,包含一维光栅和二维光子晶体板。
COMSOL里折腾束缚态BIC总有种在光学迷宫里找隐藏出口的感觉。今天咱们聊聊一维光栅和二维光子晶体板这两个典型结构里怎么揪出BIC并计算它的Q因子——毕竟实验党看到Q因子上六位数眼睛都会发光对吧?
先看一维光栅的情况。打开COMSOL新建波动光学模块,在几何里画个周期性的三角形光栅,材料参数记得用硅的折射率(n=3.5)。边界条件设置最讲究:上下边界用散射边界条件模拟开放空间,左右用周期性边界。这里有个坑——扫入射角的时候别傻乎乎地手动改参数,用参数化扫描配合k矢量分解更高效:
for theta = 0:0.1:30 kx = k0 * sind(theta); Floquet = model.physics('w').feature('floquet1'); Floquet.set('kx_active', true); Floquet.set('kx', kx); model.study('std1').feature('param').set('plist', theta); model.study('std1').run(); end这段脚本自动扫描0到30度入射角,注意Floquet边界条件里kx的换算关系。能带图出现平直区域时就要警惕——可能是BIC出没的频段。这时候在频域研究中加密频率扫描步长,找到Q因子突增的点位。
Comsol连续体中的束缚态BIC。 涉及能带计算与Q因子计算,包含一维光栅和二维光子晶体板。
二维光子晶体板更有意思。我习惯在周期性单元里先画六边形晶格,孔径半径设成0.3a(a是晶格常数)。对称性利用是王道——在晶格对称轴上设置对称边界条件能省一半计算量。计算布洛赫模时别急着算全场,用本征频率研究配合模式分析更聪明:
model.study('eig').feature('freq').set('neigs', 10); model.study('eig').feature('freq').set('shift', 200e12); model.study('eig').run();重点看模式场分布——当某模式在远场辐射几乎为零但近场局域极强时,恭喜捕获BIC。这时候计算Q因子要搞点骚操作:在频域分析里添加场监视器,记录共振峰线宽。用洛伦兹拟合提取线宽Δω,Q=ω/Δω直接上代码:
[pks,locs,w] = findpeaks(transmission, freq, 'MinPeakHeight',0.8); Q = locs(1)/w(1);但注意COMSOL有时会把背景噪声当峰值,建议结合场分布二次确认。有个邪门发现:当结构存在特定旋转对称性时(比如C3对称),BIC会自动出现且Q值高得离谱,这或许跟对称性保护的拓扑特性有关。
网格划分是玄学环节。在光子晶体孔洞边缘用边界层网格,最大单元尺寸要小于λ/(5n)。算Q因子时记得勾选"细化共振频率附近网格"选项,否则可能因为场梯度太大导致数值发散。有次我偷懒没加密网格,结果Q值少算了一个量级,被合作导师怼到怀疑人生。
最后提醒:BIC虽好,可别在普通周期性结构里硬找。先做能带分析确认存在带外辐射抑制的点,再重点突破。毕竟COMSOL的算力不是大风刮来的,优化计算流程才是科研狗的生存之道。
