qvasp的Bader电荷与表面功函数
用Si8电荷网格和Cu薄层局域势,完成终端提取、数值检查和画图。
阅读本篇目录
本篇使用鸢算科技集群实际生成的结构或已经完成的VASP计算数据。环境为官方Linux预编译qvasp2.26(模块 qvasp/2.26),辅助环境为ASE3.29.0、Spglib2.7.0、NumPy和Matplotlib;qvasp原生二进制的编译器版本未公开确认,不将它写成本地重新编译版本。
下载输入、真实数值数据与绘图脚本。解压进入目录,以普通账号运行:
bash run.sh
运行后查看 work/cases、work/analysis-core、work/analysis-extra 和 work/figures。这一命令执行文件准备和后处理,不启动VASP。包内不含POTCAR、WAVECAR或完整原始OUTCAR/XML;精简OUTCAR由明确标注的实际数值摘录生成,仅供工具练习。处理自己的任务时应使用自己的完整原始文件。
1 Bader计算需要三份电荷网格#
前置VASP计算应保存CHGCAR、AECCAR0和AECCAR2,结构、网格与原子顺序需一致。qvasp可先生成前置INCAR:
qvasp -bader
VASP计算完成后进入结果目录:
ls CHGCAR AECCAR0 AECCAR2
qvasp -baderd
cat ACF.dat
该接口先合并AECCAR0/2,再调用Bader程序,以CHGCAR进行价电子分区。资料包使用实际Si8数据,价电子总数32;CHGCAR网格积分31.99999955,八个原子分区电子数和31.999998,二者与32相符。

ACF中的CHARGE列是积分电子数,不是已经换算好的净电荷。本例Si价电子数为4,净价电荷按 4−CHARGE求得;参考CSV同时给出两列。各Si轻微不等不应被删去或强行平均成4,正式电荷转移研究需增加网格等精度检查。没有AECCAR文件时,不能把别的任务网格随意混入。
2 表面功函数先计算LOCPOT#
前置VASP输入可用:
qvasp -wk
检查表面法向、真空、局域势输出和必要的偶极修正,然后提交自己的VASP任务。完成后在含LOCPOT、OUTCAR和结构文件的目录:
qvasp -wkd
本Cu薄层交互输入费米能 0.0389、保留方向 3(z)。终端得到真空势最大值约4.922918 eV、功函数约4.884018 eV。
head vline.dat
ls wk.png

vline.dat纵轴是未减费米能的平均势,功函数另按最大值减费米能计算。420个z网格,原生第一行坐标约0.0628446 Å,最后一行26.394725 Å;这是从一个网格步长开始的输出约定,不要默认为第一行为z=0而静默平移。
3 看清真空平台再讨论材料性质#
最大平均势减费米能适合展示工具流程;正式表面研究还要看两侧真空是否平坦、是否对称、板层数、真空厚度、表面终止和偶极修正。非对称表面可能有两个不同真空平台,单一最大值不能替代左右两侧的分析。
本篇保留实际Cu薄层数据,不将短小教学模型的最大值算法写成所有表面的已收敛功函数。需要以费米能为零的势曲线时,可使用 work/analysis-extra/Cu-potential.csv的第三列,原生第二列保留原值。
参考:qvasp官方教程与模块实际 qvasp -help。在线手册标记2.25,个别行为与当前2.26不同,本文按本例实际输入输出说明。