qvasp的K点:积分网格、能带与HSE路径
区分自动维数、网格间隔、线模式和带权重HSE路径,并实际检查生成文件。
阅读本篇目录
本篇使用鸢算科技集群实际生成的结构或已经完成的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 积分网格的参数单位#
qvasp -3k .02
cat KPOINTS
.02的间隔单位为2π Å⁻¹;它不是可直接照抄到VASP KSPACING的数值。间隔越小,通常k点越密。对本例3.61 Å Cu常规胞,.03生成9×9×9,而手册“向上取整”公式对应10×10×10;2.87 Å Fe原胞同样存在16与17的差异。因此必须检查实际网格,不能只记住“.03足够”。
本例改用 .02,Cu得到14³、Fe得到25³,实际最大间隔均小于原来的.03目标。这是本例网格选择,不是普适收敛结论。

2 二维材料要确认真空方向#
qvasp -k .03
cat KPOINTS
自动命令会尝试识别维数。本例石墨烯C2却得到 1 16 1,面内一方向过疏。资料包明确用:
qvasp -3k .03
nano KPOINTS
先得到 16 16 2,再只将已知真空z方向改为1,最终为 16 16 1。不要把所有含真空的结构都直接套成同一方向;先看POSCAR晶胞和原子分布。
3 能带线模式与声子路径准备#
qvasp -kline
cat KPOINTS
BCC Fe例子维数输入3,生成Γ–H–N–Γ–P–H及P–N路径,当前模板每段21点。端点和晶胞必须属于同一结构表示;不能把常规胞和原胞的坐标混用。
qvasp -kphonon
cat KPATH.conf
同一Fe例得到声子路径配置。这里只生成路径,不生成力常数,也不等于声子谱计算完成。完整声子流程另见Phonopy教程。
4 HSE的加权网格加零权重路径#
qvasp -khse
cat KPOINTS
Si原胞先输入维数3,再在网格提示中输入 11 11 11。本例得到56个不可约积分点及200个零权重路径点,总共256行。正权重是整数等价点数,和为1331;把它们除以1331才是归一化权重。
该工具会重新生成积分网格;仅将已有IBZKPT放在目录中,并不能让它自动沿用。默认交互会生成4³网格,与本例前置SCF的11³不同。要继续读取现有波函数,需要自己核对晶胞、原子、积分网格、带数及重启方式,不能仅凭文件名相同判断可续算。
本篇实际完成的是KPOINTS准备与检查,没有将它写成新的HSE材料计算。可在 work/cases/khse-si-explicit11 检查实际文件。
参考:qvasp官方教程与模块实际 qvasp -help。在线手册标记2.25,个别行为与当前2.26不同,本文按本例实际输入输出说明。
继续:完整声子与弹性操作#
已经准备好基本输入后,可接着看qvasp完整DFPT声子流程与GaAs弹性张量提取。前者包含Si16实际DFPT、两种k网格、匹配DIM、Phonopy提取与画图;后者展示实际总弹性张量、单位换算和离子放松含义。都提供终端操作、完整输入和真实数值资料,不将模板生成等同于计算完成。