☰
COMSOL太赫兹超表面BIC与能带折叠仿真实战指南
2026/10/9 18:28:46 网站建设 项目流程

做太赫兹超表面这行两年多,我最大的体会是:很多方向是文章看得懂、数据凑得齐,但一进 COMSOL 就卡壳。BIC 和能带折叠这两个概念凑到一起尤其典型——理论课上说得头头是道,真要在仿真软件里把束缚态、高 Q 峰、能带扫描一条龙跑出来,能顺利走通的人不多。这篇就把我实际做“COMSOL 太赫兹超表面 BIC 与能带折叠”这套仿真的完整思路和踩坑记录摊开讲,包含几何怎么建、边界怎么设、能带折叠怎么扫、Q 值怎么算,以及那些文档里查不到的敏感点。适合正在做太赫兹无源器件、传感器、滤波器或者刚接触 BIC 方向的研究生和工程师参考。

1. 先把概念吃透:BIC 和能带折叠到底在干嘛

1.1 BIC 为什么在超表面领域这么火

连续域束缚态(Bound State in the Continuum)说直白一点,就是一种虽然没有被势阱物理困住、却被对称性或干涉效应“锁”在结构内部的特异模式。它仍然满足波动方程,频率落在连续辐射谱里,但因为不对称性或相位关系,它和外部行波完全解耦,辐射损耗为零,理论上 Q 因子可以做到无穷大。

实际在这个方向上做超表面,目的就是利用这种零辐射特性来构造高 Q 共振。可是真正的 BIC 因为不向外辐射,外部平面波是激励不起来的,那就没什么应用价值了。所以大家用的都是 quasi-BIC,也就是通过破坏结构的某个对称性,把 BIC 变成一个虽然能辐射、但辐射损耗很小的高 Q 模式。这样一来,既能被自由空间的光激发,又保留了很高品质因数。在太赫兹波段,这类共振通常表现为透射谱或反射谱上一个很窄的峰,对周围介质环境极其敏感,折射率变化一点点,共振频率就偏移明显,做传感就靠这个。

1 THz 附近对应波长 300 μm,超表面单元周期通常在几十到一百多微米,属于典型的亚波长结构。在这个尺度下,金属微结构损耗、衬底吸收、几何加工误差都会压制 Q 值,所以“仿真里能算到几千,实验里只能测到几百”是常态。BIC 方向的研究意义就在于它的 Q 上限比普通等离激元共振高很多,即使被实际损耗压下来,也比纯金属结构的共振窄一个数量级以上。

1.2 能带折叠是怎么和 BIC 扯上关系的

能带折叠这个概念来自固体物理里的周期结构能带理论。当一个结构的单元胞变大(比如从单胞扩成二倍周期超胞),第一布里渊区就会缩小一半,原本在第二布里渊区的能带会被“折叠”回第一布里渊区来。在超表面里,周期结构支撑的是一组布洛赫模式,它们的色散关系由结构周期和几何参数决定。有些模式的对称性与入射平面波匹配不上,整条能带都在辐射连续谱之外,或者即使在谱内也无法被外部波激励,就是暗模式。

BIC 经常出现在能带图上“碰巧”被折叠到某条辐射能带附近的点。最典型的场景是:在布里渊区中心 Γ 点,某个模式对称性受保护,辐射通道被禁止,Q 发散;但把单元胞放大、改变周期调制,能带折叠后这个模式在光锥内的色散位置改变,泄漏部分显现,形成准 BIC。换句话说,能带折叠是解释和设计“哪个模式、在什么 k 点、以什么方式变成高 Q 共振”的工具。

做仿真时如果不把能带折叠这个机制搞清楚,很容易犯一个错:改了几何参数,Q 峰确实出来了,但说不清它到底来自哪个模式的哪条能带,审稿人一问就露馅。所以我的建议是,仿真的第一步不是拉模型跑频域,而是先算能带,识别 BIC 所在模式,再去频域里验证它的激发特性。

1.3 这次仿真项目的目标拆解

我把这次的目标拆成四个层面:

  • 建立周期性超表面单元胞模型,在 COMSOL 中得到 BIC 模式并确认其场分布特征;
  • 扫描 k 空间,画出目标模式的能带图,识别其折叠行为;
  • 引入对称性破缺,获得可被平面波激发的准 BIC,计算透射谱和 Q 值;
  • 整理出一套通用的建模流程,让你换几何、换材料后也能快速跑通。

这四个目标全部在 COMSOL 里实现,不涉及实验,但仿真参数我会按真实太赫兹实验常用的材料来选,这样后面有人要加工样品,也能直接对照着改。

2. 工具选型:为什么是 COMSOL 而不是其他平台

2.1 COMSOL 做这类电磁计算的独到之处

太赫兹超表面仿真主流的工具无非是 CST、HFSS、FDTD Solutions、COMSOL 这几家。我个人的体感是:如果你要处理的是“几何非常规整、模式物理图像清楚、需要和多种物理场耦合”的问题,COMSOL 的灵活性最强。特别是 BIC 能带计算这件事,COMSOL 的特征频率求解器配合参数扫描可以很自然地扫出能带图,不需要像时域有限差分法那样拼分辨率堆算力。

COMSOL 的另一个杀手锏是物理场接口完全透明。你可以在电磁波频域接口之外,叠加固体力学、传热或者偏微分方程自定义项。太赫兹超表面做到后期,很多人要加石墨烯电调、VO₂ 相变、液晶调谐,这些材料参数在 COMSOL 里通过变量和材料定义就能写进同一个模型,换几何后重新剖网格也方便。这一点 CST 和 HFSS 虽然也能做,但熟悉的程度和执行效率差不少。

如果你手头的项目会上到 COMSOL 6.x 版本,6.3、6.4 在网格剖分和求解器稳定性上改善很明显。特别是对高纵横比结构(超表面里经常有“几十纳米厚的金属层 + 几百微米厚的衬底”这种比例),老版本很容易出现网格数量爆炸,6.4 的扫掠网格和自适应网格控制在处理这类结构时省心很多。我这次用的就是 6.4 里的电磁波频域接口,整体没有遇到很离谱的收敛问题。

2.2 物理场接口与求解器选择的逻辑

太赫兹超表面模型通常选电磁波,频域(Electromagnetic Waves, Frequency Domain)接口,简称 ewfd。这个接口可以用于求特征频率,也可以用于频域扫描。它的核心是对电场矢量亥姆霍兹方程进行有限元离散。在太赫兹频段,绝大多数超表面结构的特征尺寸远小于波长,再考虑到金属层中趋肤深度仍在微米以下,控制好网格尺寸后,有限元精度是足够的。

求解特征频率时,COMSOL 会把它变成广义特征值问题,你需要指定搜索区域和特征值数量。扫能带的时候,则是在参数扫描中改变布洛赫波矢,对每个 k 点重新求解特征值。这个操作听起来直接,实际容易踩坑,因为模式会随着 k 变化发生频率交叉、简并、甚至模式漏算。后面我会专门说怎么处理模式追踪。

2.3 材料库怎么搭出太赫兹场景

太赫兹超表面在仿真里最常用的材料组合是:衬底用高阻硅(HR-Si),结构层用金属或介质柱。高阻硅在太赫兹波段的介电常数约 11.7 上下,损耗极小;介质柱常用同种硅材料的刻蚀结构,也可以换成陶瓷或者聚合物。金属一般选金,电导率按 4.5×10⁷ S/m 量级,厚度几百纳米,在太赫兹频段已经算良导体了。

还有一种做法是全介质超表面,结构层用硅柱或硅方块,衬底与结构同材料,损耗靠模式散射而不是金属吸收。做 BIC 的全介质方案比金属方案更常见,因为金属吸收会显著压低 Q 值,而 BIC 的卖点就是高 Q。我在这次模型里用高阻硅衬底 + 硅介质柱,这样仿真得到的 Q 主要取决于辐射损耗而不被材料吸收拖后腿,物理图像更清晰。

3. COMSOL 实操:从零搭出太赫兹 BIC 超表面模型

3.1 全局参数和几何建模

打开 COMSOL,第一步建议把所有关键参数写进“全局参数”,不要直接画在几何里。这样后期想扫周期、扫柱高、扫占空比,直接在参数表里改,不需要动几何树。我这里给出一个可复用的参数表:

参数名表达式含义
p120 um单元胞周期
h_d80 um介质柱高度
w_d36 um介质柱边长(方形柱)
t_s500 um衬底厚度
n_si3.42高阻硅折射率
eps_inf1背景介电常数(空气)
f01 THz目标谐振频率
kx0布洛赫波矢 x 分量
ky0布洛赫波矢 y 分量

几何建模这一步的逻辑是:一个单元胞,底部是硅衬底长方体,顶部中心放一个硅方柱。周期性不是靠画一整排阵列,而是靠后面加周期边界条件实现的。如果你要做能带折叠研究,早期可以先把“单胞”跑通,再考虑建成“二倍超胞”。注意超胞的周期是 2p × p,几何里要放两个柱体,通常一个改动某个几何尺寸(比如其中一个柱子边长不同),就能实现人为调制和模式折叠。

衬底厚度在仿真中其实很敏感。严格来说,真实衬底是半无限厚的,但 COMSOL 模型不可能建无限厚。常见做法是衬底底部加一段完美匹配层(PML),厚度至少两三倍于太赫兹波长,或者干脆把衬底厚度设成几百微米,底部再配散射边界条件。我实践下来,PML 虽然严谨,但会显著增加网格量和求解时间;如果你只关心位于衬底上方的超表面模式,把衬底厚度设到 300 μm 以上并用散射边界条件,结果和 PML 相差很小。

3.2 边界条件与端口设置

这是整套仿真最容易出错的地方。一个单元胞模型,五个面要设周期性。COMSOL 里通常用周期边界条件(Periodic Condition),并把周期性类型设置成 Floquet 周期。Floquet 周期需要指定布洛赫矢量 k,也就是上面表格里的 kx 和 ky。在特征频率研究中,这个 k 是给定的参数;在频域研究中,它代表平面波入射的横向波矢分量。

使用 Floquet 周期边界时,两个对应边界上的场必须满足相位差 exp(i·k·a),其中 a 是周期矢量。这个相位差记得不要写错符号,正负号错了会直接导致算出来的模式完全不对。我习惯先把 kx = ky = 0(即 Γ 点)跑一遍,验证模型能出结果,再开始扫描。

至于端口设置,做频域透射谱时常用端口边界条件。端口 1 设在空气层上方,端口 2 设在衬底底部(或者设在衬底底部散射边界之外),选择“电磁波,频域”接口中的周期性端口,可以正确区分入射和反射模式。这里特别提示:如果模型里同时用了 Floquet 周期和端口,请确保端口模式展开时也考虑周期相位,否则端口激励可能和你算的能带模式形态不匹配。

3.3 特征频率求解:怎么把模式可信地算出来

打开“研究”,添加特征频率研究。在“特征频率”设置里,把所需最小特征数和最大特征数都填大一些,比如 6 到 20。很多新手只填一个 1,然后去搜某个猜测频率,结果模式漏了不少。对于周期性结构,一个频段内往往同时存在多个光学模式和衬底模式,你想要的 BIC 模式可能并不在最低频那几条里。

设置搜索区域时,我会把频率范围设宽一点,比如 0.1 THz 到 5 THz,这样把低频衬底模式和高频衍射模式都包含进来。求解器会返回所有落在范围内的特征值,然后你再根据电场分布和对称性逐一筛选。

特征频率的实部给出模式的振动频率,虚部对应辐射和吸收损耗。Q 值的直接公式是:Q = Re(f) / (2·abs(Im(f)))。这个公式在 COMSOL 后处理里可以直接用表达式算。不过需要注意的是,特征频率虚部里同时包含辐射损耗和材料损耗,如果想让虚部纯粹对应辐射损耗,就要先把材料损耗设置成 0 跑一遍,再恢复材料损耗对比一次,才能知道两者对 Q 的影响权重。

特征频率计算中网格尺寸非常关键。建议最小网格尺寸控制在亚波长特征尺寸的 1/10 左右,介质柱内部的网格要能分辨场分布。对 BIC 模式而言,拖尾场可能集中在结构内部和衬底浅表层,所以介质柱区域和衬底上表面要用边界层网格加密。我实测,同一个模型,网格从粗切到细,Q 值可能差一个数量级,原因就是粗网格把模式场分布“磨平”了,泄漏算得太多。

3.4 从特征频率到频域透射谱

特征频率确认模式之后,要验证这个模式能否被外部平面波激发、以及共振在透射谱里长什么样子,就要切到频域研究。保持几何和物理场不变,添加一个频域研究,激励用端口 1 的平面波,频率扫描范围设置在共振频率附近的窄带区间。比如你算出的特征频率在 1.05 THz,那就从 1.00 到 1.10 THz,步长设成 0.0002 THz。步长太粗会包不住超窄的谐振峰,太细会让求解时间陡增,这个度要自己根据 Q 值毛估一下。

频域扫描时,我一般同时监视三个量:端口 1 的反射系数 S11、端口 2 的透射系数 S21、以及单元胞内最大电场强度。准 BIC 模式共振时,最大电场强度会急剧飙升,透射谱出现一个 Fano 线形或洛伦兹线形的谷/峰。通过这个多量监视,你可以判断这个共振是“真的模式”还是“端口摆放造成的数值伪影”。如果电场上不去,多半是模式没被激励起来。

频域里提取 Q 值常用 3 dB 带宽法:先找到透射谱峰值频率 f0,再找峰值一半功率处对应的两个频率,Δf = f_upper - f_lower,Q = f0 / Δf。这个方法简单可靠,但要求扫描步长足够细。也可以用群延迟法等,我在实际操作中对比过,只要谱线够平滑,3 dB 法和特征频率法得到的结果一致性很好,误差基本在 5% 以内。

4. 能带折叠的实现:扫描 k 空间才是重头戏

4.1 布洛赫波矢的扫描路径设置

能带图需要在一系列 k 点求特征频率。最常用的路径是:从 Γ 点(0,0)到 X 点(π/p, 0)再到 M 点(π/p, π/p)再回到 Γ 点,但 BIC 研究里通常先只扫 Γ-X,因为太赫兹正入射平面波对应 k = 0,准 BIC 往往就在 Γ 点或靠近 Γ 点被激发。

COMSOL 里做这个用参数化扫描扫描 kx。在全球化参数里把 kx 设为变量,研究节点里选择参数化扫描,扫描范围可以设成 0 到 π/p,步长就按能带图的平滑程度来取,一般 kx 取 20 到 50 个点就够了。每一 k 点都重复求解特征频率,得到一个巨大的结果集。这一步的时间代价主要取决于单点求解时间乘以扫描点数,建议先在粗网格上跑通整条能带,再对关键区域细化。

这里有个细节:Floquet 周期中的布洛赫向量方向和 k 扫描方向要对应。如果你在 X 方向(即 x 方向)扫描,那布洛赫矢量就在 x 分量变化,周期边界条件中选择的“周期”也必须是 x 方向的周期对。我见过很多初学者把 k 扫描方向设错,最后能带图看着乱七八糟,频率不连续,一查发现是 kx 和周期边界里的方向对不上。

4.2 模式追踪:最繁琐但没有捷径的一步

COMSOL 的特征频率求解器没有自动模式追踪功能。扫完参数化扫描后,你会得到每一 k 点的一组特征频率,但这些模式之间的对应关系不会自动给你理顺。最烦人的是,当两条能带交叉或靠近时,特征频率会发生“模式交换”,光看数据表根本判断不了谁是谁。

我的处理流程是:先在后处理里画出每个 k 点的电场分布,找到目标模式在 Γ 点的分布形态标记下来,再逐步跟着 k 增大观察它怎么演变。这个过程很枯燥,但对 BIC 研究必不可少。为了提高效率,我会把每个特征频率点导出成文本后,用 MATLAB 小脚本对频率排序、按场分布对称性分类。这也正是 COMSOL 与 MATLAB 联合仿真的价值所在——用LiveLink for MATLAB,可以直接在脚本里循环修改 k 值,调用服务器求解,再自动提取特征频率。省掉的不是求解时间,而是你手动整理数据的时间。

现在这个时代,用 Python 控制 COMSOL 也完全可行,通过 COMSOL 的 Java API 或者 LiveLink for Python,可以搭建一个自动化能带扫描管线。我的建议是:第一次跑通项目不用急着自动化,先手动理解模式;一旦确认流程无误,马上脚本化,因为后续参数扫描(扫柱宽、扫周期、扫不对称程度)才是真正出论文数据的地方。

4.3 怎么判断加强度是怎么折叠的

拿到能带图之后,判断某个模式是不是 BIC,我习惯看三处:

  • 在 Γ 点(k = 0)附近,目标模式的频率是否和其他辐射模式频率接近但没有交叉;
  • 目标模式的 Q 值是否在某个 k 点急剧增大,大到数值发散;
  • 电场分布是否表现出与入射波对称性不匹配的特征,比如在 Γ 点呈偶极暗模式(中心对称)而不是辐射亮模式。

能带折叠的经典标志是:超胞模型里能带条数比单胞翻倍,原本在第二布里渊区没有出现的模式,在缩小后的第一布里渊区里出现。做成 2×1 超胞并扫描 kx 时,你会看到在同一个频率区间内比单胞多一倍的能带支数。这时候对照单胞结果找“折叠模式”,看它的频带是否落在光锥内。光锥条件很简单:真空中频率 f 和波矢 k 满足 f > c·k/(2π)。在光锥内的模式才能被外部平面波远场激发,在光锥外的模式即使有辐射通道也耦合不出去。

准 BIC 的设计就落在“把某个对称性参数从 0 拉到非零”,让对称性保护的 BIC 离开严格 BIC 点,把模式部分推入光锥和辐射连续谱里,从而形成可激发的窄共振。这个对称性参数在仿真里可以是两个柱子的宽度差,也可以是单一柱体在 x/y 方向的不对称比例。我会从 0 开始,逐步加到 5%、10%、15%,观察透射峰宽度和 Q 值变化。通常 Q 的变化规律接近反比于不对称参数的平方,也就是 dQ/Q ~ 1/δ²,你可以拿这个规律校验自己数据是否产生于准 BIC 机制。

5. 那些年踩过的坑:排查实录

5.1 特征频率不收敛或算出一堆伪模式

特征频率求解最常见的挫折是:算了 10 个特征值,其中有 6 个都集中在同一个频率附近,而且场分布乱得像噪声。这种情况几乎都是网格不均匀导致的。衬底太厚、空气层太高、金属层纵横比太大,三个因素一起把网格质量压低,伪模式就出现了。

我的解决套路:先用比较小的空气层高度,比如结构顶部就留 100 μm 空气,衬底厚度降到 300 μm,把模型尺寸“勒”到最小,确认能出干净的能带之后再把尺寸放开。COMSOL 里还有特征频率求解器内的“搜索方法”设置,可以选区域,并给出一个合理频率区间,避免求解器漫无目的地去抓高次衬底模式。

5.2 模式追踪时目标模式跳变

这是能带扫描里的大坑。某个 k 点你跟踪的模式电场分布还是一个对称的偶极暗模式,到了下一个 k 点,数据排序里它变成了亮模式或衬底模式。根本原因是特征值排序按频率大小,而频率交叉会让模式身份在列表中互换。

排查方法是:不只看特征频率,同时记录每个模式在结构内部的一个“探针点”电场强度或者模式对称性指标。用 MATLAB/Python 脚本批量计算探针场强,匹配前后两个 k 点的模式,就能把交叉处的模式继承关系理清。我在实际项目里写了一个简单的对称性指标:对电场分量 Ex 在结构区域内做面积分,再除以总电场面积分,数值在 0 附近就是暗模式,明显不为 0 就是亮模式,按这个指标追踪,基本不会丢模式。

5.3 网格只要一加密,Q 值就飘

Q 值对网格极其敏感。有人会觉得网格越细越准,但在太赫兹超表面里,某些场增强区域(比如结构尖角、介质柱边缘)网格密度微小的变化,会对虚部产生很大影响。我建议做一次网格收敛性验证:设置三档不同网格密度,分别计算特征频率和 Q,如果 Q 没稳定,说明网格还不够好。如果稳定了,就用最大能承受的一档。

另外,广角衍射模式和高阶 Floquet 模式会在地图里引入额外的网格需求。避免的方法是频域扫描只在单模端口下进行,不要同一时间激励多个端口模式,不然网格需求会成倍增长。

5.4 端口反射太高,透射谱看不出峰

这种情况通常是端口边界没有正确吸收高阶衍射模式。在太赫兹频段,如果单元胞周期比较大(比如 200 μm),1 THz 附近会发生高阶衍射,只设一个主端口模式会把能量错误地反射回模型里。解决方案是端口设置中把端口模式数设为大于 1,让 COMSOL 自动展开多个 Floquet 模式,或者改用周期端口配合 PML 吸收所有衍射通道。做 BIC 时高 Q 峰的背景谱会异常平坦,如果背景上出现了额外的“台阶”,基本就是高阶衍射通道没处理好。

6. 这套仿真方法能辐射到哪些真实场景

6.1 太赫兹高灵敏传感

太赫兹 BIC 超表面做传感的应用逻辑是:准 BIC 的窄共振峰对覆盖在表面的介质折射率变化极其敏感。假设共振频率 1 THz,Q 值 1000,那么 3 dB 带宽只有 1 GHz,在这个带宽里检测频率偏移远比在一个宽峰里检测要灵敏得多。仿真阶段就可以做这样的参数化扫描:把上层空气区域折射率从 1.0 扫到 1.1,记录共振峰移动量,换算灵敏度。这个结果直接可以作为实验设计的依据。

6.2 太赫兹波段的滤波与通信器件

6G 通信里的太赫兹频段现在被反复提及,超表面滤波是这个方向的实用化入口。BIC 和能带折叠提供了“高 Q + 可调角度响应”的双重优势。仿真里通过扫描 k 点可以设计出只在某个入射角度下开启的滤波通道,这对空间滤波和波束控制很有价值。COMSOL 模型稍加改动,接一个固体力学接口来描述 MEMS 可动结构,就在超表面上叠加了一个调谐维度。

6.3 非线性增强与可调谐集成

高 Q 共振的另一个后果是局域场增强,场增强倍数接近 Q 值。太赫兹波段材料非线性较弱,但借助准 BIC 的超强局域场,非线性和频与差频效应能被放大多个数量级。仿真阶段你需要跑多频率分析,把太赫兹基频的场分布结果作为二次谐波源的输入,这在 COMSOL 里可以通过变量耦合实现。这类模型建议从单一 BIC 单元胞开始验证非线性转换效率,再逐步拼阵列。

6.4 从单点研究走向参数化设计的工程闭环

到这一步,COMSOL 里建立的不只是一个算例,而是一条可复用的仿真流水线:几何参数变化 → 特征频率扫描 → 能带识别 → 频域响应验证 → Q 提取。你在论文里要做“结构参数对 Q 值影响的系统分析”,无非是把上面的流程包到一个参数扫描里,记录全部结果,出一堆图表。这个闭环一旦跑通,后续换材料、换衬底厚度、换结构类型,都是在改参数表,而不是重新建模。

因为要扫的结构参数往往很多,我强烈建议把参数化扫描的节点组织好,结果用二维绘图组的“全局”绘图展示。比如把柱宽 w 作为一个水平轴,特征频率作为垂直轴,模式颜色对应不同 Q 值,一张图就能看完整参数空间里的模式演化与 Q 值分布。这类图也是论文里相当能打的“设计相图”。

7. 最后聊几句实在话

我自己做了这套仿真后才理解,COMSOL 里跑 BIC 和能带折叠,本质上就三件事:特征频率求解要设对、k 空间扫描要跑全、模式身份要盯紧。第一件事靠网格和边界,第二件事靠参数扫描,第三件事靠后处理脚本。三件事拆开看都不难,难的是把它们串成一条流程时,你必须有足够的耐心去手动验证每一步的结果。现在留给我的一个重要习惯是:每做一组参数修改,先回到 Γ 点的特征频率,检查模式形态有没有突变,再继续往下跑。

最后分享一个小经验:新建模型的时候,别一上来就用 2×1 超胞。先用最简单的单胞周期结构,把 Γ 点的暗模式找出来,确认 Q 值发散趋势,再切到超胞做能带折叠。这样就算后面什么地方出错,你也能快速定位是几何问题还是边界问题。做太赫兹超表面这个方向,慢就是快,把你的仿真流程打磨到每一步都心里有数,后面再多的参数变化都不会乱。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询