View Categories

输入文件-POTCAR

POTCAR 文件 #

一、作用与赝势类型 #

POTCAR 是指赝势文件(pseudopotential),它描述了每个元素的原子核与内层电子对价电子的等效作用,是 VASP 计算中决定精度与效率的关键输入文件之一。按类型可分为 LDA(local density approximation,局域密度近似)和 GGA(generalized gradient approximation,广义梯度近似),其中 GGA 又分为 PBE(Perdew-Burke-Ernzerhof)和 PW91(Perdew-Wang 91)等,目前主流的计算一般都使用 PBE 赝势。

从实现方式上,VASP 赝势主要分为两类:

  • PAW(Projector Augmented Wave,投影缀加波):当前最主流、精度最高的方法,VASP 默认推荐,POTCAR 文件名以 PAW_PBE 开头。
  • USPP(Ultrasoft Pseudopotential,超软赝势):计算速度较快,但精度略低于 PAW,旧版本常用。

在 POTCAR 文件夹中,可以看到各个元素对应的 POTCAR 文件(按元素符号分目录存放)。选择赝势时,如果没有特别的需求,直接采用 VASP 官网推荐的赝势即可(https://www.vasp.at/wiki/index.php/Available_pseudopotentials)。依次点击Standard potentials → List of PBE potentials,在列表中,加粗的是 VASP 推荐的赝势。

二、POTCAR 文件内容解读 #

我们以 O 的 PBE 赝势文件为例,其内容为:

PAW_PBE O 08Apr2002
6.00000000000000
parameters from PSCTR are:
SHA256 = 818f92134a0a090dccd8ba1447fa70422a3b330e708bb4f08108d8ae51209ddf O/POTCAR
COPYR = (c) Copyright 08Apr2002 Georg Kresse
COPYR = This file is part of the software VASP. Any use, copying, and all other rights are regulated by the VASP license agreement.
COPYR = If you do not have a valid VASP license, you may not use, copy or distribute this file.
VRHFIN =O: s2p4
LEXCH = PE
EATOM = 432.3788 eV, 31.7789 Ry
TITEL = PAW_PBE O 08Apr2002
LULTRA = F use ultrasoft PP ?
IUNSCR = 1 unscreen: 0-lin 1-nonlin 2-no
RPACOR = 1.200 partial core radius
POMASS = 16.000; ZVAL = 6.000 mass and valenz
RCORE = 1.520 outmost cutoff radius
RWIGS = 1.550; RWIGS = 0.820 wigner-seitz radius (au A)
ENMAX = 400.000; ENMIN = 300.000 eV
ICORE = 2 local potential
LCOR = T correct aug charges
LPAW = T paw PP
EAUG = 605.392
DEXC = 0.000
RMAX = 1.553 core radius for proj-oper
RAUG = 1.300 factor for augmentation sphere
RDEP = 1.550 radius for radial grids
RDEPT = 1.329 core radius for aug-charge
……(后面的数值部分太长省略不写了,感兴趣的可以自己打开一个 POTCAR 文件看一下)

其中关键字段的含义:

  • VRHFIN:该元素的价电子排布(如 O: s2p4 表示 O 的价电子构型为 2s²2p⁴)。
  • LEXCH:交换关联泛函类型,PE 表示该 POTCAR 对应的是 GGA-PBE 泛函(91 对应 PW91,CA 对应 LDA)。
  • TITEL:元素名称以及 POTCAR 的发布(生成)时间,如 PAW_PBE O 08Apr2002。
  • POMASS:原子质量。
  • ZVAL:该元素 POTCAR 中价电子的数目(如 O 为 6)。
  • ENMAX / ENMIN:该赝势推荐的最大/最小平面波截断能(eV),与 INCAR 中的 ENCUT 直接相关——ENCUT 一般取 ENMAX 的 1.2~1.5 倍,且不能小于 ENMAX。
  • RWIGS:Wigner-Seitz 半径,用于 Bader 电荷分析等后处理。
  • LPAW / LULTRA:标识该赝势为 PAW 还是超软赝势。

注意:POTCAR 中所有元素(以及元素的顺序)必须与 POSCAR 严格一致。

三、POTCAR 不同后缀的含义与选择 #

POTCAR 文件名中常见后缀的含义:

  • _GW:与 GW 计算对应的 POTCAR(专为 GW 计算优化的赝势,通常需要更高的截断能)。
  • _pv:v 是 valence(价)的缩写,pv 代表把内层的 p 电子也作为价电子来处理(适用于 3d/4d 过渡金属等体系,如 Ti_pv、Sc_pv)。
  • _sv:sv 代表把更内层的 s 电子也作为价电子来处理(适用于碱金属、碱土金属等,如 K_sv、Ca_sv)。
  • _d:把内层 d 轨道考虑到价电子层里面(如 Y_d、Zr_d,适用于含 d 电子的重元素)。
  • _h:hard(硬)的缩写,带 h 的 POTCAR 中截断能比普通的要高很多(如 H_h),精度更高但计算更慢。
  • _s:soft(软)的缩写,带 s 的 POTCAR 中截断能比普通的要低很多(如 H_s),计算更快但精度略低。

选择原则:

  1. 如果没有特别的需求,直接采用 VASP 官网推荐的赝势即可(Standard potentials → List of PBE potentials 中加粗的条目)。
  2. 对于过渡金属、稀土等强关联体系,若默认赝势的价电子数不足(如需要包含半芯态),应选用 _pv、_sv、_d 等包含更多价电子的赝势。
  3. GW 计算应使用 _GW 赝势(如果对应元素有该版本)。
  4. 同一计算中所有元素应使用同一套赝势(同属 PAW_PBE 系列),且注意 ENCUT 应取所有元素 ENMAX 中的最大值再乘 1.2~1.5 倍。
  5. 检查所选赝势的价电子数是否符合物理预期(如 O 为 6、H 为 1、Fe 为 8 或 14/16 取决于版本),可在 OUTCAR 中核对。

四、如何准备 POTCAR 文件 #

准备 POTCAR 前,首先要知道,POTCAR 文件中元素(包括元素的顺序)要和 POSCAR 中严格一致。例如,POSCAR 第 6 行是 C H O,那么我们就需要准备对应的 C、H、O 元素的 POTCAR,将这三个 POTCAR 文件组合成一个新的文件,命名为 POTCAR。

如果 POTCAR 和 POSCAR 中元素的数量不对应,运行 VASP 会直接报错;如果 POTCAR 和 POSCAR 中元素的顺序不对应(比如 POSCAR 是 C H O,但 POTCAR 准备成了 C O H),此时运行 VASP,实际上 VASP 是将结构里的 H 当作 O 来计算、O 当作 H 来计算的,也就是说,以 POTCAR 为准!

但是也不必过于担心,只要你每次计算都细心地去读 VASP 的输出,其实在计算刚开始的时候 VASP 就会提醒你 POTCAR 文件的错误:

WARNING: type information on POSCAR and POTCAR are incompatible
POTCAR overwrites the type information in POSCAR
typ 1 type information: H O
WARNING: type information on POSCAR and POTCAR are incompatible
POTCAR overwrites the type information in POSCAR
typ 2 type information: O H

方法一:利用 cat 命令生成 POTCAR 文件 #

(提前准备好所需的 POTCAR 文件或者知道 POTCAR 文件的绝对路径都可以)

如果在计算文件夹里提前准备好所需的 POTCAR 文件,并且重命名好了,比如 POTCAR-C、POTCAR-H、POTCAR-O,那么就可以:

cat POTCAR-C POTCAR-H POTCAR-O > POTCAR

如果知道 POTCAR 文件的绝对路径,假如都在 /home/user/POTCAR/PBE 路径下:

cat /home/user/POTCAR/PBE/C/POTCAR /home/user/POTCAR/PBE/H/POTCAR /home/user/POTCAR/PBE/O/POTCAR > POTCAR

方法二:利用工具直接生成 POTCAR #

这种方法一般都需要提前在所需工具的配置文件中写好 POTCAR 的路径。

  • 鸢算科技HPC集群:直接在有 POSCAR 的路径下使用 potcar 命令即可自动生成 PBE 的 POTCAR。
  • VASPKIT:配置好 ~/.vaspkit 中的 POTCAR 路径和类型后,使用 vaspkit – 回车 – 103 – 回车 即可生成 POTCAR。
  • 其他工具:pymatgen 的 PMgPotcarSingle、ASE 的 get_potcar 等也可按元素自动拼接生成 POTCAR。

验证 POTCAR 是否正确 #

生成后建议用以下方式验证:

  1. 检查文件行数:wc -l POTCAR,正常包含 N 个元素时会有 N 个 TITEL 行。
  2. 检查元素顺序:grep TITEL POTCAR,输出的元素顺序应与 POSCAR 第 6 行一致。
  3. 运行 VASP 后查看 OUTCAR 开头的 VRHFIN 列表,核对每个元素的价电子配置。

五、常见问题与注意事项 #

  1. 元素顺序必须与 POSCAR 一致:这是最常出错的点。VASP 以 POTCAR 为准覆盖 POSCAR 的类型信息,顺序不一致会导致元素张冠李戴(但通常有 WARNING 提示,注意查看输出)。
  2. 元素数量不一致:POTCAR 中元素种类数不等于 POSCAR 第 6 行元素数时会直接报错,无法运行。
  3. ENCUT 与 ENMAX:INCAR 中的 ENCUT 一般取所有元素 ENMAX 的最大值(再乘 1.2~1.5 倍,自己做收敛性测试),不要低于任何元素的 ENMAX。
  4. 泛函一致性:同一计算中所有元素的 POTCAR 必须使用同一泛函版本(如全部为 PAW_PBE),不能混用 LDA 与 GGA 赝势。
  5. 后缀选择:默认推荐使用官网加粗的赝势;特殊体系(过渡金属、碱金属、GW 计算)按需选择 _pv、_sv、_d、_GW 等版本。
  6. POTCAR 是文本文件:与 INCAR 一样注意不要用 Windows 记事本编辑(避免 CRLF 与编码问题),拼接用 Linux 的 cat 命令。
  7. 截断能测试:更换赝势(如从普通版本换为 _pv 版本)后,应重新做 ENCUT 收敛性测试。
  8. 磁矩核对:OUTCAR 中会输出每个元素的价电子数(NELECT),与 ZVAL 之和核对,可快速发现赝势拼接错误。