VASP Libxc 泛函库:版本选择与使用指南
五个VASP CPU版本接入Libxc 7.1.2;通过yskit选择脚本,设置PBE、SCAN、r²SCAN或PBE0,并检查计算结果。
阅读本篇目录
Libxc 是交换关联泛函库。VASP 接入后,可以在 INCAR 中用 LIBXC1、LIBXC2 指定接口支持的泛函,方便使用更多泛函并开展方法对照。
鸢算科技已部署 五个 VASP CPU 版本 + Libxc 7.1.2,保留 HDF5 输出和 vasp_std、vasp_gam、vasp_ncl。输入 yskit,在「复制 Slurm 脚本」里选择 Libxc 泛函库(CPU) 即可找到对应版本。
1. 选择哪个版本#
| VASP 版本 | CPU 模块 | Libxc / HDF5 |
|---|---|---|
| 6.6.1 | vasp/6.6.1-8173m-libxc |
7.1.2 / 支持 |
| 6.5.1 | vasp/6.5.1-8173m-libxc |
7.1.2 / 支持 |
| 6.4.3 | vasp/6.4.3-8173m-libxc |
7.1.2 / 支持 |
| 6.4.2 | vasp/6.4.2-8173m-libxc |
7.1.2 / 支持 |
| 6.3.2 | vasp/6.3.2-8173m-libxc |
7.1.2 / 支持 |
这些是独立的 CPU 功能分支,原有普通版、HDF5 版和其他扩展入口继续保留。需要复现已有结果时,保持同一 VASP 版本、泛函实现和科学参数。
6.4.2 和 6.3.2 已包含非正密度情况下的 Libxc GGA 保护修复,其中 6.3.2 使用相同代码分支的回移修复;修复依据见 VASP 官方说明。
2. 从准备输入到得到结果#
准备输入 → 设置泛函 → yskit 复制 CPU 脚本 → Slurm 提交 → 检查收敛和输出。
-
准备计算目录。 放好
POSCAR、POTCAR、KPOINTS和INCAR,根据体系核对赝势、截断能、k 点和电子收敛设置。 -
设置泛函。 在
INCAR使用下一节中适合任务的一组参数。切换方法时,清理原有的GGA、METAGGA和LIBXC设置,避免冲突。 -
复制提交脚本。 在自己的计算目录输入:
yskit依次选择 1.复制 Slurm 脚本 → 核时用户 → vasp → Libxc 泛函库(CPU) → 所需版本 → 8173m → 脚本。套餐用户使用关联的核时账户。
-
提交计算。 检查脚本和输入后执行,例如选择 6.6.1:
sbatch sub_vasp_6.6.1_8173m.sh选择其他版本时,使用实际复制得到的脚本名。模板自动加载匹配模块,默认使用 56 MPI 的
vasp_std,在cpu-8173m分区按整节点运行。 -
检查结果。 确认作业正常结束、电子自洽收敛,并在
OUTCAR中核对Libxc version 7.1.2和实际泛函标签。结构、能量、受力和应力按普通 VASP 流程分析,vaspout.h5可由 py4vasp 读取。
计算前通常不需要手工加载依赖。vasp_gam 要求匹配的 Gamma-only 输入;SOC 或非共线任务使用 vasp_ncl 并设置对应科学参数。需要传统 CHGCAR、WAVECAR 时,应按所用版本的 LH5、LCHARG、LWAVE 说明明确配置输出。
3. 常用泛函怎样填写#
以下片段用于选择泛函,其余 INCAR 参数仍需按具体体系准备和测试。
PBE#
GGA = LIBXC
LIBXC1 = GGA_X_PBE
LIBXC2 = GGA_C_PBE
SCAN#
METAGGA = LIBXC
LIBXC1 = MGGA_X_SCAN
LIBXC2 = MGGA_C_SCAN
r²SCAN#
METAGGA = LIBXC
LIBXC1 = MGGA_X_R2SCAN
LIBXC2 = MGGA_C_R2SCAN
PBE0#
LHFCALC = .TRUE.
AEXX = 0.25
GGA = LIBXC
LIBXC1 = HYB_GGA_XC_PBEH
PBE0 的 HYB 标签已包含半局域部分的混合系数,仍须明确设置 AEXX = 0.25,不再叠加旧的 ALDAX、AGGAX 等缩放参数。单个标签已包含交换与关联时,不再设置 LIBXC2。
meta-GGA 所用 Libxc 依赖已按官方要求关闭 FHC,LTBOUNDLIBXC 保持默认 .FALSE.;LASPH、FFT 网格和电子算法等需结合体系开展收敛测试。参数含义与接口范围见 VASP 官方 Libxc 文档。
4. 实际验证了哪些内容#
代表性计算覆盖 Si、水分子和自旋 Fe,以及 PBE、SCAN、r²SCAN、PBE0、Gamma 程序、PBE SOC、不同 MPI 规模和 HDF5 / py4vasp 读取。新增四版各完成 34 组主计算、4 组水分子补测,并由普通用户使用正式公共模板提交计算。
水分子 PBE 对照中,Libxc 与 VASP 内置实现有以下绝对总能量差:
| VASP 版本 | Libxc − 内置 PBE 总能量差 |
|---|---|
| 6.6.1 | −0.03531 meV |
| 6.5.1 | −0.03719 meV |
| 6.4.3 | −0.03718 meV |
| 6.4.2 | −0.03531 meV |
| 6.3.2 | −0.03531 meV |
这项绝对能量比较超出了原候选验收门槛,原始超差记录保留;随后增加了提高截断能和同一原子位移的补测,对应能量变化、受力和应力对照通过。比较不同构型的能量时,应保持同一 VASP 版本和同一泛函实现。 上述数据只对应实测体系,不能当作其他体系的误差上限。
5. 使用前需要确认的范围#
- 当前仅提供 CPU Libxc 分支。 VASP 的 GPU 端口不支持该接口,申请 GPU 不能让这些程序使用 GPU 加速。
- yskit 菜单4的分段能带尚未接入 Libxc。 检测到 Libxc SCF 时会提示并停止生成,不能交给普通 VASP 分支续算。参阅分段能带指南。
- VASP 5.4.4 原版没有通用 Libxc 接口。 官方接口从 6.3.0 起提供;5.4.4 的专用 r²SCAN 补丁与通用接口是不同功能,当前没有 5.4.4 Libxc 模块。
- 6.3.2 有版本限制。 依赖密度拉普拉斯的 meta-GGA 和 meta-GGA 杂化接口从 6.4.0 起提供。
- 功能分支分别选择。 当前 Libxc 构建保留 HDF5,没有组合 VTST、VASPsol、Wannier90 等其他扩展;代表性测试也不覆盖 Libxc 全部泛函或任意磁性、SOC、杂化及响应组合。
其他 VASP 分支见多版本与扩展功能支持,软件环境与提交方法见集群软件指南。