comsol弯月型BIC,涉及线偏振斜入射设置。
先画个弯月形结构——用参数化曲线最方便。比如用两个圆弧相减生成月牙形状,核心代码长这样:
% 几何脚本片段 arc1 = mpharc(model, 'arc1', 'base', 'circle', 'point1', [0,0], 'angle1', 0, 'angle2', 180); arc2 = mpharc(model, 'arc2', 'base', 'circle', 'point1', [d,0], 'angle1', 180, 'angle2', 0); diff = mphgeom(model, 'diff1', 'setdiff', {'arc1','arc2'});这里要注意两个圆弧的圆心偏移量d决定了月牙的厚度。建议先扫参数看看结构对称性对模式的影响,这直接影响BIC的产生条件。
重点来了——斜入射设置。传统正入射直接给平面波就行,但斜入射得手动分解波矢量。比如入射角θ=30度时,波矢量的x分量要写成:
// 波矢量设置 double theta = 30*Math.PI/180; double kx = k0*Math.sin(theta); double kz = k0*Math.cos(theta);在散射边界条件里得把这两个分量填进设置项。这里有个坑:COMSOL的坐标系默认z是传播方向,斜入射时要记得把传播方向投影到x-z平面。
线偏振方向设置更微妙。假设要让电场平行入射平面(TM偏振),得用旋转坐标系:
% 偏振方向设置 polarization = [cos(theta), 0, -sin(theta)];实际操作时会发现,直接这样设置可能导致边界反射异常。这时候要在后处理加个监视器,检查远场散射截面是否出现预期中的对称性破缺——这是捕捉BIC的关键征兆。
跑完仿真别急着关软件,用切片图看电场分布时,重点观察结构边缘的涡旋状场分布。真正的BIC会出现类似太极图样的场结构,这时候赶紧用参数扫描锁定共振频率,Q值突然飙升的位置就是BIC的藏身之处。
最后提醒新手:网格在弯月形尖端要做加密处理,至少划分五层网格。见过太多人在这翻车——明明设置都对,结果却像噪声图,多半是网格粗糙惹的祸。记住,玩BIC仿真,精度不够就像用望远镜找细胞,压根看不到关键细节。