
简介这是一份面向VASP计算用户的VASPKIT中文手册适合材料科学、催化研究等领域的科研人员与学生阅读。VASPKIT由王伟老师团队开发以FORTRAN编写在Linux下无需安装即可运行并提供多个示例便于入门。手册系统介绍了VASPKIT的预处理与后处理功能包括输入文件生成与检查、PBE和HSE06能带计算、态密度分析、热力学量校正、差分电荷密度图绘制、NEB路径与虚频校正、能带反折叠、3D能带、费米面计算及VASP2BoltzTraP接口等并给出了用户自定义界面示例如原子电荷着色结构图与二维材料MoS2投影能带计算。资源为单个PDF文件大小2.37MB按菜单模块组织查阅方便同时涵盖0.72版本更新说明。目前已有3564人学习下载。通过这份手册读者能快速掌握VASPKIT常见操作并获得催化与材料计算中典型任务的解决思路适合新手系统入门和进阶用户提升效率。1. 从一份中文手册说起VASPKIT 到底帮你省了哪些事第一次用 VASP 的人十有八九是先被输入文件劝退的。INCAR、POSCAR、POTCAR、KPOINTS 四个文件各有各的格式要求稍不留神元素顺序写错、K 点密度设稀、赝势选得不匹配任务要么秒挂要么算完结果不敢用。更难受的是 VASP 本身没有界面能带、态密度、差分电荷密度这些后处理全靠自己找脚本拼。VASPKIT 就是为这个痛点做的预-后处理工具一份中文手册把它的配置、菜单、参数和坑都讲透了。这份资源适合做催化、材料、光学计算的人尤其是那种不想为了画个能带图去现学 Python 脚本的从业者。读完这份手册你会发现输入文件生成、能带路径、NEB 可视化、热力学校正这些活其实都可以在一个命令行界面里按几个数字完成。2. 部署与输入文件生成先把环境配好再谈计算2.1 把 VASPKIT 跑起来配置文件与两个启动报错VASPKIT 是 FORTRAN 写的 Linux 二进制程序体积很小几乎不依赖第三方库解压就能用。拿到手册配套的 vaspkit.0.72 压缩包后先找到 bin 目录下的 vaspkit 可执行文件。我最开始犯的错是直接运行结果提示没有权限因为压缩包解压后文件默认没有执行位。在终端里给它加上执行权限即可chmod ux /home/你的路径/vaspkit.0.72/bin/vaspkit接着把环境变量示例文件复制为用户配置文件再编辑它cp -f how_to_set_environment_variable ~/.vaspkit vi ~/.vaspkit这个~/.vaspkit是所有行为的总开关。手册里反复强调VASP 版本、赝势库路径、泛函类型、是否用官方推荐赝势、INCAR 写入模式全在这里控制。我一般至少改五个关键项整理成参数表方便对照参数可选值作用VASP5.TRUE. / .FALSE.是否按 VASP 5.x 格式读写。用 VASP 4.x 就设 .FALSE.PBE_PATH赝势目录路径PBE 赝势库存放的绝对路径生成 POTCAR 时去这里找文件LDA_PATH / GGA_PATH赝势目录路径切 LDA 或 GGA-PW91 时用的路径POTCAR_TYPEPBE / GGA / LDA决定生成哪种类型的 POTCARRECOMMENDED_POTCAR.TRUE. / .FALSE.是否采用 VASP 官网推荐赝势组合SET_INCAR_WRITE_MODEOVERRIDE / APPEND / BACK-UP-OLD / BACK-UP-NEW已存在 INCAR 时覆盖、追加、备份旧文件后写、写入新文件MINI_INCAR.TRUE. / .FALSE.是否生成精简版 INCAR 模板把 vaspkit 的 bin 目录加入 PATH之后直接在任意目录敲vaspkit就能启动echo export PATH/home/你的路径/vaspkit.0.72/bin/:$PATH ~/.bashrc source ~/.bashrc启动时遇到GLIBC_2.14 not found说明系统基础库太老这个二进制文件是在较新的发行版上编译的。常见的处理办法是升级系统库但老机器升级风险大如果不想动系统可以联系开发者要一个低版本环境下编译的版本。另一个高频报错是权限问题解决办法就是上面那句chmod ux。2.2 生成 INCAR、KPOINTS、POTCAR功能 101 到 104在终端输入vaspkit进入菜单会看到主界面按结构、电子、电荷与势、杂项工具分类。生成输入文件在主菜单输入1进入 VASP Input Files Generator里面 101 到 109 是核心子功能。功能 101 是自定义 INCAR 模板生成器。它会列出一堆任务模板比如 SR 标准弛豫、ST 静态计算、LR 晶格常数优化、MD 分子动力学、NE 爬坡弹性带、H6 杂化泛函计算、PU 加 U 计算。选 LR 就会生成一套专为晶格优化设计的 INCAR默认PRECHigh这样 VASP 会自动把截断能抬到所有元素 ENMAX 最大值的 1.3 倍。这里有一个值得注意的细节手册提醒VASP 官方最新建议已经不再推荐PRECHigh配合自动 ENCUT而是设PRECAccurate并手写 ENCUT保证同类体系不同任务截断能一致。功能 102 生成静态计算的 KPOINTS 文件同时自动生成 POTCAR。撒点方案我一般选 Gamma Scheme稳健且适合绝大多数半导体和金属体系。K 点密度参数单位是2*PI/Angstrom的倒空间长度手册给的经验是 0.04 就足够精确0.03 算精细0.02 很奢侈# 运行 vaspkit 后输入 1再输入 102 # 选择撒点方式2 表示 Gamma Scheme # 输入 K 点密度0.04生成出来的 KPOINTS 长这样K-Mesh Generated with KP-Resolved Value : 0.0400 Gamma 9 9 5 0.0 0.0 0.0判断 K 点密度够不够对正交体系可以用经验规则K 点数乘以对应实空间晶格常数大于 20 Å像例子里ka29.62 Å就符合了。但手册特别强调非正交体系里倒格矢长度和晶格常数不是简单反比关系ka≈kb≈kc这个经验准则并不严格成立。vaspkit 的做法是在倒空间按步长 0.030.04 自动分配各方向 K 点数比手算可靠得多。POTCAR 生成则涉及赝势选型。功能 103 按推荐组合自动生成功能 104 允许手动指定每个元素的赝势类型。PBE 赝势有_pv、_sv、_d这些后缀它们把次外层电子也当作价态处理。判断是否需要的标准之一是做 Bader 电荷分析时建议用带_pv或_sv的赝势因为次外层电子参与了成键。还有一个官网给出的细节如果体系里有短键二聚体分子比如 O2、CO、N2、F2、P2、S2、Cl2推荐用_h后缀赝势。我自己的惯例是用两种赝势分别试一下如果对结果影响很小就选不含后缀的因为价电子少、截断能低、计算量明显更省。生成完这几个文件可以用一条命令检查赝势的截断能grep ENMAX POTCAR确保 INCAR 里的 ENCUT 不小于所有 ENMAX 的最大值。如果 INCAR 里把 ENCUT 注释掉了而保留了PRECNormal程序会自动取最大值手动指定 ENCUT 时必须大于这个上限否则精度会悄悄降档。2.3 格式检查与赝势一致性功能 109 为什么是必做项手册里用 ZnO 演示了一个非常典型的翻车场景。从公共结构数据库下载纤锌矿 ZnO 的 POSCAR 后直接提交 VASP任务秒挂日志报错信息大致是 VASP 只读出了 O 的元素类型Zn 没读出来。原因是下载的结构文件里元素符号和坐标之间用的是制表符\t分隔VASP 不能正确解析这种格式。同样的问题也会出现在 Windows 系统下编辑过的 INCAR 里。更隐蔽的是VASP 不会自动检查 POSCAR 里的元素类型是否和 POTCAR 一致也就是说你算石墨烯但用了 H 的赝势它能照跑不误结果却是完全错的。vaspkit 从 0.71 开始加入功能 109做格式纠正和赝势元素一致性检查。运行后它会自动把 POSCAR 和 INCAR 里的分隔符、换行格式纠正过来并比对 POTCAR 中的元素序列。为了少走弯路手册建议直接用功能 108 的串联流程先设置 INCAR再给 K 点密度生成 KPOINTS 和 POTCAR最后自动调用 109 做全量检查。目标就是那句“VASP 之前先 KIT 一下”。3. 能带计算PBE 与 HSE06 两条完整路线3.1 高对称点路径生成为什么能带 KPOINTS 长得不一样静态计算的 KPOINTS 是在整个布里渊区自动撒点能带计算则需要沿第一布里渊区内的高对称点路径取 K 点。传统做法先通过数据库或软件查高对称点再写脚本插值。vaspkit 把这一步做成了自动流程主界面输入3进入 Band-Structure Path程序用内置的对称性分析算法找出晶体的高对称点并返回建议路径。手册给了一个磷化镓的 HSE06 能带例子。运行功能 3 后屏幕上会给出两条建议路径类似[GAMMA-X-U|K-GAMMA-L-W-X]同时生成两个关键文件PRIMCELL.vasp是程序自动转换出的单胞结构KPATH.in是后续能带计算要用的 K 点路径文件。这个功能目前不支持三斜晶系遇到三斜体系还是得走数据库。另外要注意能带路径严格说是针对 primitive cell 的所以生成路径后需要用PRIMCELL.vasp替换原始 POSCAR 作为后续计算的结构文件不然路径和实际倒空间对不上。3.2 PBE 能带实操从自洽到数据提取PBE 能带计算分两步走。第一步用均匀 K 点做自洽计算拿到收敛的电荷密度第二步沿能带路径做非自洽计算得到本征值。自洽计算用我们刚才生成的那套 KPOINTS 即可跑完后把 KPOINTS 换成KPATH.in重新提交一次非自洽任务。数据提取在主界面输入21vaspkit 会读取 VASP 输出的本征值文件整理出能带数据并直接绘图。这里推荐一个用法如果只关心某些原子对能带的贡献用功能 212、213、214 做投影能带一次性选一个或多个原子。0.72 版本里还把投影能带扩展到了分别按元素提取、把多个原子轨道求和这在判断某元素价带顶贡献时非常有帮助。PBE 能带计算最大的局限是带隙偏低这是泛函本身的问题。如果你用 PBE 算出的带隙和实验值差 30% 以上别急着怀疑结构先想想是不是该上杂化泛函。手册里也提到0.72 修复了自旋极化体系中带隙数值读取的 bug老版本算磁性体系带隙时要多个心眼。3.3 HSE06 杂化泛函能带算得慢但值得HSE06 能带在 0.72 里对应的菜单是功能 25它支持沿着不同 k-path 用均匀 K 点采样做杂化泛函计算这对传统仅支持路径采样的版本是一个明显改进。INCAR 模板用 101 里选 H6 即可模板会自动带上杂化泛函相关的参数。HSE06 和 PBE 在能带上的差距我用一个对比表说明对比项PBEHSE06带隙准确度系统性低估半导体可差 0.5~1 eV与实验值接近尤其适合中带隙体系计算成本低常规机器可跑高K 点一多机时成倍增长K 点路径生成功能 3 功能 21功能 3 功能 25适用场景大体系结构趋势筛选精确带隙、光学性质、缺陷能级HSE06 常见的踩坑是默认插值 K 点太多导致机时爆炸。KPATH.in里第二行数字表示每小段路径的 K 点数目如果默认数值算不动手动调小即可比如从 40 降到 20。杂化泛函对赝势也更敏感建议在~/.vaspkit里确认RECOMMENDED_POTCAR开启避免因为赝势不合适让本来就很贵的 HSE06 打了折扣。0.72 还修了一个老版本提取 hybrid 能带投影数据时的 bug如果你之前用的是 0.7x 前版本并且投影能带结果怪怪的可能与这个 bug 有关。4. 催化与热力学工具NEB、虚频校正与自由能4.1 NEB 路径生成与可视化把过渡态路径交给 vaspkit催化计算绕不开 NEB而 NEB 最费心的一步是生成合理的初始路径。传统做法是手动插点或者依赖第三方脚本vaspkit 把这一步做成了功能 505根据两端优化好的结构线性插值生成 NEB 路径。线性插点虽然不考虑中间可能的高能中间态但作为初猜足够用后续 NEB 优化会自己去爬坡。路径生成后还有一个可视化问题。NEB 的中间影像是一堆结构文件直接看很难直观判断路径是否合理。手册里提到把 NEB 路径转换成 PDB 文件用通用可视化软件加载后能直接看原子在反应路径上的移动方式比盯着坐标数字高效太多。这里对应功能 505动态轨迹转换则由功能 405 处理 XDATCAR 转 PDB。做 NEB 前还要确认 INCAR 里设了IMAGES数目vaspkit 的 NE 模板会生成配套参数但影像数要按体系手动改这是模板里明确提示需要人工调整的部分。4.2 虚频校正避免把鞍点当成能量最低点NEB 收敛后通常还要做频率分析确认过渡态只有一个虚频。vaspkit 的功能 507 专门做虚频校正它可以对含有虚频的构型做处理给出校正后的结构。这个功能的原理并不复杂振动频率计算得到虚频意味着该方向是势能面的鞍点校正过程把虚频对应的位移模式提取出来按一定步长调整原子位置让结构更接近真正的过渡态。实际操作中我一般先用功能 507 做一次粗校正再把这个结构拿去做一次严格的过渡态优化。需要提醒的是虚频校正只适用于频率计算已经完成的体系频率计算没做完或者虚频来自数值噪声时校正没有意义。判断虚频是否真实的方法是看位移矢量如果位移模式对应体系内化学键断裂或成键方向那基本是真实反应坐标如果只是整体平移加微小扰动可能是数值精度问题。4.3 热力学量校正气相分子与吸附质分子的自由能催化反应自由能图是衡量反应路径优劣的核心数据但 VASP 直接算出来的是 0 K 电子能量不能直接用。手册里的热力学量校正部分讲的是如何对气相分子和吸附质分子做零点振动能、温度对焓和自由能贡献的修正。气相分子校正相对简单自由分子有明确的振动模式频率计算后按统计力学公式加温度和熵的贡献即可。吸附质分子的校正更复杂因为吸附态部分自由度被表面“冻结”低频振动模式的处理要小心处理不当会高估熵的贡献。vaspkit 把这两类校正做成独立子功能输入频率计算输出的 OUTCAR 文件输出校正量然后就能组合成完整的自由能图。做差分电荷密度图功能 31 附近时也是类似逻辑需要准备吸附前后体系的 CHGCARvaspkit 读取后直接输出差分数据可以导入可视化软件渲染。5. VASPKIT 踩坑手册五个高频错误与排查套路5.1 POSCAR 格式问题制表符分隔与 Windows 换行现象结构文件从数据库下载或从 Windows 机器拷贝过来提交 VASP 后报错提示元素类型信息与原子数目不一致甚至只读出一部分元素。原因POSCAR 中元素符号与坐标之间的分隔符是制表符\tVASP 对这类格式解析有问题Windows 下编辑过的文件还混入了\r\n换行符。VASP 不会报具体位置只会告诉你类型信息不一致。解决在 vaspkit 里运行功能 109程序自动把分隔符和换行格式修正。如果已在 VASP 环境里也可以手动把制表符替换为空格但要小心原子坐标列对齐问题手工处理大体系容易漏。从那以后所有外部获取的 POSCAR 我都会先过一遍 109 再提交。5.2 POTCAR 与 POSCAR 元素不一致错得悄无声息现象算石墨烯用了 H 的赝势或者算 ZnO 时 POTCAR 里只有 O 没有 Zn任务能跑甚至能收敛但结果明显偏离物理。原因VASP 不检查 POSCAR 元素列表与 POTCAR 的一致性。越离谱的组合越难发现因为电子步还会照常迭代。解决运行功能 109 检查元素一致性并留意生成 POTCAR 时的提示信息。选择赝势时按 2.2 节的方法用grep ENMAX POTCAR核对顺序。我习惯在提交任务前用一条命令把 POSCAR 前几行和 POTCAR 元素行同时打出来对比确保两者顺序完全一致。5.3 ENCUT 与 PREC 的配合High 模式未必适合你现象晶格常数优化任务跑得慢或者同一体系在不同任务里算出来的总能量差异很大。原因PRECHigh会让 VASP 自动把 ENCUT 设为最大 ENMAX 的 1.3 倍看似保险但不同任务如果用了不同结构文件最大 ENMAX 相同的话问题不大一旦换了元素组合或赝势后缀自动截断能可能漂移。手册明确指出VASP 官方已不推荐PRECHigh建议PRECAccurate加手动 ENCUT。解决打开 INCAR删掉注释状态的 ENCUT显式写入一个固定值比如所有元素 ENMAX 最大值乘以 1.21.3。同类体系所有任务用同一个 ENCUT比较能量才不会因为截断能不同而失去参考意义。5.4 K 点密度判断非正交体系别迷信 ka20现象把正交体系的经验规则直接搬到单斜、三斜体系结果总能带、态密度出现锯齿状抖动DOS 曲线不光滑。原因非正交体系中倒格矢长度与实空间晶格常数不是简单反比关系ka20的规则在这些体系里不严格成立。解决按 vaspkit 生成的倒空间步长来判断0.04 起步0.03 做精细收敛测试时把能量差和 DOS 曲线变化一起看。不要只调一个方向的 K 点三个方向都要对齐到相同倒空间分辨率。5.5 能带计算用错结构文件路径与体系不匹配现象能带路径生成后直接拿原始 POSCAR 去算能带结果能带拥挤、高对称点位置和预期不符。原因生成的路径基于 primitive cell而原始 POSCAR 可能是超胞或非标准原胞倒空间路径和实际计算用的晶格不匹配。解决功能 3 生成路径后把工作目录的 POSCAR 替换为生成的PRIMCELL.vasp再跑后续自洽和非自洽计算。如果还想保留原始单胞结构做其他分析就把PRIMCELL.vasp单独存到一个新目录能带计算全在新目录里完成。6. 进阶用法能带反折叠与 3D 能带把超胞数据讲清楚超胞计算会带来一个麻烦原本清晰的能带被折叠得密密麻麻原子间的真实色散关系看不清。功能 28 的能带反折叠能把这些折叠的权重投影回原胞布里渊区恢复出有效能带结构。它支持 DFT、hybrid-DFT 和 Meta-GGA 层面的计算但不包括 GW。用法是先把超胞自洽算完再运行功能 28按提示选择要反折叠的体系类型和路径程序会输出包含谱权重的反折叠能带数据。手册对应的 examples 目录里有配套例子直接对照跑一遍比看说明管用得多。另外两个值得花时间的功能是 23 的 3D 能带和 26 的费米面计算。3D 能带把二维路径扩展成三维 k 空间网格对理解各向异性输运性质很有帮助费米面计算则适合金属体系输出数据可以导入可视化工具绘制费米面形状。如果做输运计算功能 73 的 VASP2BoltzTraP 接口可以直接把 VASP 计算结果转成 BoltzTraP 需要的格式省去手写格式转换脚本的环节。还有功能 74 的用户自定义界面属于测试功能可以用来绘制原子电荷着色的结构图二维材料如 MoS2 的投影能带就是这类场景。现在每次拿到一个新结构我都会强制走一遍固定流程功能 108 生成全套输入文件并检查确认赝势后缀和 ENCUT 没问题后再开始算能带相关的体系一律确认 PRIMCELL 替换过了自旋极化体系会特别看一眼带隙数值是否合理。这套流程是当初被制表符和赝势不一致两个坑硬生生教出来的。希望这份手册的实战解读能帮你少走几步弯路把时间花在真正需要琢磨的物理问题上。本文还有配套的精品资源点击获取