WannierTools专题

WannierTools:节点线环路Berry相位

用自建节点线模型实际比较链接环路和未链接环路,提供输入与终端流程。

更新于 2026-11-13约 8 分钟阅读按任务与环境选择适用配置
阅读本篇目录

节点线附近可以选一个不穿过简并点的小闭合环路,计算其Berry相位。本例用自建实数二带模型演示 BerryPhase_calc,比较链接和未链接节点线的环路。

它是紧束缚模型的操作例子,不是某种真实材料的DFT计算。这里得到π相位,也不等同于完成Weyl点手性或节点线半环面不变量计算。

1. 先看实际结果#

下载完整输入、实际结果和读取绘图程序,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd wanniertools-nodal-loop
bash read.sh
bash plot.sh

默认读取附带结果,在 analysis-read 和 figures 生成数据与图片,不重新执行计算。

实际输入环路与模型节点线,以及对应d向量平面的环绕

灰色是模型在qz=0的解析节点线,蓝色环路链接它、橙色环路不链接。实际原生结果分别为 π、0。数据见相位CSV和路径CSV。

2. 模型怎样定义#

H(k) = [cos(kx)+cos(ky)-1.5] σx + sin(kz) σz

能量单位eV,式中的k为无量纲晶格相位。晶格常数3 Å,两个轨道中心重合。本模型在qz=0及qz=1/2都存在对应节点线;本例只讨论前者附近的小环路,不声称图中列出了完整拓扑结构。

模型矩阵元文件随包提供:

cat inputs/linked64/model_hr.dat
cat inputs/linked64/wt.in

3. 环路输入#

本次64段链接环路的完整 wt.in 为:

&TB_FILE
 Hrfile='model_hr.dat'
 Package='VASP'
/
&CONTROL
 BerryPhase_calc=T
/
&SYSTEM
 NumOccupied=1, SOC=0, E_FERMI=0
/
&PARAMETERS
 Nk1=2, Nk2=2, Nk3=1
/
LATTICE
Angstrom
3 0 0
0 3 0
0 0 3
ATOM_POSITIONS
1
Direct
X 0 0 0
PROJECTORS
2
X s pz
KPATH_BERRY
65
Direct
0.20166666666667 0.00000000000000 0.00000000000000
0.20149813210019 0.00000000000000 0.00343059991153
0.20099415148078 0.00000000000000 0.00682816127056
0.20015957841729 0.00000000000000 0.01015996370391
0.19900245030456 0.00000000000000 0.01339392013278
0.19753391091886 0.00000000000000 0.01649888578891
0.19576810309726 0.00000000000000 0.01944495815569
0.19372203253436 0.00000000000000 0.02220376494573
0.19141540400820 0.00000000000000 0.02474873734153
0.18887043161239 0.00000000000000 0.02705536586770
0.18611162482235 0.00000000000000 0.02910143643059
0.18316555245558 0.00000000000000 0.03086724425219
0.18006058679944 0.00000000000000 0.03233578363790
0.17682663037057 0.00000000000000 0.03349291175063
0.17349482793723 0.00000000000000 0.03432748481411
0.17009726657820 0.00000000000000 0.03483146543353
0.16666666666667 0.00000000000000 0.03500000000000
0.16323606675513 0.00000000000000 0.03483146543353
0.15983850539610 0.00000000000000 0.03432748481411
0.15650670296276 0.00000000000000 0.03349291175063
0.15327274653389 0.00000000000000 0.03233578363790
0.15016778087776 0.00000000000000 0.03086724425219
0.14722170851098 0.00000000000000 0.02910143643059
0.14446290172094 0.00000000000000 0.02705536586770
0.14191792932514 0.00000000000000 0.02474873734153
0.13961130079897 0.00000000000000 0.02220376494573
0.13756523023608 0.00000000000000 0.01944495815569
0.13579942241447 0.00000000000000 0.01649888578891
0.13433088302877 0.00000000000000 0.01339392013278
0.13317375491604 0.00000000000000 0.01015996370391
0.13233918185255 0.00000000000000 0.00682816127056
0.13183520123314 0.00000000000000 0.00343059991153
0.13166666666667 0.00000000000000 0.00000000000000
0.13183520123314 0.00000000000000 -0.00343059991153
0.13233918185255 0.00000000000000 -0.00682816127056
0.13317375491604 0.00000000000000 -0.01015996370391
0.13433088302877 0.00000000000000 -0.01339392013278
0.13579942241447 0.00000000000000 -0.01649888578891
0.13756523023608 0.00000000000000 -0.01944495815569
0.13961130079897 0.00000000000000 -0.02220376494573
0.14191792932514 0.00000000000000 -0.02474873734153
0.14446290172094 0.00000000000000 -0.02705536586770
0.14722170851098 0.00000000000000 -0.02910143643059
0.15016778087776 0.00000000000000 -0.03086724425219
0.15327274653389 0.00000000000000 -0.03233578363790
0.15650670296276 0.00000000000000 -0.03349291175063
0.15983850539610 0.00000000000000 -0.03432748481411
0.16323606675513 0.00000000000000 -0.03483146543353
0.16666666666667 0.00000000000000 -0.03500000000000
0.17009726657820 0.00000000000000 -0.03483146543353
0.17349482793723 0.00000000000000 -0.03432748481411
0.17682663037057 0.00000000000000 -0.03349291175063
0.18006058679944 0.00000000000000 -0.03233578363790
0.18316555245558 0.00000000000000 -0.03086724425219
0.18611162482235 0.00000000000000 -0.02910143643059
0.18887043161239 0.00000000000000 -0.02705536586770
0.19141540400820 0.00000000000000 -0.02474873734153
0.19372203253436 0.00000000000000 -0.02220376494573
0.19576810309726 0.00000000000000 -0.01944495815569
0.19753391091886 0.00000000000000 -0.01649888578891
0.19900245030456 0.00000000000000 -0.01339392013278
0.20015957841729 0.00000000000000 -0.01015996370391
0.20099415148078 0.00000000000000 -0.00682816127056
0.20149813210019 0.00000000000000 -0.00343059991153
0.20166666666667 0.00000000000000 -0.00000000000000

NumOccupied=1 计算下带的相位,SOC=0 对应本例无自旋二带基组。KPATH_BERRY 下的 65 是输入顶点行数,包含最后重复的起点;它不是最终采样点数。

本例 Nk1=2,每个相邻顶点段包含两个端点,原生路径文件因此有128行,邻段端点会重复。不要把 Nk1 与环路顶点数混为一个参数。

4. 提交和提取#

软件为 wanniertools/2.7.0-8173m,oneAPI 2023.2、MKL、ARPACK 3.9.1编译。包内CPU模板申请56核,实际1个MPI进程、1线程:

bash submit.sh
# 计算结束后
bash read.sh work-new analysis-read
bash plot.sh

在已分配的计算资源中,单个目录的核心调用为:

module load wanniertools/2.7.0-8173m
mpiexec.hydra -n 1 wt.x > native.log
head -2 kpath_berry.txt

5. 本次四个对照#

环路 原生相位/π
链接,64段 1
链接,128段 1
反向链接,64段 1
未链接,64段 0

沿本次每条环路,模型两带之间始终有非零间隙;路径没有穿过节点线。独立本征矢重叠计算得到相同的模2π相位。

相位的分支和输出列解释见环路输入与结果检查。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗