Libxc专题

Libxc实操:Si与水分子的VASP计算

完整输入、提交命令、内置与Libxc PBE的真实能量和受力对照。

更新于 2026-10-27约 4 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载输入、C程序、真实结果与绘图脚本。

1 先选择计算程序,再选择泛函#

Libxc提供交换关联泛函及其导数,本身不负责结构优化、赝势、基组或自洽迭代。普通VASP用户通过INCAR调用即可,不需要自己编译C程序。鸢算科技的VASP 6.6.1、6.5.1、6.4.3、6.4.2、6.3.2均有独立CPU Libxc分支;编译环境为Intel oneAPI 2024.2、Intel MPI、MKL、Libxc 7.1.2和HDF5 1.14.6。版本入口见VASP Libxc使用指南。

本篇使用已经在集群CPU节点实际完成的VASP 6.6.1结果。下载包中的Si是略微扰动的2原子晶胞,便于同时观察能量、非零受力和应力;水分子放在8 Å立方盒中。这些是方法使用例,不是收敛后的材料基准值。

实际Si扰动晶胞和水分子结构

2 复制Si输入并准备赝势#

cp -r vasp/si-libxc-pbe my-si
cd my-si
cat POSCAR
cat KPOINTS

POSCAR完整内容:

Libxc validation si
1.0
0.00000000000000 2.71500000000000 2.74200000000000
2.70000000000000 0.00000000000000 2.71500000000000
2.71500000000000 2.69000000000000 0.00000000000000
Si
2
Direct
0.00000000000000 0.00000000000000 0.00000000000000
0.26300000000000 0.24600000000000 0.25400000000000

KPOINTS完整内容:

Validation mesh
0
Gamma
2 2 2
0 0 0

使用你有权使用的匹配Si PAW赝势生成POTCAR;下载包不分发POTCAR。对照两种泛函实现时必须使用同一个POTCAR。下列INCAR来自真实计算,历史对照使用较严格的EDIFF=1E-10;普通流程可先使用1E-6,再按目标精度测试。

SYSTEM = si-libxc-pbe
ENCUT = 600
PREC = Accurate
EDIFF = 1E-10
NELM = 250
ALGO = Normal
ISMEAR = 0
SIGMA = 0.05
IBRION = -1
NSW = 0
ISIF = 3
ISYM = -1
LREAL = .FALSE.
LASPH = .TRUE.
ADDGRID = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
LH5 = .TRUE.
ISTART = 0
ICHARG = 2
NBANDS = 24
NCORE = 1
KPAR = 1
GGA = LIBXC
LIBXC1 = GGA_X_PBE
LIBXC2 = GGA_C_PBE

3 提交、检查和读取能量#

yskit
# 复制Slurm脚本 → VASP → Libxc泛函库(CPU)→ 6.6.1
sbatch sub_vasp_6.6.1_8173m.sh
# 等作业结束后
grep -E "Libxc|GGA_X_PBE|GGA_C_PBE" OUTCAR
grep "free  energy   TOTEN" OUTCAR | tail -1
tail -20 OUTCAR

脚本名称以yskit实际复制的文件为准。确认电子收敛与正常结束,再读取能量,不能只凭OUTCAR文件存在判断计算完成。此分支按CPU资源提交,不能直接把P100模板改名当作Libxc GPU版。

Si本例内置PBE的总能量为-8.26157292 eV,Libxc PBE为-8.26157327 eV。对照时复制一个新的目录,把GGA=LIBXC改为GGA=PE并删除LIBXC1、LIBXC2,保持其他输入一致。

4 水分子怎样照着做#

cd ..
cp -r vasp/water-libxc my-water
cd my-water
cat POSCAR
cat KPOINTS
yskit

若你刚从my-si返回,当前目录应是下载包根目录。水分子POSCAR为:

Libxc validation water
1.0
8.00000000000000 0.00000000000000 0.00000000000000
0.00000000000000 8.00000000000000 0.00000000000000
0.00000000000000 0.00000000000000 8.00000000000000
O H
1 2
Direct
0.50000000000000 0.50000000000000 0.50000000000000
0.59800000000000 0.50200000000000 0.56500000000000
0.40700000000000 0.50000000000000 0.56000000000000

根据POSCAR中的元素顺序准备O/H赝势并复制CPU脚本。水分子使用Γ点,完整INCAR和KPOINTS均在下载包。内置PBE与Libxc PBE分别得到-13.96917719和-13.96921250 eV。本例总能量差约−0.03531 meV,最大力分量差约9×10⁻⁶ eV/Å。这个微小但可测的绝对能量偏移提醒我们:反应能、吸附能等应保持同一实现,不能将两种路线的绝对能量混合相减。

Si、水分子、Fe的内置与Libxc结果对照

5 自己提取并画图#

module load py4vasp/0.11.3
python plots.py

绘图脚本读取下载包的vasp/results.json,生成figures/host-comparison.png。图中不同材料的能量差单位为meV/晶胞,并未跨材料比较总能量大小。做自己的研究时,仍需分别检查截断能、k点、真空层和结构收敛。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗