VASPBERRY专题

VASPBERRY曲率计算与网格对照

处理SOC波函数、运行FHS和Kubo路线、画三档k网格曲率图,并区分局部曲率与全局积分。

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

本篇接续MoS₂波函数准备。已有WAVECAR后不需要为画图重跑DFT。我们比较同一结构、同一占据子空间在三档网格上的输出。

下载完整数值与绘图程序。

1 处理周期等价的k坐标#

本系列的实际VASP输入使用 [0,1) 的分数k坐标。已装版FH Z₂网格重建需要中心表示,所以先运行资料包中的转换:

bash center.sh

回车使用 work/soc-mesh6。换成12或18网格时输入对应目录。脚本加载 pymatgen/2026.9.24,保留原WAVECAR,写出 WAVECAR.centered。

这里不是简单改k点标签:若k减去倒格矢,平面波G必须加回同一倒格矢,并把两个自旋器分量的系数同步重排,使物理波矢k+G保持不变。程序逐带检查能量、系数重排和若干实空间Bloch波值;原文件保持不变。

这份脚本专门检查本例使用的单精度SOC自旋器格式,遇到未覆盖格式会停止。不要把它当作任意WAVECAR转换器。已有中心表示的其他波函数也应先确认网格、格式和程序接口。

2 一次生成三类输出#

bash berry.sh

同样输入SOC目录。脚本加载 vaspberry/1.6.3,分别创建 berry-chern、berry-z2、berry-kubo,避免互相覆盖。VASPBERRY的本例后处理使用CPU串行,前面的VASP波函数计算才使用GPU。已装环境为ifx 2024.2.1、Intel MPI 2021.13、顺序MKL 2024.2。

以6网格为例,下面是等价的直接命令。先用绝对路径记录波函数,再进入新的输出目录:

module load vaspberry/1.6.3
wave=$(realpath work/soc-mesh6/WAVECAR.centered)
mkdir my-fhs
cd my-fhs
vaspberry --wavecar "$wave" --task chern --mesh 6,6 --bands 1:18
cd ..
mkdir my-kubo
cd my-kubo
vaspberry --wavecar "$wave" --task kubo --mesh 6,6 --bands 1:18 --curvature-csv KUBO.csv

1:18 是所选占据自旋器带组。带组必须与其他带保持能隙;不能只挑一条与邻带简并的带,然后把奇异结果解释成材料性质。

3 读取FHS曲率图#

同一MoS₂结构在6、12、18网格上的FHS曲率

FHS使用相邻波函数子空间的重叠来计算小网格环路的Berry相位。图中的值对应plaquette,即相邻k点围成的小格;不是格点处的微分曲率。

原生 BERRYCURV.dat 包含周期扩展的绘图区域:6网格输出324条数值记录,其中只有36个独立周期小格。作单个布里渊区图时,应按周期坐标去重,并先确认重复值一致,不能把九份区域一起积分。

head -22 work/soc-mesh6/berry-chern/BERRYCURV.dat
grep 'Chern Number =' work/soc-mesh6/berry-chern/BERRYCURV.dat

资料包的 reference/mos2-fhs-6.csv 已保存单个周期区域、实际数值与单位;12和18网格同理。原生文本曲率打印到4位小数,精确积分宜用完整精度的相位数据,不应把绘图文本的舍入误差当物理误差。

4 与Kubo点曲率比较#

三档网格的裸动量Kubo点曲率

本版原生Kubo使用WAVECAR平面波的裸动量算符,没有完整PAW增广、非局域势及SOC速度修正。输出可用于理解方法与输入流程,不能直接当作包含全部速度修正的定量霍尔响应。

同时,Kubo输出是k点处的曲率估计,FHS输出是有限小格的相位/面积。算符与采样位置都存在区别,不能要求两张有限网格图逐点相等。

head -28 work/soc-mesh6/berry-kubo/KUBO.csv
tail work/soc-mesh6/berry-kubo/KUBO.csv

CSV的列包括k点分数坐标、曲率 omega_z_A2 和所选带组到外部带的最小能隙。文件开头可能记录写入过程中的 INCOMPLETE,应确认末尾最终 result_status=PASS,同时核对实际行数和数值有限性。

5 怎样重画和判断网格#

bash run.sh
ls analysis/figures

采样能隙、局部曲率峰值和未取整Kubo积分

网格 完整k点数 采样最小直接能隙/eV 最大采样FHS曲率绝对值/Ų 裸动量Kubo积分(不取整)
6×6 36 1.6371 7.7319 −0.00063220
12×12 144 1.6388 13.1141 0.00005863
18×18 324 1.6388 15.6046 −0.00026297

这些网格均保持占据带组能隙,Chern整数结果相同,但局部FHS峰值仍变化。若客户需要谷附近峰值、细节图或定量响应,应继续增加网格、检查空带与算符适用范围。不要把Kubo积分四舍五入为0,借此宣称得到了精确整数不变量。

下一步见Chern与Z₂实操。

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

查看配图

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

100%查看原图 ↗