VASPBERRY专题

VASPBERRY:PAW算符生成、分块导出与合并

从真实Bi₂固定密度计算开始,在个人VASP5.4.4环境生成PAW自旋与速度矩阵。

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

普通WAVECAR能做部分Berry后处理,但不能凭空补出完整PAW自旋、非局域速度和简并块。本篇演示在独立VASP源码副本中加入VASPBERRY输出接口,实际计算Bi₂,再把四个k点分成两块导出和合并。

本例使用PBE、SOC、300eV截断、24条带和2×2教学网格。它展示文件流转,材料响应研究还需要加密网格、增加空带并检查收敛。

下载输入、实际数值矩阵、数据和绘图脚本。包内不含VASP源码、程序、赝势、CHGCAR或WAVECAR。

unzip vaspberry-producer-wave703-*.zip
cd vaspberry-producer
bash results.sh
bash plot.sh

真实Bi₂结构与四个采样点的能级

1. 先选择适用环境#

后处理使用VASPBERRY1.6.3,固定提交1d5d752d,Python3.11、NumPy2.3.5。生成器采用VASP5.4.4串行复数ncl个人构建,ifort2021.10、MKL2023.2 sequential,GNU gcc/g++负责C和解析器,-O2 -xCORE-AVX512。

这个个人程序只用于支持AVX512的CPU,不用于P100计算节点的CPU,更不是GPU或MPI版。普通集群VASP模块继续用于常规计算。

上游接口说明限定串行5.4.4、半局域泛函、Cartesian SAXIS=0 0 1、无Hubbard U、无自旋螺旋。Hybrid、meta-GGA、其他源码修订以及MPI/GPU不能直接照搬。

本例授权源码中的linear_optics.F哈希为79c189ea…,与上游插桩器原来绑定的源码修订不同;随包准备程序仅针对这个精确修订建立个人适配,并保持上游插入公式和数值检查。适配并不表示任意5.4.4源码都能通用。源码不匹配时,应先核对修订,不能删除哈希检查。

有VASP源码授权后,在自己的CPU计算资源内准备:

bash build.sh /自己的授权源码/vasp.5.4.4

脚本复制到toolchain/vasp544后编译,不修改传入源码。旧版Fortran模块依赖需要make -j1;首次准备一次即可,之后复用个人生成器。

2. 先完成同体系SCF#

结构inputs/POSCAR:

Bi buckled honeycomb layer             
   1.00000000000000     
     4.3888421599896201    0.0000000000000000    0.0000000000000000
     2.1944210799948101    3.8008488037511787    0.0000000000000000
     0.0000000000000000    0.0000000000000000   15.0000000000000000
   Bi
     2
Selective dynamics
Direct
  0.1666666666666643  0.1666666666666643  0.0579618666614847   F   F   T
  0.8333333333333357  0.8333333333333357  0.9420381333385153   F   F   T
 
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00

SCF的INCAR:

SYSTEM = Own Bi2 SOC density for PAW export
ENCUT = 300
PREC = Accurate
EDIFF = 1E-6
NELM = 120
ALGO = Normal
ISPIN = 1
LSORBIT = .TRUE.
LNONCOLLINEAR = .TRUE.
SAXIS = 0 0 1
MAGMOM = 6*0
ISYM = -1
LREAL = .FALSE.
ISMEAR = 0
SIGMA = 0.02
IBRION = -1
NSW = 0
NBANDS = 24
LASPH = .TRUE.
ADDGRID = .TRUE.
LWAVE = .TRUE.
LCHARG = .TRUE.

SCF使用Γ中心2 2 1网格:

Bi2 SCF
0
Gamma
2 2 1
0 0 0

在有授权的常规VASP环境中完成SCF并保存CHGCAR。把同一次计算所用文件放到资料包:

cp /自己的SCF目录/POTCAR inputs/
cp /自己的SCF目录/CHGCAR inputs/
grep 'EDIFF is reached' /自己的SCF目录/OUTCAR

本例含10个价电子,SCF电子收敛到1E-6。新体系必须整体更换结构、赝势、SCF密度和相关参数,不能混用本例Bi的矩阵与其他材料。

3. 固定密度,分成两个k点块#

块0的INCAR:

SYSTEM = OwnBi2 fixedcharge full PAW matrix producer
ENCUT = 300
PREC = Accurate
EDIFF = 1E-6
NELM = 120
ALGO = Normal
ISPIN = 1
LSORBIT = .TRUE.
LNONCOLLINEAR = .TRUE.
SAXIS = 0 0 1
MAGMOM = 6*0
ISYM = -1
LREAL = .FALSE.
ISMEAR = 0
SIGMA = 0.02
IBRION = -1
NSW = 0
NBANDS = 24
LASPH = .TRUE.
ADDGRID = .TRUE.
LWAVE = .TRUE.
LCHARG = .FALSE.
ICHARG = 11
ISTART = 0
LOPTICS = .TRUE.
LPEAD = .FALSE.
LNABLA = .FALSE.
LBERRY_EXPORT = .TRUE.
LSPIN_EXPORT = .TRUE.
NEDOS = 100

ICHARG=11读取固定密度;LOPTICS启用光学路径,LBERRY_EXPORT和LSPIN_EXPORT输出原生接口。LREAL、LPEAD、LNABLA在这条路径均为False。NBANDS、ENCUT、结构、密度与赝势保持一致。

两块的完整KPOINTS:

OwnBi2disjointfixedchargechunk
2
Reciprocal
0.125 0.125 0 1
0.625 0.125 0 1

OwnBi2disjointfixedchargechunk
2
Reciprocal
0.125 0.625 0 1
0.625 0.625 0 1

它们合起来是平移后的完整2×2网格,每点最终权重1/4。不能把一条高对称路径或缺点网格交给spin-merge冒充全布里渊区积分。

4. 提交、导出与合并#

sbatch calculate.slurm
squeue -u "$USER"

模板申请1个CPU进程,顺序计算两块、导出、合并,再计算响应。CPU分区可用时提交。前置SCF不在这个脚本中自动执行。

在自己已获分配的CPU资源中,可分步执行:

bash produce.sh
ls work/chunk0/exported
ls merged

produce.sh先调用run_vasp_spin_producer.py运行个人程序并记录输入与输出,再执行spin-export,最后执行:

vaspberry-kubo spin-merge \
  --run-dirs work/chunk0 work/chunk1 \
  --mesh 2 2 --occupied 10 --output-dir merged

每块保留SPIN_VELOCITY.bin、BERRY_CONNECTION.bin、同次WAVECAR/OUTCAR和run.json,不能只复制一个矩阵文件。导出器检查文件配套、PAW重叠、Hermitian性质和光学关系;不能先把矩阵归一化、对称化或把简并块清零再导出。

合并得到physical-matrices.npz、physical-matrices.json和assembly-audit.json。合并的WAVECAR属于自己的计算数据,不需要公开上传。

5. 如何理解速度矩阵#

velocity_eVA[k,a,n,m]是Cartesian方向的ℏv,单位eV·Å;spin_pauli是无量纲Pauli矩阵,真实自旋还要乘ℏ/2。它们都保留原能带与本征态规范。

实际速度矩阵与同密度能量有限差分

本例对第一个k点分别移动分数坐标kx、ky的±0.0002,以同一固定密度计算能级,再转换成Cartesian导数。占据的五组Kramers带对平均速度,矩阵与有限差分最大差约0.000170 eV·Å。近简并时比较带对迹,不能随意把两个本征矢逐个对应。

有限差分必须读取足够精度的能量;四舍五入后的XML或文本能级除以很小步长会放大误差。本例从同次WAVECAR的完整精度能量记录读取,不重新求SCF密度。

接着阅读矩阵到自旋Hall响应。

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

查看配图

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

100%查看原图 ↗