算完能带图一看——密密麻麻几十条,色散关系乱成一团,根本找不到带隙。大多数人第一反应是”算错了”,其实算的是对的。问题是出在建模阶段:用超胞算能带,布里渊区折叠效应必然发生。
超胞为什么会导致能带折叠
这个现象的根源在倒空间。原胞的倒格矢决定布里渊区大小,超胞是原胞的N倍放大,它的倒格矢缩小为原来的1/N,布里渊区也随之缩小。原胞布里渊区中不同位置的能带被”折叠”进了超胞缩小的布里渊区里——原本是一条色散曲线,现在变成N条交错的线段。

以1×1×2超胞为例:面外方向晶格常数翻倍,倒格矢减半,布里渊区在kz方向压缩为原来的1/2.原胞中在kz=0.25处的一个带边态,折叠后会出现在超胞布里渊区的kz=0.25位置——它和原胞中kz=0.75的能带合并在同一个K点坐标,原因是0.75在超胞倒格矢下等价于-0.25.即0.25.
这种折叠看起来像”能带变多了”,实际上是相同的能带色散被重新包装在不同K点上展示出来。
什么时候折叠无害
不是所有折叠都需要”展开”——很多时候,折叠后的能带已经包含了你需要的信息。
缺陷计算。 在超胞中放一个空位或者杂质原子,目的是看缺陷态在带隙中的位置。这种情况下,能带折叠不影响缺陷态的定性分析——缺陷态通常以平带形式出现在带隙中,和平坦的色散(无论是否折叠)有本质区别。事实上,几乎所有缺陷计算的能带图都以折叠形式发表。
合金/无序体系。 特殊准随机结构(SQS)的能带必然包含折叠,这也是预期之内的。合金的能带”模糊化”本身就是无序效应的体现——不同局域环境的散射导致能带展宽,折叠加剧了这种模糊,但这正是合金电子结构的特征之一,不是需要修正的计算假象。
只需要带隙大小的场景。 如果你只关心带隙值而非色散形状,折叠前后的带隙保持不变。只要找对占据态和空态之间的能量差,折叠不会改变这个差值。不过要注意,超胞中的多个子带可能会让价带顶和导带底的识别变得困难——建议结合态密度(DOS)判断带边位置。
什么时候需要展开
需要对比原胞能带与文献结果。 审稿人如果拿你超胞的折叠能带和文献中原胞能带对比,二者在视觉上完全不同,即使物理本质一致。这种情况需要用能带展开工具”展开”回原胞倒空间。
需要分析特定K点附近的色散关系。 比如研究有效质量——超胞折叠后价带顶附近多条能带交叉,无法判断哪条是轻空穴带、哪条是重空穴带,有效质量拟合无从下手。
异质结/超晶格的超胞计算。 比如MoS₂/WS₂异质结用了4×4面内超胞来匹配晶格失配——4倍超胞的布里渊区是原胞的1/16.折叠后的能带图几乎不可读。
能带展开(Band Unfolding)方法
目前最常用的能带展开工具是BandUP(https://github.com/band-unfolding/BandUP)和VASPKIT中的711功能。它们的核心原理是:计算超胞能带中每个态在原胞倒空间中不同K点的投影权重,把”哪条超胞能带对应原胞倒空间的哪个位置”还原出来。
BandUP的输入是超胞VASP计算的WAVECAR,输出是在原胞倒空间展开后的有效能带结构(Effective Band Structure,EBS)。在EBS图中,每个原胞K点对应多个超胞能带的投影,用颜色的深浅表示谱权重——亮色代表该态在超胞中有较强的投影,暗色代表权重低(对应折叠引入的伪态)。
使用BandUP的典型流程:
超胞VASP计算(需要保留WAVECAR,即LWAVE=.TRUE.)
准备原胞的POSCAR(告诉BandUP”折叠之前的倒空间长什么样”)
运行BandUP生成展开能带数据
用脚本画图,颜色映射谱权重
VASPKIT的711功能简化了这个流程,输入超胞计算结果和原胞POSCAR,自动输出展开能带数据。
BandUP对计算资源要求不高——它只是对WAVECAR做一次后处理,不涉及新的自洽迭代。几百个原子的超胞,后处理时间通常是几分钟的量级。
其他替代策略
如果能带展开工具不适合你的工作流,还有两种替代思路:
用原胞做能带计算,超胞只做结构优化。 这是最干净的方案。缺陷体系有点麻烦——原胞里放不下缺陷。解决方案是:在超胞中弛豫得到缺陷结构,提取局域原子坐标填入原胞规模的簇模型,在簇模型上做能带分析。缺点是簇模型引入了表面态,需要谨慎判断哪些能级属于缺陷态而非表面态。
用态密度(DOS)替代能带图。 对折叠不敏感的体系,用DOS代替能带图完全可以。审稿人更关心的是带隙和态密度特征(比如d带中心位置),而这些信息DOS已经提供了——只是缺少色散信息。如果论文中已经有能带图被折叠问题困扰,至少用DOS确认关键结论不受影响。
超胞中的能带折叠是计算工具在倒空间精度和实空间灵活性之间的天然产物。科研学术网(https://www.keyanxueshu.com)整理了从建模到后处理的完整案例库,覆盖缺陷计算、异质结和合金体系的能带分析策略。