WannierTools有限薄膜能带
由体相HR截取有限层薄膜,比较厚度与上下边界权重。
阅读本篇目录
unzip wanniertools-practical-wave258-*.zip
cd wanniertools-wave258
bash run.sh
先整理已完成的真实数值,生成 analysis/ 四张CSV和 figures/ 五张PNG,不启动DFT或 wt.x。后面的 calculate.sh 才进行新的实际WannierTools计算,每次建立独立工作目录并拒绝覆盖已有目录。
本套使用WannierTools 2.7.0,oneAPI 2023.2 ifort 2021.10、Intel MPI 2021.10、MKL LP64顺序库和ARPACK-NG 3.9.1,CPU AVX512构建。模块为 wanniertools/2.7.0-8173m,适用于兼容的CPU环境,软件本身不申请GPU。每MPI进程保持一线程。
1 有限薄膜和半无限表面有什么区别#
有限薄膜包含上下两个边界,逐层组装哈密顿量再对角化,可能出现厚度引起的表面耦合。半无限表面通过Green函数处理无限深度,见下一篇。两种方法不应只看图形相似就认为已经等价。
本例使用官方Bi₂Se₃体相HR,沿原胞第三方向截断,面内沿第一、第二原胞向量。没有重新优化表面结构,也没有自动包含吸附、重构或额外表面势。
2 设置截面和厚度#
&CONTROL
SlabBand_calc=T
/
&SYSTEM
NSLAB=6
NumOccupied=18
SOC=1
E_FERMI=4.4195
/
&PARAMETERS
Nk1=31
NP=3
/
SURFACE
1 0 0
0 1 0
KPATH_SLAB
2
K 0.33 0.67 G 0.0 0.0
G 0.0 0.0 M 0.5 0.5
NSLAB 是当前表面组装方向的层单元数,本模型每个单元30轨道,6和12个单元分别产生180和360个薄膜本征态。不要把它不加区分地解释成6或12个原子层,或任意材料固定厚度。
SURFACE 的两个整数向量以原始晶格基矢表示;换表面时需检查新表面晶胞、终止方式及原子坐标,不能只改一行标题。NP 与主层处理有关,不是替代 NSLAB 的薄膜厚度参数。
3 运行两种厚度#
bash calculate.sh slab6
bash calculate.sh slab12
计算结束后,查看并绘制自己的结果:
head work/slab6-serial/slabek.dat
bash inspect.sh work/slab6-serial
bash plot-result.sh work/slab6-serial
slabek.dat 的主要列为k路径长度Å⁻¹、E−EF(eV)、底部权重、顶部权重。本例两段路径各31点,总62个k点;6层数据为180×62=11160行,12层为360×62=22320行。
4 看权重而非只看一条亮线#

图中颜色为上下边界权重之和,来自原生输出,不是按能量范围人为指定“表面态”。较厚体系的体态也会增加,不能把多出来的线全部解释成新表面能带。需要结合权重、厚度依赖和体带投影来判断。
POSCAR-slab 是程序根据输入生成的结构示意,可用于核对组装几何;它不表示已完成薄膜DFT或结构弛豫。本套展示的是体相模型的截断结果。
参考:WannierTools薄膜计算。