资讯动态

COMSOL光子晶体BIC仿真全攻略:能带、Q因子与远场偏振实操

发布时间:2026/9/8 13:16:25 来源:尧图企业网站定制
简介这是一份面向光子晶体研究者与COMSOL仿真学习者的计算复现资源聚焦平带合并与连续态束缚态BIC这一前沿方向。压缩包共10个文件以txt技术说明为主辅以jpg能带/模型图、html页面和doc文档整体仅383KB便于快速查阅与对照学习。已有243人浏览下载。内容覆盖二维能带、三维能带、品质因子及远场偏振计算文件内详细记录了建模思路、参数设置与结果解释尤其适合希望借助COMSOL复现光子晶体光学特性、理解平带与BIC物理机制的中高级仿真用户。通过整理后的图形和文档读者能直观掌握从能带结构到品质因子、远场偏振的完整计算流程并可直接迁移到自己的研究或课程项目中。 做光子晶体仿真的人应该都有过这种体验文献里那条突然“断带”或者Q值飙升到10的6次方以上的能带自己怎么调参数都复现不出来。尤其是涉及BICBound States in the Continuum连续谱束缚态和“平带合并”这种概念时光是把物理图像搞清楚就要花不少时间更别提在COMSOL里把二维能带、三维能带、Q因子、远场偏振一条龙算完。我自己为了复现一套平带合并BIC的结果在COMSOL里来回折腾了两周多中间踩了不少坑把经验整理成这份操作笔记。这篇面向正在做光子晶体能带计算、BIC方向、或者刚入门想用COMSOL“抄作业”复现文献结果的同学。你不需要真的精通群论和辐射理论但至少要知道自己在算什么、为什么这么算。下面所有内容都以我实际复现过的流程为准参数和方法尽量给出可直接套用的版本。1. 先盘清楚BIC、平带合并和能带计算到底什么关系1.1 BIC是什么平带合并为什么值得做BIC的本质是在连续辐射谱内部竟然存在一个和所有辐射通道完全解耦的模式。它没有向外辐射损失理论上Q因子无穷大。实际做的都是准BIC只要打破结构的对称性、或者改变某个几何参数BIC就会变成有限Q的Fano共振模式Q值虽然不再无穷大但仍然可以做到非常高。平带合并又是另一回事。某些光子晶体能带会在布里渊区边界或者Γ点附近变得非常平意味着群速度趋近于零、光子有效质量趋近无穷光与物质的相互作用时间会大幅拉长。如果把“平带”和“BIC”放到一起研究好处就是平带提供大态密度BIC提供极低辐射损耗两者组合出来的结构在激光器、传感、非线性增强方面会非常有用。在COMSOL里复现这类物理核心任务其实就两件算出能带结构找出合并点再算出特定模式在合并点的Q因子和远场偏振。前者靠特征频率扫描后者靠复数特征值和近远场变换。1.2 一次完整的复现需要算哪些东西我用一个非常典型的结构来举例晶格常数a500nm的三角格或者四方格光子晶体板板厚t220nm背景折射率n3.48硅空气背景。圆孔或者方孔都可以关键是它的能带在某个高对称点上恰好出现斜率趋近0并且模式不辐射的情况。完整复现包含四个模块二维能带在COMSOL二维模型中扫描波矢得到TE/TM模式的能带图。这一步主要为了快速验证结构的周期性参数是否正确。三维能带加入板厚用三维单元晶胞并施加Floquet周期边界扫描高对称路径得到平板光子晶体真实的能带。Q因子在BIC所在波矢附近做特征频率计算用复特征频率提取Q值。远场偏振在高Q模式对应的波矢处把近场数据外推到远场看远场强度分布和偏振奇点结构。四个模块不是割裂的二维能带做出来之后三维能带的初始波矢扫描范围、模式的大致频率范围都有了参考。而Q因子和远场偏振又依赖三维能带里识别出来的目标模式。2. COMSOL建模前的关键抉择2.1 物理接口和研究类型怎么选计算光子晶体能带COMSOL里有两个思路一是用“电磁波频域”接口的特征频率研究二是用“半导体”模块去薛定谔方程但后者处理光子晶体并不直观。实际工程中大家用的都是“电磁波频域ewfd”接口。原因很简单它天然支持复数特征频率求解能直接把辐射损耗带出来而且材料折射率可以直接设置不需要额外转换。特征频率研究类型不是“频域”而是“特征频率”这个千万别选错。选错了你会发现自己扫的是外加源的响应而不是结构本征模式。几何建模时二维问题用2D组件直接画晶胞里的介质区域外边界设置为Floquet周期条件三维问题用3D组件晶胞包含一个空气层加介质板空气层外面再加PML完美匹配层。PML的作用是模仿辐射边界让从结构泄露出来的光被吸收掉从而在特征频率的虚部中体现辐射损耗。没有PMLBIC模式的Q值会虚高得离谱但非BIC模式的Q值又算不准。2.2 Floquet周期条件和波矢参数化设置周期边界条件需要设置两个方向的波矢分量。COMSOL里通常在全局参数中定义kx和ky然后在Floquet周期条件里把波矢分量填进去。比如扫描高对称路径Γ-X-M-Γ时需要把路径离散成几十个点对每个点计算对应的kx和ky再进行参数化扫描。一个常见的坑是波矢参数的单位换算。COMSOL默认波矢单位可能是rad/m而文献里通常用归一化波矢ka/2π。如果你设置的kx是归一化值需要在边界条件的波矢表达式里乘以2π/a。比如a500nm时ky 2*pi/500e-9 * ky_norm。这一步错了整个能带都会错位而且很难察觉因为能带形状可能看起来依然平滑。特征频率研究还需要指定“所需特征值数”。一般建议最少设置6到12个但要看目标带在哪。如果只算最低几条带6个够用如果关注高波段可以设到15个保证目标带不会因为两侧有更强的模式而被漏掉。2.3 网格策略先粗后细最后收敛网格直接影响Q值的准确性。很多人在这一步翻车一上来就用极细网格导致模型巨大、根本算不动或者网格太粗能带位置偏移Q值严重偏高偏低。我的策略是三步走第一步用“常规”网格尺寸粗算一遍能带找出目标模式的大致位置。此时Q值不关心只看频率趋势。第二步在目标模式频率附近做网格细化尤其是介质板内部和PML区域附近全局网格细化1到2级。第三步加密网格并计算Q值观察Q值是否收敛。如果两次加密后Q值变化超过10%说明还没收敛继续加密或换更高质量的单元阶数。如果模型实在太大可以考虑用二维简化模型寻找参数规律最后只对关键参数点做一次三维细网格验证。这样能把单次扫描时间从几小时降到十几分钟。3. 二维能带到三维能带从“快速验证”到“真实现实”3.1 二维能带验证模型逻辑最简单的方式二维能带计算本质上把三维板结构简化成无限大平面内的电磁模式只算面内传播、面外无限均匀的情况。它虽然不能精确描述有限厚度的板但对验证晶胞几何、材料折射率、周期边界设置是否正确非常有用。我用一个四方晶格介质柱阵列举例晶格常数a600nm空气孔半径r0.25a背景n3.48。在2D组件中几何就是一个圆孔加一个方形晶胞背景介质。物理场选“电磁波频域ewfd”二维模型中有两种独立偏振面外电场对应TE-like和面内电场对应TM-like。如果算TE能带要选择E方向垂直于平面的模式COMSOL在2D的ewfd中默认求解的是面外电场分量此时边界条件自动处理了积分。参数化扫描波矢路径Γ点(0, 0)X点(0.5, 0)归一化波矢单位2π/aM点(0.5, 0.5)回到Γ点每个点设置对应的kx、ky然后求解特征频率。把不同波矢下的特征频率画出来就是二维能带图。二维能带中观察平带很简单如果某一条带在X点附近变得平坦斜率逼近0那就是平带。如果这条带在Γ点或X点的场分布具有反对称性与所有辐射通道对称性不匹配那它就是BIC。这一步可以快速判断结构是否值得继续做三维。3.2 三维能带把板厚和辐射通道装进去三维能带计算需要建立包含晶格常数a、板厚t和空气层的三维晶胞。我用a500nm、t220nm、孔半径r0.25a空气层高度每侧至少0.5a外面包PML。步骤建立三维几何一个长方形晶胞内放一个圆柱孔介质板放在中间上下各留空气层。材料设置介质折射率3.48空气折射率1。边界条件侧向x和y方向Floquet周期性条件。上下方向PML厚度设为0.5a~1a。网格空气层和PML用扫掠网格介质板内部用自由四面体网格。PML网格至少要有3层避免吸收不干净。研究特征频率所需特征值数8~12参数化扫描波矢路径。三维能带的计算量比二维大得多我在自己的台式机上跑一条完整路径50个波矢点、12个特征值大概需要2到4小时。如果时间紧张可以只扫高对称路径的一半或者先用正则网格粗网格扫一遍再细化。3.3 模式辨认哪一条带才是BIC能带算出来之后最关键的问题就是哪一条带对应你要找的BIC判断逻辑优先用“远场对称性”BIC模式不向外辐射所以远场强度为零。但在能带图中更快的判断方法是看Q值——在多个波矢点的特征频率结果中Q值出现极端峰值超过10^5甚至10^6的带就是BIC或准BIC所在。另一个判断方式是观察模式电场分布。BIC模式往往具有特定的空间对称性例如在孔内或介质板内电场呈现偶极或四极分布而且这种分布与所有外部平面波的对称性都不匹配。如果某个波矢点模式的电场分布明显“局域”在晶胞内部而PML区域几乎没有场强那大概率就是BIC。4. Q因子计算从复特征频率到收敛性问题4.1 Q因子的提取公式与操作细节COMSOL特征频率研究直接输出的是复数特征频率一般形式为f_complex f_real j*f_imag。Q因子的定义是Q f_real / (2*|f_imag|)其中f_real是实部代表谐振频率f_imag是虚部代表损耗。注意COMSOL里复数时间约定为e^(jωt)时虚部为负值表示衰减所以取绝对值有些版本中虚部是正值同样是衰减关键是看符号约定的正负。在实际操作中我通常直接在结果里创建表达式实部real(freq)虚部imag(freq)Qreal(freq)/(-2*imag(freq))然后建立全局计算把每个波矢点对应的Q值提取出来。如果扫描的是波矢路径就可以画出Q(k)曲线。4.2 网格和PML对Q值的影响BIC模式Q值“算不高”是新手最头疼的问题。物理上BIC没有辐射Q应该趋近无穷但数值上永远是一个有限值比如10^5或10^6。这很正常因为数值计算本身有离散误差。关键是要会区分这个Q值是“真是的模式”还是“数值误差的限制”。我实测过同一结构网格从常规加密到细化两级BIC模式的Q值从2×10^3涨到5×10^5再加密才慢慢收敛到10^6。也就是说Q值对网格极其敏感。如果你算出的Q只有几百不要怀疑物理模型先加密网格。PML也会干扰Q值。PML太薄或者单元层数太少会产生非物理的反射导致虚部偏大、Q值偏低。建议PML厚度至少0.5a层数至少4层而且PML中网格要和各向同性不要拉伸太夸张。最让人迷惑的问题是如果BIC模式在Γ点Q值反而不收敛怎么加密都算不到很高。这可能是因为BIC在Γ点的对称性包含一个从谐振器垂直发射的通道实际上这个通道恰好被相位抵消了数值上很难精确抵消。这种情况下可以把计算移到BIC附近的动量点用准BIC的Q值变化趋势外推到Γ点。5. 远场偏振计算近场到远场还有斯托克斯参数5.1 COMSOL远场外推的两种做法远场偏振计算本质上是想知道某个模式向外辐射时在远场球面上的电场方向怎么分布。BIC由于不辐射远场强度为零偏振分布中会出现奇点。这也是BIC拓扑性质的体现。COMSOL里有两种实现方式第一种是频域方法在特征频率附近用频域激励然后在结果中插入“外部场计算”或“近远场变换”算子把近场数据外推到远场。这种方式适合计算有限结构的远场方向图。第二种是特征频率结果后处理直接在特征频率解的电场数据上做外推。对于周期结构更合理的方式是在一个晶胞上做Floquet模式的远场计算但COMSOL的标准近远场变换对周期结构支持有限需要手动构建Fourier展开计算每个衍射级次的振幅和相位。我实际用的方案是把特征频率解导出在MATLAB里用动量空间Fourier展开来计算远场偏振。COMSOL里导出场分量Ex、Ey、Ez在晶胞上表面的分布然后做二维Fourier变换。衍射级次的位置由波矢和晶格倒格矢决定。每个级次的远场电场就是Fourier分量的矢量偏振就从这个矢量的实部和虚部计算。5.2 远场偏振图和BIC的拓扑特征远场偏振计算最关键的结果是画出偏振分布图通常用斯托克斯参数S1、S2、S3来表示S0 |E_far_x|^2 |E_far_y|^2 S1 |E_far_x|^2 - |E_far_y|^2 S2 2Re(E_far_xconj(E_far_y)) S3 2Im(E_far_xconj(E_far_y))其中S1和S2决定线偏振方向S3决定圆偏振成分。在动量空间kx, ky平面里BIC所在的点会出现偏振奇点即远场强度为零、偏振定义不明确的点围绕这个奇点远场偏振方向会形成一个涡旋。这个涡旋的拓扑荷可以直接从偏振方向绕奇点转一圈后旋转了多少角度来判断。如果你把远场偏振画成彩色箭头图会看的很清楚BIC点周围箭头方向从0到π再到2π旋转一圈形成一个明显的dipole或quadrupole偏振图案。对于平带合并BIC这种偏振图案往往会在合并点出现两个或多个奇点的合并拓扑荷相加这也是近年来文献里经常讨论的物理现象。在COMSOL里画这种图有点麻烦因为它原本不直接输出偏振箭头。我是这样处理的导出目标面上的一系列离散点的远场电场分量然后自己写脚本处理。对于只想快速验证的结果可以在结果中创建二维截线提取远场E_x、E_y再计算偏振角用颜色图表示。更精细的做法是输出到外部工具再画矢量图。6. 实操中踩过的坑和排查思路6.1 模式追踪失败能带“跳来跳去”这是最普遍的问题。特征频率求解器一次算多个特征值但解的排序和模式阶次不会自动对应能带的连续性。两条带交叉时COMSOL给出的8个特征频率顺序可能交错导致你画的能带图“交叉跳带”。解决办法有两个增加波矢扫描的密度尤其是交叉点附近。波矢点越密相邻点之间的模式越容易对应上。手动在某个波矢点查看电场分布确定哪一条带是你关注的然后在参数化扫描时按频率区间筛选结果。我一般直接在结果里按“最近的频率差”过滤只保留连续变化的那些点。6.2 Q值虚高直觉上就不对如果你算出的非BIC模式Q值也超过10^7那八成是PML没吸收干净或者PML和空气层之间阻抗不匹配。试着把PML厚度加大一倍或者检查空气层中是否有网格过疏的区域。有时候PML的各向异性参数方向设置错误也会导致完全没有吸收效果。另一个原因是材料损耗设置没有清零。COMSOL默认材料可能是带损耗的导致Q值偏低但如果你把材料虚部设成0那么非辐射模式的Q值会趋于无穷掩盖真实的辐射损耗。6.3 二维和三维能带对不上有人算完二维能带再算三维能带发现前几条带的频率差了很多于是怀疑模型错了。其实二维能带对应的是无限厚结构三维能带对应的是有限厚板两者本来就不可能完全一致。二维能带的价值在于快速验证周期性和对称性不用强行对频率。核对方式应该是在Γ点三维平板能带中频率最低的几个模式其面内场分布应该和二维能带中对应模式相似频率数值可能有偏差但模式对称性不会变。6.4 远场偏振结果有数值噪声远场偏振计算对网格质量极其敏感。如果网格不对称即使结构是对称的偏振涡旋也会变形甚至消失。建议在BIC所在波矢点重新做一次对称加密网格尽量保持网格在晶胞内的对称性。另外Fourier变换时窗函数的选择也会影响远场的清晰度如果出现明显条纹伪影可以尝试扩大小k范围或者对近场场做平窗处理。我个人在实际操作中的体会是这一整套计算最耗时间的不是某个点算不出来而是判断每个结果到底是不是真实的物理。BIC的特征是“看得到的模式突然在某个波矢点消失”——这其实是它不辐射的标志。复现文献时建议先挑一个已知的BIC点比如文章给出Q因子极大值对应的那个k点单独算细网格验证确认自己的流程没问题再去扫全域能带。这样做能省去大量的排错时间。如果你后续想继续扩展可以在这里加一个参数扫描把孔半径或板厚当变量看BIC怎么演化成准BICQ值如何下降。COMSOL的参数化扫描完全可以接上这份流程只是计算量会成倍增长建议先用二维结构扫参数趋势选好候选点再做三维精细验证。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价