COMSOL模拟本征手性光学结构:BIC效应的仿真研究
COMSOL 本征手性光学仿真BIC最近在折腾光学仿真的时候发现个有意思的现象某些手性结构在特定参数下会突然出现BIC连续体束缚态就像光子被无形的手按在原地动弹不得。今天咱们用COMSOL搞点好玩的带各位手搓一个自带手性魔法的光子晶体结构。先丢个COMSOL模型的核心设置别急着复制粘贴后面有坑model.param.set(chirality, 1e-3[1/m]); model.component(comp1).material(chiral_medium).propertyGroup(def).set(... epsilon, diag(2.5,2.5,2.5), ... mu, diag(1,1,1), ... chirality, {0,0,chirality});这段代码给材料加了各向异性手性参数。注意那个chirality参数的单位是倒数的米搞错单位会让整个模型变成玄学现场——别问我怎么知道的。设置对角张量时z方向的手性参数在搞事情xy平面保持对称这样容易激发表面波。COMSOL 本征手性光学仿真BIC当结构周期调到380nm附近时神奇的事情发生了。扫频结果里突然冒出个Q值直冲1e6的尖峰见图1这货就是传说中的BIC。但别高兴太早网格剖分要是没做自适应加密这个尖峰可能被平滑得妈都不认识。建议用边界层网格配合曲率自适应特别是螺旋结构的拐角处。手性带来的旋光效应这时候开始整活儿了。用后处理脚本扒开场分布看细节Ex results.getElectricField().x Ey results.getElectricField().y vorticity np.gradient(Ey, axis0) - np.gradient(Ex, axis1) # 绘制涡旋拓扑 plt.streamplot(X, Y, Ex.real, Ey.real, colorvorticity, density2) plt.title(光子飓风现场)这时候能看到电场像龙卷风一样打着旋儿见图2。有意思的是当调整手性参数超过临界值时涡旋方向会发生突变这个相变点可能就是BIC的开关——跟拧瓶盖似的顺时针拧开逆时针锁死。不过实际操作时要注意三个坑本征求解器别用默认的迭代算法改成shift-invert模式才能抓住高Q模手性材料的频散关系要写成Kramers-Kronig格式否则因果性报警边界条件混用完美匹配层和散射边界时记得把手性参数梯度方向调对最后说个冷知识这种结构在太赫兹波段能产生比传统等离子体强两个量级的圆二色性。下次要是看到谁的文章里Q值突然飙升八成是撞见BIC了——赶紧检查下是不是手性参数设成了魔鬼数字。仿真文件我扔GitHub了欢迎来fork改参数玩说不定能搓出个光学永动机大误。