ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

COMSOL光子晶体Merging BIC仿真:能带、Q因子与远场偏振

COMSOL光子晶体Merging BIC仿真:能带、Q因子与远场偏振 做光子晶体仿真的人这几年绕不开一个词BICBound states in the continuum连续谱束缚态。尤其是Merging BIC这个概念火了之后做激光、超表面、非线性器件的人都在往这个方向靠。我这次用COMSOL跑了一套光子晶体平板的仿真流程目标很清晰通过结构调整把普通BIC变成合并BIC同时把三维能带、Q因子、远场偏振这几件事一次性算明白。这篇文章就按这套流程的先后顺序拆开讲模型怎么建、能带怎么扫、Q怎么算才靠谱、远场偏振图怎么解出来以及中间踩过哪些坑全部摊开说。适合正在做光子晶体、超表面、拓扑光子学研究的朋友尤其是有COMSOL基础但被BIC类计算折磨过的人。先说清楚这套仿真的物理背景和计算目标再往后谈操作才不糊涂。1. 先想明白这几个物理图像1.1 光子晶体和能带光子晶体说白了就是介电常数周期排布的微纳结构。电子在周期势场里有能带光子在周期介电结构里同样有能带这个类比是整类器件的理论基础。COMSOL算光子晶体能带本质就是在周期边界条件下解麦克斯韦方程组得到布洛赫波矢k对应的本征频率ω(k)。跟电子能带的算法思路几乎一样只不过这里求解的是电磁场而非薛定谔方程。一个典型的介质平板光子晶体会同时存在导波模式和辐射模式。导波模式局域在结构内部随着距离指数衰减辐射模式则与外部自由空间耦合能把能量带到远场。在动量空间里光子晶体的结构周期性会把能带折叠进第一布里渊区于是本来在光锥外的导波模式也可能被折叠到光锥以内跟连续的辐射模式共存于同一个动量位置。这种导波与辐射连续态在同一个k, ω区域里共存的局面就是BIC出现的先决条件。很多人一开始不搞明白这个上来就扫能带看到一条带就以为是BIC其实大概率只是普通导波。1.2 BIC到底是什么BIC这个名词看起来很高深物理图像其实很直观。它就是一个包含在连续辐射谱内部的束缚态本征模式本身的频率落在辐射连续谱范围内理论上却不向外辐射Q因子趋向无穷大。听起来矛盾但没有违背物理规则因为它和所有辐射通道之间的耦合恰好被干涉相消了。光子晶体平板里最常见的BIC是Γ点处的对称性保护BIC。在Γ点模式具有反演对称性而外部辐射场具有另一种对称性两者对称性不匹配辐射通道就被强制关闭。另一类叫偶然BICaccidental BIC出现在k不等于零的位置靠参数调谐让两个辐射通道的泄漏相互抵消。这两种BIC的本质都是远场辐射通道的耦合为零但在动量空间里的位置和鲁棒性差别很大。有一个容易混淆的点BIC不是缺陷态不是某个局部结构产生的局域态而是整个周期性结构的延伸态它的能量完全局限于平板内部但模式在空间上依然是布洛赫波扩展的。这一点在做COMSOL仿真时很重要因为边界条件、网格尺寸、PML处理稍有不对BIC就会被数值噪声“打开”辐射通道Q因子变成有限值看起来就像个高Q共振而不是真正的BIC。1.3 Merging BIC的价值单个BIC在理论上是完美的但实际加工出来的结构总有尺寸误差、侧壁倾斜、材料吸收。一旦结构对称性被破坏对称性保护BIC立刻就变成有限Q模式。这导致BIC在实际器件中非常脆弱。Merging BIC的思路就是通过调节几何参数把动量空间不同位置的全新BIC某种意义上是“可移动”的BIC移动到同一位置合并成一个增强了拓扑特性的BIC。为什么合并以后的BIC更鲁棒文献里通常解释为合并后的BIC在动量空间里对应一个更高阶的偏振涡旋结构微扰对它的影响是二次幂关系而普通BIC是一次幂关系。反应在宏观结果上就是你制造误差变大Q因子依然能维持在十万量级甚至更高。因此Merging BIC在单模激光、高灵敏传感、窄带滤波方面特别有价值。2. 在COMSOL里搭一个可信的光子晶体平板模型2.1 几何参数与材料设定实际建模时我采用一个典型的介质柱光子晶体平板硅柱阵列放在一个薄的介质平板上或者直接在硅平板上刻空气孔两者都可以仿真设置几乎相同。下面以一个通用结构为例晶格常数a 800 nm背景平板是硅折射率n 3.48平板厚度h 500 nm圆柱半径r从200 nm到280 nm范围做参数扫描。几何建模尽量用参数驱动不要直接在几何里填死数字。因为后面做Merging BIC调控必然要扫描某个结构参数比如半径、孔偏移量、椭圆率。把所有尺寸都设成全局参数扫参数时只需改一个变量模型重建自动完成。我习惯在参数表里一次性定义a晶格常数、r柱半径、h厚度、gPML与结构距离等并且用r/a这种无量纲组合做扫描这样换材料换波段时所有几何自动缩放不用重做模型。材料参数要特别注意色散问题。对半导体材料仿真波段较窄时可以忽略色散固定折射率即可。如果要做可见光到近红外的宽谱能带建议加入材料色散数据否则二维能带和Q因子趋势都会失真。常见做法是在组件内定义材料函数允许分段插值。这里还有一个重要经验算BIC相关问题材料损耗先设为0或很小的值。如果一开始就加入材料吸收特征频率虚部会被材料吸收主导辐射通道贡献的信号完全被淹没Q因子分析根本没法做。分开两步走先做无耗仿真看清辐射Q再单独估计材料Q对总Q的影响。2.2 Floquet周期边界与开放条件单元胞的四条侧边设置Floquet周期性边界条件在COMSOL里叫Periodic Condition或者Floquet Periodicity并给定布洛赫波矢k (kx, ky)。这里有个细节Floquet边界要求两个相对边界上的场满足相位关系也就是u_dst u_src * exp(i * k · r)。其中k的取值直接决定你算的是哪个布洛赫模式。很多新手在这里犯的典型错误是把周期性边界条件设为零相位即kx0、ky0以为这就是Γ点。实际上设置波矢分量时需要在周期边界条件属性里填写kx和ky的具体表达式。我直接把kx和ky定义为全局参数在扫描研究特征频率时用“辅助扫描”扫这两个参数每扫一组(kx, ky)就能得到一个本征频率列表。光子晶体平板是开放结构上下表面不能设成完美电导体或完美磁导体否则辐射通道被人工关闭算出来的模式全是“伪BIC”。正确做法是上下边界用散射边界条件或完美匹配层。做Q因子提取时强烈建议用PML而不是简单的散射边界条件。本质上只有PML才能可靠地吸收辐射场从而在复数频率中准确提取出辐射损耗虚部。PML的设置也讲究厚度至少要覆盖一个波长与结构表面留空约半个波长的间隙PML内部网格要各向异性拉伸。COMSOL自带PML坐标缩放参数通常依赖内置设置就行但间隙层和厚度这两个值别省。我默认取h_gap 0.5 * λ0h_pml 1.5 * λ0精度和计算量都比较平衡。2.3 网格剖分决定仿真实力的地方对于三维光子晶体计算网格往往是大坑。BIC类模式对网格非常敏感因为你需要精确解析场分布在周期性单元内的细节特别是结构边缘附近的电场增强区域。我用的是物理场控制网格基础上手动加密结构内部与平板区域的网格最大尺寸设定为a/8结构锐利边角处用角部细化PML区域用映射网格拉伸。计算Q因子时网格不足的直接表现是本应趋于无限的Q因子算出来却只有几百、几千而且随着网格细化还会系统性地缓慢上升。这是典型的未收敛症状。碰到这种情况先固定其它所有条件把网格尺寸从a/16、a/20、a/24各自算一遍看Q值变化趋势。如果Q与网格尺寸基本无关说明结果收敛了如果Q一直在涨你的结果不能直接引用。经验值上三维全波仿真中BIC附近模式的网格密度通常是普通能带模式的2~4倍。一个900 nm尺度晶胞网格数量大概在几十万自由度的规模单次特征频率求解一两分钟能完成。这也是为什么后续做全布里渊区扫描时计算量会非常巨大所以网格质量和扫描步长之间要做一个妥协。3. 三维能带扫描从一条线到一张面3.1 高对称路径扫描一维能带先不要直接上二维扫描。我的习惯是先沿布里渊区高对称路径做一维能带扫描把所有模式的行为摸清楚再开展全布里渊区的二维扫描。高对称路径在正方晶格中是Γ(0,0) – X(0,π/a) – M(π/a,π/a) – Γ(0,0)。这个路径上的模式身份比较清晰可以快速确认目标频率附近有哪些导波带、有哪些交叉点、有几个BIC。操作方式研究步骤添加特征频率把Floquet边界中的kx、ky用路径公式参数化。比如从Γ到X令kx π/a * sky 0s从0到1扫描。这里的s用辅助扫描的索引参数步长取20~30步就够看到趋势。关键点是一维能带扫描时要把“特征频率搜索区域”设置得窄一点。如果求解器搜索范围太宽比如从0到几个THz它会返回一大堆高次模式杂模非常多无法区分哪些是物理模式哪些是数值模式。我通常先把目标频段估计好用带结构的平均折射率公式估算再设置搜索中心在目标频率附近频率跨度设为带宽的1~2倍。一维能带图出来后判断BIC的线索有三个模式在Γ点出现退化能带与连续辐射态的色散交叉模式的本征场在平板内部高度局域外部场几乎没有泄漏。通常配合Q因子计算一起看。3.2 全布里渊区扫描与三维能带面一维能带确认物理图像后再做二维扫描得到的就是三维能带面ω ω(kx, ky)。标题里的“三维能带研究”说的就是这个——不是三维实空间模型模型本来就是三维的而是把动量空间两个维度都展开看频率面在(kx, ky)空间中的分布。COMSOL的辅助扫描支持嵌套循环把kx定义成-pi/a到pi/aky同样定义成-pi/a到pi/a步长建议取20×20到30×30。注意这里的扫描步长直接决定了能带面的分辨率。Merging BIC分析中两个BIC在临界参数附近会靠得很近分辨率不够就看不出合并过程。基础筛选用25×25就够参数精调阶段再用40×40。这种扫描的计算量非常大。25×25就是625个特征频率求解每个求解又有好几十个本征模总体规模和一次中等的三维电磁场参数扫描相当单机要算几小时到十几个小时。建议先把几何网格适当放宽到a/12得到一个粗结果锁定模式行为后再在关注的动量区域局部加密扫描。这个局部扫动量空间的技巧特别省时间尤其在参数临界点附近追踪BIC位置时。算完后把所有本征频率按(kx, ky)顺序导出在外部脚本里重新排成二维频率矩阵。COMSOL自带的绘图也可以直接画三维曲面但数据量太大时交互会卡。我通常把数据导出为表格后交给数据处理脚本绘制ω(kx,ky)曲面和等频率图等频率图在判断能带分离、连续谱交叉时更直观。3.3 模态追踪防止模式跳变这是整个流程中最容易出冷汗的环节。特征频率求解器在每个k点返回多个特征值顺序是按频率大小排的所以模式会“跳线”——同一支物理模式在不同k点可能是第5个、第6个、第7个特征值直接按索引画能带会得到一堆断线和跳跃。这个问题在Merging BIC研究中尤其致命因为BIC往往处在能带交叉点附近模式高度简并。解决思路有几个层面。第一在同一条能带曲线上做扫描时用“前一个k点的解作为当前k点的初始值”。COMSOL特征频率求解器允许启用“使用上一个解”作为初始猜测这样能大大提高模态追踪成功率。第二提取每个特征值的参与因子和电场能量占比数值假模参与因子明显偏低可以直接剔除。第三个方法凡是平面上有交叉危险的地方用更小的k步长加密手动分辨模式轨迹。我踩过一次很深的坑二维扫描结果看起来能带图非常漂亮但Merging BIC的“合并”现象始终不明显。排查才发现模式追踪在某个参数突变点上发生了跳线我追踪的是一支残余的普通导波不是BIC。从那以后我所有参数筛选都先跑一维路径验证再跑二维。4. Q因子计算的完整链路4.1 为什么用复数特征频率Q因子的定义是谐振腔存储能量与每个周期损耗能量的比值数学上可以写成ω0/Δω。在COMSOL的特征频率研究里求解器直接给出复数的本征频率实部就是共振频率虚部代表损耗率。对无源无增益系统虚部为负值Q因子公式是Q Re(ω) / (2 * |Im(ω)|)没有PML的问题在于开放式结构的辐射损耗没有物理机制被吸收求解器把表面看作反射边界虚部被严重低估Q因子虚高。所以前面才强调PML不是可选项而是计算Q因子的必需项。PML把辐射波吸收掉等效于开放空间虚部才包含真实的辐射损耗。对比一下常见的宽频法S参数扫描再Fano拟合和特征频率法宽频法需要先扫频响再用三参数或五参数Fano公式拟合出线宽步骤多、拟合质量对初始值敏感特征频率法一次求解直接得到复数频率信息量更大特别是可以同时拿到本征模场分布。表格对比如下方法步骤复杂度对网格敏感度能否直接看场分布适用场景特征频率复数频率法低高能BIC模式识别、Q因子追踪宽频扫描Fano拟合高中需另算获取实际透射/反射谱时本征模能量方法中中能多模同时分析实际项目里两种方法经常配合先用特征频率法锁定目标模式和Q因子再用宽频扫描验证透射谱里对应的共振线宽。4.2 计算环节的细节PML设置好之后固定k点运行特征频率研究。求解器设置有几个关键参数要手动调整特征频率数不要贪多默认会求6~10个。BIC通常落在目标频段特征频率数量设置成10~14比较保险太多反而浪费求解时间。搜索中心频率填目标共振频率附近的预估值CTRL键逐个尝试直到目标模式出现。这样解析出来的模式是最接近物理真实的弱辐射本征模。相对容差默认1e-6在小虚部BIC模式上不够用改成1e-8或更严格尤其当Im(ω)比Re(ω)小四五个量级时。特征频率的研究扩展项启用“计算参与因子”协助甄别假模。求解完成后在派生值里提取实部频率f_real和虚部频率f_imagQ f_real / (2 * abs(f_imag))。这个计算可以直接做一个全局表达式这样在参数扫描结果里每个参数组合都能自动算出Q。我习惯在结果里同时输出f_real、f_imag和Q三列方便后续判断模式是否进入BIC状态虚部趋于零、Q趋于大值。4.3 BIC的Q因子要收敛不要迷信BIC理论上Q是无穷大的但COMSOL里你永远不会得到无穷大。原因很简单网格把连续空间离散化了辐射通道无法精确关闭PML的吸收也不是理想吸收求解器迭代收敛的数值噪声也会贡献到虚部。于是你看到的BIC模式的Q往往是几万、几十万甚至更高但不会严格是无穷大。碰到这种“高但不无穷”的结果要做收敛性分析不能说看到一个大Q就宣布找到了BIC。方法是固定k点将网格最大尺寸从a/12细化到a/24看Q值变化。如果Q随加密几乎不变说明数值误差已经足够小可以认为该模式在物理上是BIC。通常我们以Q大于1e6且随网格加密升高不超过10%作为一个工程判定标准。还必须把辐射Q和材料吸收Q分开。如果材料折射率有虚部吸收那么总Q是辐射Q和材料Q的并联关系1/Q_total 1/Q_rad 1/Q_abs。在实际仿真里加入材料损耗后虚部几乎全被材料吸收主导你看到的总Q会远小于纯辐射Q。这也是为什么我前面强调正式研究中要把材料损耗单独处理后合并分析。5. 调控Merging BIC与远场偏振验证5.1 结构调整让两个BIC走向合并Merging BIC的物理实现本质是通过改变某个几何参数让动量空间中的多个基态BIC位置发生移动最终在临界参数处汇聚。比较常见的方案是改变介质柱半径、高度、椭圆度或横向偏移量把原本不在Γ点的偶然BIC推向Γ点跟对称性保护BIC合并。我以改变圆柱半径r为例固定a和h把r从200 nm到280 nm逐次扫描。每个r值都做二维能带扫描记录非Γ点BIC在(kx, ky)空间里的位置。典型的行为是r较小时两个在kx轴上或对角线方向对称分布的BIC离Γ点较远随着r增大两个BIC逐渐向Γ靠拢在某个临界半径rc处两个BIC移到Γ点并与原本的对称性保护BIC合并这时候Γ点附近的能带色散关系会发生明显变化频率面变得平坦同时Q因子出现一个极大尖峰。这里最花时间的是定位两组BIC的准确位置。我通常用粗扫描看清楚大致坐标再用局部加密扫描精确定位。如果你观察到BIC位置随参数单调变化说明追踪方向是对的。如果有突然的跳变先回一维能带图检查是否出现了模式身份交换。这种身份交换在结构参数扫描中极其常见是Merging BIC模拟做得怀疑人生的主要来源之一。5.2 远场偏振涡旋BIC的“身份证”怎么确认你看到的BIC真的是BIC而不是一个带边上恰好漏到外面的模式最可靠的方法之一是看远场偏振分布。BIC在动量空间的远场偏振分布会形成一个涡旋vortex涡旋中心对应BIC位置它周围的偏振方向绕中心旋转一圈累计旋转角度等于2π的整数倍这个整数就是拓扑荷。实际操作中我通常用两种方式在COMSOL里展开远场偏振分析。第一种是用COMSOL自带的远场计算在模型外缘设置远场域然后计算本征模在该域的场值输出随角度变化的远场方向图和偏振分量。第二种更灵活的是把本征模在单元胞上表面的电场分布导出在外部脚本里做二维傅里叶变换从而得到平面波展开系数。每个平面波分量对应一个远场辐射方向其矢量的两个分量Ex、Ey就构成该方向的线偏振或椭圆偏振态。在(kx, ky)平面里扫一片区域把每个k点的远场偏振方向用短线箭头画出来你就得到一张“偏振地图”。普通辐射态的偏振箭头方向是均匀的或缓慢变化的而BIC附近的偏振箭头会绕着一个中心点旋转形成一个清晰的偏振涡旋。这个涡旋中心就是BIC所在的动量位置。顺便提一句拓扑荷一般取±1合并后的BIC可以呈现更高阶的拓扑荷所以远场偏振图还能定量告诉你合并的完成度。5.3 合并判定与参数临界点判定Merging BIC是否成功的标准通常看三点第一二维能带面上Γ点附近的频率面是否在临界参数处出现上下分离或凹槽形成孤立点这不是开口率很大的能带而是模式频率与连续谱交叉点处的行为突变。第二Q因子在临界参数处出现尖峰偏离临界值后Q迅速下降到百级或千级这个峰越尖说明合并越干净。第三远场偏振图上原本分开的涡旋在临界参数处合并在同一个中心拓扑荷变成叠加值。三个判据里至少满足前两条才能下“Merging BIC实现”的结论。我实际做下来最稳定的是Q因子判据因为能带交叉点附近的模式本来就难追踪偏振涡旋的数值噪声也偏大而Q因子的局部极大值非常明显不容易误判。当然这只是作为工程判定物理上严谨的结论还是要以磁场分布、偏振拓扑为主。为了准确锁定临界半径rc我在rc附近用极细的步长做局部扫描比如r从240 nm到255 nm步长0.5 nm。这个量级的扫描会让总计算时间成倍上升但整个过程是值得的因为Merging BIC的临界行为常常只出现在非常窄的参数窗内。扫得太粗很容易直接把临界点跳过去。6. 踩坑实录常见问题速查6.1 特征频率假模泛滥做周期结构计算时特征频率求解器经常会返回一堆能量集中在PML区域或结构内部奇异点上的假模。判据很简单查看参与因子物理模式的参与因子通常接近1假模偏低同时看电场能量分布假模往往大量集中在网格奇异处或边界附近。处理方法加参与因子筛选把搜索频段限制在目标频率附近检查边界条件是否设置成周期性。还有一招很有效建模时把PML区域材料损耗单独设一个微小的值假模在PML里的损耗特别大虚部会明显偏高一眼能区分开。6.2 Q因子虚部为负或者忽正忽负特征频率模式虚部为负表示损耗为正表示增益但数值噪声会让本应为负的虚部在某些模式下翻成正号尤其在BIC模式虚部极小、只有1e-7量级甚至更低的时候。这种时候Q值会从正无穷跳到负无穷数据完全没法用。解决办法是回到收敛性分析加密网格并提高求解器容差。如果加密之后虚部的正负号依然不稳定说明这个位置其实没有严格意义上的BIC只是一个高Q准BIC模式。这种情况下就不要强行提取Q了改报“Q 某个阈值”更诚实。我在一篇数据分析里Γ点附近的虚部在不同网格尺寸下从1e-8变化到1e-6我最终报告的是“Q因子下限为1e6”而不是写一个具体数字。6.3 远场偏振图噪声大远场偏振分析遇到的最大问题是取样窗口不够宽或k空间步长过粗导致傅里叶变换的旁瓣渗入偏振箭头方向显得杂乱。这时把导出场分布的范围扩大两个单元胞并对窗函数做窗化处理旁瓣会显著减弱。另外偏振图的分辨率取决于你扫描的k点密度要分辨涡旋中心区域至少要在中心周围扫描15×15个k点以上否则拓扑荷判读不准。还有一个容易忽略的点远场偏振图的涡旋中心可能在两个k网格点之间而不是恰好在求解点上。这时需要用插值或局部加密扫描找到准确的涡旋中心否则你提取的拓扑荷可能不完整。回头看这套流程从物理图像、建模、能带扫描、Q因子到远场偏振每一环都是相互嵌套的。单纯把COMSOL模型跑通不算什么难的是在计算噪声里判断哪些结果是物理的哪些只是数值伪影。我自己的体会是做Merging BIC这类题目至少60%的时间要花在验证计算的收敛性和模态追踪上真正建模求解的时间反而只占一小部分。另外参数化设计不只是为了调出一个好看的结果更是为了理解整个系统如何响应结构变化——这一点对后续做实验和器件优化比一个临界参数值有用得多。希望这份实操记录能帮你绕开我踩过的坑。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表