VASPBERRY一份配置完成后处理
复用真实MoS2波函数,用INI文件完成输入检查、能带对导出、区域Hall积分、绘图和缓存复算。
阅读本篇目录
本篇使用鸢算科技已有的MoS₂ SOC计算:3原子、完整6×6×1网格、48条自旋子能带,VASP6.6.1、PBE、ENCUT450eV、EDIFF1E-6。复用已完成的波函数,不重跑DFT。 本页演示VASPBERRY1.6.3的INI前端,正则动量路线属于速度算符近似,不是完整PAW/nonlocal/SOC速度。
1 下载并先看参考结果#
下载INI与区域积分实例包,保存为post.zip。
python3 -m zipfile -e post.zip .
cd vaspberry-post
bash results.sh
bash plot.sh
2 准备自己的同次计算文件#
按MoS₂输入教程得到波函数,放进input/后执行:
bash prepare.sh ./input
cat gap.ini
附件不分发WAVECAR或POTCAR。准备脚本只连接自己的波函数,核对36k点、48带和自旋子布局,并按能带1–18确定价带顶与19带导带底,设置绝缘隙内的扫描范围。这个配方针对本例;换材料必须重新确定占据带数和网格,不能照抄18。
本次价带顶−1.3083749644eV、导带底0.3287496002eV,参考μ为−0.4898126821eV。它们均沿用原始VASP本征值零点。
[run]
wavecar = source/WAVECAR
binary = /public/software/vaspberry/1.6.3/bin/vaspberry
output = numerical-gap0K
mesh = 6 6
spin_mode = spinor
energy_reference = unchanged VASP eigenvalue zero
mpi_procs = 1
plane_axes = 0 1
[hall]
mu = -1.108374964428 0.128749600176 41
reference = -0.489812682126
temperatures = 0
[region patchP]
center = 1/3 1/3 0
radius = 0.08
[region patchQ]
center = 2/3 2/3 0
radius = 0.08
[differences]
PminusQ = patchP patchQ
路径相对INI所在目录,分数坐标允许1/3,半径单位Å⁻¹。plane_axes从0开始编号,与从1开始的原子、能带、k点编号不同。
3 检查、运行、绘图#
source env.sh
vaspberry-post check gap.ini
sbatch job.slurm
作业内部依次执行vaspberry-post run gap.ini、vaspberry-post plot numerical-gap0K和后续缓存操作。CPU分区按1任务×56CPU、独占整节点申请,本小例实际单线程,仍按56核整节点计费。不要把Python前端再套进mpiexec;只有明确使用MPI原生程序时才设置匹配的binary和mpi_procs。
ls numerical-gap0K
head -n 8 numerical-gap0K/hall/conductivity.csv
ls numerical-gap0K/figures
native/PAIRS.csv是能带对的分子项和能量,还不是电导;pairs/是可复用缓存;hall/conductivity.csv已经完成占据和BZ积分;figures/只负责把保存值画出来。

4 区域、总量和科学范围#
本例patchP与patchQ各含1个采样点,rest含34点,三者组成36点总网格;PminusQ严格为P−Q,没有默认乘1/2。一个采样点不代表整个谷,区域名也不会自动定位高对称点。
绝缘隙参考点的原始总响应约0.00063220e²/h。MoS₂的时间反演对称性不支持据此宣称非零电荷反常Hall;这个残差提示应继续检查空带求和、数值精度和速度算符。这里演示完整操作链与单位,不把粗网格、正则动量近似的残差解释为收敛材料效应。
下一篇缓存与有限温度说明如何避免重复导出,以及如何显式处理数值简并。版本与设置说明参见VASPBERRY1.6.3文档。