1. 等离激元BIC是个什么东西,先通俗过一遍
1.1 BIC:在“连续谱”里赖着不走的模式
先讲物理。光学超表面或等离激元阵列中,电磁波在自由空间、衬底、周期结构之间来回耦合,大多数模式都会朝外辐射能量,能量流出去叫“泄漏”。但有一类特殊模式,频率明明落在辐射连续谱的范围里,却因为自身场分布与所有外部辐射通道的对称性互相排斥,能量怎么也漏不出去,只在结构局部维持振荡——这就是“连续区束缚态”,简称BIC。
可以这样理解这事:你站在嘈杂的大厅里,周围全是说话声,这就是连续谱;你想跟旁边的人说一句悄悄话,理论上声音会被喧闹淹没。但如果你恰好站在声学死角,后背贴着墙,嘴对着墙角,你那个频率的声音虽然落在所有人说话的频率范围之内,却没有向外传播,只有贴着墙的这个人能听见。光学BIC也是靠“波函数节点”和“远场通道对称性失配”实现困光的,本质上不是一个多神秘的机制,而是一个线性系统里特征模式解不出的漏波解。
在周期性微纳结构中,BIC最常见的实现是“对称性保护BIC”:模式在单元胞内的场分布相对于某个对称操作是奇函数,而平面波辐射通道对应的场分布是偶函数,两者积分结果为零,耦合矩阵这一项直接消掉。于是这一模式既不会被平面波激发,也不会自发辐射。你从实验上观察它,它始终是“暗”的;只有打破结构对称性,它才被“释放”出来,变成可观测的高Q模式。
1.2 等离激元BIC和纯介质BIC的差别
介质超表面的BIC通常用高折射率纳米柱(硅、二氧化钛)来实现,Q值动辄上万。等离激元BIC换成金属/介质复合结构后,局域表面等离激元共振参与进来,给模式带来了高度集中的电场增强能力。金属引入欧姆损耗,纯材料的Q值被压低,但换个角度想:局域场增强、表面灵敏度反而提升了,像做传感、增强非线性、荧光增强这类应用,恰恰需要这种“又把光锁住、又把场压到极小空间”的特点。
从COMSOL建模的角度看,这两类BIC的差别很实际。纯介质BIC往往在长方体柱阵列中实现,建模简单,材料折射率直接给常数就行。等离激元BIC则必须处理金属的复数介电常数色散,还要保证网格在金属表面足够细,仿真代价和收敛难度都高一截。哪个更难收敛?我在实际仿真里觉得最麻烦的不是金属本身,而是“如何让一个本不该辐射的模式在数值上确实保持不辐射”——这是后面要重点聊的。
1.3 为什么要纠结“非偏振”
多数的BIC结构设计要从一个对称性完整的单元出发,再人为破坏对称性,BIC才能转成准BIC,被外部平面波激发。问题是,很多人破坏对称性时只破坏一个方向:圆盘改成单方向椭圆,孔只往一个方向偏,于是结构变成了对x偏振敏感、对y偏振不敏感的单偏振器件。
现实中的光谱检测、荧光增强、偏振无关光学滤波等场景都要求器件对入射偏振不敏感。也就是说,结构既要“破缺对称”把BIC放出来,又要在x和y两个方向同时、等效地放出来。设计难点就在这里。本文后面给出的建模思路,就是围绕“什么样的破缺既能打破BIC的暗态,又能保持x/y等价”来展开。
2. 非偏振BIC结构的设计逻辑:对称性与扰动怎么搭配
2.1 从“过度对称”的暗态出发
最省事的起点是周期金圆盘阵列。单元胞结构和电磁模式都是C∞旋转对称,场的多极展开里包含偶极、四极、六极等成分。只有偶极项能与平面波直接耦合,四极以上因辐射矩阵元为零而成为暗态BIC。COMSOL里给这种结构设置一套合理的默认参数就可以作为工作起点:
- 周期P:600 nm
- 金圆盘半径R:160 nm
- 盘厚度t:50 nm
- 底层二氧化硅衬底:厚度取300 nm
- 上方空气覆盖层:高度取500 nm以上
为什么要取这些数?我通常按近红外波段来定。金盘局域等离激元共振大致在P/R比值约为3~4的时候出现在700~900 nm;P=600nm、R=160nm时,阵列瑞利异常约在600nm附近,它与局域等离激元耦合,能形成表面晶格共振。BIC往往就在这个共振附近产生,具体位置靠特征频率扫描找。你不需要一上来就追求参数完美,先把几何建出来、把模式找到,再根据实际共振位置微调周期和盘径,比空想参数靠谱得多。
2.2 怎么扰动才能“偏振不敏感”
打破圆盘对称性的方式很多,但效果完全不同:
- 圆盘改成椭圆:只打破了一组正交方向的对称性,响应偏振依赖明显。
- 圆盘上偏离圆心挖一个圆孔:单孔偏移同样只在某一方向上破缺。
- 圆盘上挖两个孔,分别沿x和y方向偏离:整体结构保持x/y互换对称,是两个正交偏振都激发、且激发率相同的最直接方式。
- 圆盘上挖一个沿45度方向偏移的椭圆孔,同时把椭圆长轴放在与偏移方向垂直的方位:也有机会做到x/y等效,但需要对参数精细调整,不建议新手一上来就试。
我在类似项目中用得比较顺手的是“双偏心孔”方案。单元胞内金属圆盘半径R=200 nm,厚度70 nm,盘上挖两个圆孔,半径r均为45 nm,第一个孔中心相对于盘心沿x正方向偏移d,第二个孔沿y正方向偏移d。整体结构对交换x和y坐标保持不变,而相对于x轴、y轴的对称性都被破坏了。这样,原本在严格对称结构中完全暗态的BIC模式被同时“放行”给x偏振和y偏振入射光,而且两边放行的强度相同。d从0开始增大到80~100 nm的过程,就是Q值从趋于无穷回落到几百、几十的过程。
2.3 用COMSOL参数化这一步要做的准备
COMSOL里做参数扫描前,先把全局参数建好。我习惯把所有几何尺寸用参数表示,后续优化不重建模型。参数写法如下:
P=600e-9 R=200e-9 r=45e-9 d=0 t=70e-9 h_sub=300e-9 h_air=600e-9建立几何时用“块(Block)”做空气背景和衬底,“圆柱(Cylinder)”做圆盘,两个“圆柱”做孔,用“差集(Difference)”把圆盘上的孔挖掉。关键点是孔的偏移方向:第一个孔的圆心坐标参数化表示为(d,0, t/2),第二个为(0,d, t/2),坐标原点放在盘心,z方向为厚度方向。这样一个简单的参数化操作,就把“破缺正交方向保持等价”这个设计条件固化在几何里了。
下一步是检查几何对称性是否真的满足x/y等价。最简单的验证办法:在COMSOL里把单元胞复制一份,绕z轴旋转90度再和原胞对比,若完全重合,则x/y偏振一定等价。我一般通过“变换(Transforms)”里的旋转功能做一次直观检查,比看代码可靠得多。这一步看似多花几分钟,但它能提前暴露很多“明明应该对称却怎么也算不出对称结果”的问题。
3. COMSOL建模的完整流程:物理场、边界、网格与求解
3.1 物理场接口与周期性条件怎么选
模型用“电磁波,频域”接口(接口标识ewfd),三维。对BIC研究,分两个阶段。
第一阶段找模式,用特征频率求解。单元胞四周定义“周期性条件”,类型选Floquet周期,在Γ点(kx=0,ky=0)下求解。此时顶部和底部不用PML,直接留一定厚度的空气和衬底即可,特征频率求解器会自动计算开放空间中的辐射衰减;有辐射泄漏的模式虚部大,BIC模式的虚部极小。
第二阶段算响应,用频域求解。把激励方式改成“周期性端口”,在单元胞的一个面上定义入射端口,另一个面定义出射端口。为了分别验证x和y偏振,端口模式需要分别设置极化。COMSOL的周期端口在使用时,需要和“边界对”配套,端口类型选“衍射光栅”,阶数按实际设置的布洛赫周期对应。需要注意的一点是:在特征频率求解模式下,周期性端口不一定能很好地配合,所以常见做法是先用特征频率找模式,再用频域加端口做透射谱验证。
3.2 材料设置:金属色散必须用实验数据
金属的相对介电常数关系紧密。建议不要在COMSOL里直接用简化的Drude常数一路算到底,因为金属膜的实际损耗、衬底附着效应会让结果偏移。更稳妥的做法:
- 建立插值函数epsilon_real(λ)和epsilon_imag(λ),数据来自公认的材料光学常数手册。
- 或者在COMSOL材料库中找到金或银的“光学”材料,但注意部分库材料属性覆盖波长范围有限,超出范围会外插出奇怪结果。
- 如果做的是近红外波段,要用包含该波段实测值的色散数据。
金在近红外区的典型行为是:实部绝对值逐渐减小,从约-12到-30左右变化;虚部在10左右。如果你拿一个只覆盖可见光的材料库数据外插到1200 nm,结果很可能偏离物理。
在频域和特征频率两种求解里,金属损耗的处理要分开看。特征频率求解时,如果金属损耗打开,BIC的虚部被欧姆损耗钳制,很难看到“数值上趋于零”的BIC现象。为了分析辐射通道,我通常先关掉损耗(把金属色散里的虚部暂时设成0),让虚部仅由辐射决定,等验证完模式归属,再打开损耗做最终结果。这是建模中的一个关键实用技巧,能让你把“辐射Q”和“材料Q”两种物理机制分开来看。
3.3 网格划分:BIC仿真成败的关键
网格这一块我要多说几句,BIC数值结果对网格的敏感度比普通透射问题高一个量级。原因很简单:虚部这个量本身是几乎为零的小数,任何离散误差都会被放大成相对很大的虚假损耗。
实际做法:
- 金属盘和衬底界面处,用边界层网格,第一层厚度1~2 nm,层数5层,增长率1.2。金属内部最大单元尺寸设为20 nm。
- 单元胞整个计算域,最大单元尺寸设在40 nm左右。空气区域可以放到80 nm,但不要超过λ/10(近红外800 nm时约80 nm)。
- 孔口、盘边缘是场集中处,必须局部细化为10 nm以下。
算完首先要做收敛性检查:把最大单元尺寸分别设成40、30、20 nm,对比BIC模式虚部。如果虚部随网格加密而显著变化,说明网格还不够。通常要等到相邻两次网格对应的Q值相对变化小于2%再用来做最终数据处理。三维模型在这步计算量很大,我一般先用粗网格定位模式、确定大致频率,再针对单个目标模式做局部细化重算,而不是全程细网格。
3.4 特征频率求解器的设置细节
特征频率求解器设置不当,最常见的现象是“找不到想要的模式”。我一般这样设置:
- “搜索的特征频率”采用“指定实数/复数频率附近”,把初始值设在估计的共振波长对应的角频率,并设置一个较小的搜索半径。
- 一次计算模式数量给20~30个,保证包含多个高阶暗模式。
- 周期性条件的布洛赫波矢,在Γ点设置为0,0,用“Floquet周期”的“从k向量”自动配置。
另外一个很容易忽略的点:单元胞的背景空气层和衬底高度不能太薄,要把倏逝场给够。如果空气高度只有200 nm,高频泄漏模式可能被顶面边界影响,虚部失真。我建议空气厚度取0.5λ到1λ,衬底厚度取0.3λ以上。对于800 nm工作波长,空气厚度500~800 nm、衬底厚度300 nm,是安全的。
4. 结果怎么提:BIC定位、Q因子拟合与偏振验证
4.1 特征频率结果里怎么认出BIC
在d=0的严格对称结构里,特征频率列表会出现一批模式,其中大部分是亮模式,虚部在MHz到GHz量级,Q值几百到几千。真正的BIC通常虚部最小,小到10^3 Hz甚至10^2 Hz以下,但同时你要看场分布确认它不是数值伪模式。
我在看结果时常做两件事。第一件是打开特征频率对应的电场模分布:BIC模式沿金属盘圆周有多极节点,或者双孔结构的局域场围绕两个孔对称分布。第二件是看表面电荷密度分布,反对称分布说明它不能和均匀平面波耦合。这种模式下电场增强集中在金属表面很薄的一层里,这正是做灵敏检测的价值所在。
需要提醒的是,数值上d=0时虚部不会严格等于0。由于离散化,BIC的虚部会是一个很小的有限值。只要虚部比同一频率附近其他模式小2~3个数量级,就可以认定是数值意义上的BIC。不要为了追求虚部绝对为零去调网格,那样会浪费大量算力,而且根本做不到。
4.2 Q因子随扰动参数的变化规律
d从0开始增大,BIC变成准BIC,虚部逐渐增大,Q值下降。准BIC理论给出:Q与无量纲扰动参数α的平方成反比,α=d/R。也就是说,双对数坐标下Q-α关系是一条斜率-2的直线。
扫描d从10 nm到100 nm,每步5 nm,用特征频率求解,提取实部ω0、虚部γ,算Q=ω0/(2γ)。然后把Q值随α的变化画在对数坐标里。如果斜率在-1.9到-2.1之间,说明模式行为符合准BIC物理;如果斜率明显偏离,就说明可能有其他泄漏通道参与,比如衬底高阶衍射或模式杂化,需要重新审视模型。
这个Q与α的规律也是文章里最有力的“证据图”,比直接贴一个透射谱更有说服力。建议把特征频率结果导出到表格,在图形界面或者外部工具里做拟合,COMSOL自带的结果绘图功能也够用。
4.3 非偏振响应的验证方法
非偏振不是说“对任何偏振都不敏感”,而是对x和y两个正交线偏振的响应一致。验证分几步:
- 取一个工作点,比如d=60 nm的结构。
- 在频域求解中先把入射端口模式设为x偏振,扫描650~1000 nm,记录透射谱或吸收谱。
- 再把入射端口模式设为y偏振,做完全相同的频域扫描。
- 对比两条透射曲线:主共振峰位置应当重合,半高宽应当一致,谷底深度相对偏差建议控制在1%以内。
若两条曲线高度重合,就可以认定这个结构是非偏振响应的准BIC超表面。如果想更严格,再做一个“斜入射角扫描”测试。虽然标题里说非偏振,实际应用里通常还会关心入射角稳定性,这里可以加一点角度扫描的结果,但别把范围扯太远。
除了透射谱,还可以对比两种偏振下共振波长的近场增强。比如提取金属盘表面的最大电场增强,两个偏振方向计算结果之差小于5%,就进一步坐实了“偏振不敏感”的结论。
5. 常见问题与实操排查
5.1 “特征频率里根本没有虚部极小的模式”
排查顺序:
- 看是不是周期条件没配对。Floquet周期条件要求单元胞相对两个面的网格和物理场完全匹配;如果其中一对边界没配对,计算域就变成“开口”结构,所有模式都带大虚部。
- 看几何是否有微小的无意破缺。比如孔偏移参数d虽然是0,但布尔运算后的边界有细微gap或碎面,也会破坏对称性。
- 看搜索脉宽设置是否太窄。BIC模式可能不在你猜测的初始频率附近,把初始频率范围放宽,多算一批模式再筛选。
5.2 虚部始终下不去,像被什么东西托住了
这种情况先区分是“物理损耗”还是“数值假损耗”。把金属损耗关掉再算一遍(把色散虚部设成0),看虚部是否明显降低。如果关了损耗还是托在10 MHz级以上,那就是网格或边界问题。
网格问题上,首要怀疑金属孔口和盘面的解析度。此时把局部最大单元尺寸从10 nm降到5 nm,重新算一次,观察虚部变化幅度。若变化超过10%,继续细化,直到变小到可以忽略。
边界问题上,把背景空气厚度从500 nm加到800 nm,看虚部是否下降。若显著下降,说明原先是计算域截断引起的近似泄漏。把边界条件改成PML或者直接增大厚度都可以。
5.3 两条偏振透射谱“不合拢”
偏振不敏感的设计没做到位,最常见的低级错误是几何只在一侧偏移。比如圆盘上只挖了一个偏心孔,这种结构主响应其实只在一个偏振,另一条透射谱显示不出同样的深谷。解决办法就是换成双侧偏心孔或使单元胞在x/y旋转90度后完全重合。
还有一种隐蔽情况:几何看似对称,但材料属性各向异性或衬底的晶轴方向让x/y不再等价。COMSOL里如果材料定义为“各向异性”,尤其需要注意折射率张量方向。仿真时统一用各向同性材料,除非确有必要。
5.4 参数扫描里模式“跳变”
特征频率随d增大时,和附近亮模式发生交叉/避让,追踪会突然跳到另一条分支上。解决办法:
- 把一次模式数量提高,取出全部特征频率后用手工判断。
- 更可靠的是通过模式场重叠积分来追踪同一条分支。计算第n步与第n+1步之间两个模式的场重叠积分,乘积大的就是同一分支。
- 如果只是画Q-d曲线,可以限制在某个频率范围并固定搜索半径,COMSOL会按接近参考值的顺序排列特征频率。
5.5 模型太大、算得太慢
三维等离激元BIC模型确实吃资源。我的建议是:
- 先算二维截面结构验证物理规律,再扩展三维。
- 参数扫描时粗网格多步扫,找到趋势后再精算若干关键点。
- 特征频率计算用稀疏直接求解器,内存不足时改用多重网格预条件迭代求解器,但要注意收敛性。
- 近红外模型如果不需要太细节,可以先关掉金属损耗,用约十万自由度的网格看模式趋势,最后对工作点做一次高精度细网格计算。
提示:如果你用的是双偏心孔方案,d扫描范围别开太大。d超过孔半径之后,两个孔可能在盘边缘重叠,几何变形成非物理形状。我一般把d上限限制在R - 2r附近,这样既能扫出Q值几个数量级的变化,又不会惹出几何报错。
坦白说,我在这类模型上踩过最多坑的就是“网格”和“损耗”两者纠缠不清的那一步。BIC的虚部在理论上就是要等于零,但数值上它永不会严格为零,你必须用“相对其他模式的虚部小几个量级”这个判据,而不是死磕绝对零值。另一个体会是,非偏振设计不是“做一个圆对称结构再让它BIC被激发”——完美对称下BIC根本激不出来,真正的物理在于“让破坏对称的那个扰动同时具有两个正交方向的等效性”。如果一开始就围绕这个原则选几何,后面的建模和验证都会顺很多。
最后给一个小技巧:做d扫描之前,先把d=0的BIC模式在粗网格下固定好,并在求解器中把“特征频率搜索”的参考值设置成该模式的频率附近。这样后面每一步扫描时,求解器都会优先返回接近BIC分支的模式,模式跳变的问题会少很多。希望这篇经验能帮你少走弯路。