3.4 Vaspsol++

1. Vaspsol++ 是什么

Vaspsol++ 是一个在 VASP 中加入连续介质流体模型的框架。

你可以先把它粗略理解成:

  • 普通 VASP:默认是真空里的电子结构计算
  • VASPsol:给 VASP 加上线性局域的隐式溶剂模型
  • Vaspsol++:在 VASPsol 基础上进一步支持更复杂的非线性、非局域电解液模型

它适合以下场景:

  • 在 VASP 中考虑隐式溶剂
  • 做恒电势而不是恒电子数的计算

Vaspsol++ 不是普通 VASP 的“随便加一个修正项”,而是把溶剂和电解液响应真正纳入了自洽计算。

什么时候考虑使用 Vaspsol++,比较典型的情况是:

  • 研究电催化或电化学界面
  • 体系有净电荷,真空计算很难直接解释
  • 你关心的是电势控制下的行为,而不是固定电子数下的行为

如果你只是做最普通的中性 slab 吸附、结构优化、能带或 DOS,且不想引入溶剂和电解液,那么普通 VASP 就够了。

另外,Vaspsol++ 不是 Vasp 官方的代码,因此需要额外 patch 源代码重新编译。beginner 不需要知道怎么编译,但要知道不是每个 vasp 可执行文件都支持。

2. 最小使用案例

使用起来还是比较简单,在INCAR里添加相应的参数即可。

如果你的目标只是“先跑起来一个最小的水溶液电解液模型”,可以从下面这个最小例子开始:

text
LSOL = .TRUE.
LSOL_SCF = .TRUE.
ISOL = 2

C_MOLAR = 1.0
R_ION = 4.0
EFERMI_ref = -4.57

你可以先把它理解成:

  • LSOL = .TRUE.:打开隐式溶剂

  • LSOL_SCF = .TRUE.:让溶剂响应进入自洽过程

  • ISOL = 2:使用 Vaspsol++ 的 nonlinear + nonlocal 模型 ISOL = 1:原始 VASPsol 的线性局域模型

  • C_MOLAR = 1.0:电解液浓度设为 1 mol/L

  • R_ION = 4.0:离子半径设为 4 Å

  • EFERMI_ref = -4.57:做恒电势计算时给定电子化学势

  • 默认参数已经对应 298 K 的纯水

  • 真正要补充指定的,通常就是电解液浓度 C_MOLAR

  • 以及离子半径 R_ION

9. 恒电势计算最先要知道什么

Vaspsol++ 支持恒电势计算,也就是改变电子数而不是固定电子数。

在输入上,最核心的参数就是:

text
EFERMI_ref

可以先这样理解:

  • EFERMI_ref = 0:默认,不做恒电势
  • EFERMI_ref < 0:执行恒电势计算

但这里有一个非常重要的前提:

只有当电解液里存在 ionic screening 时,恒电势才有明确参考意义。

所以文档特别强调:

  • C_MOLAR > 0 时,Fermi level 才能相对于真空被合理定义

如果没有离子 screening,只写 EFERMI_ref 并不够。

10. EFERMI_ref = -4.57 eV 是什么含义

在你给的文档里,这个值对应的是:

  • 默认水参数
  • BEEF-vdW 泛函
  • 作者给出的 SHE 标定结果

所以一定不要把这个数当作“任何体系都通用”的常数。

更准确地说,它只是:

在一套特定泛函和溶剂参数下,作者给出的一个示例值。

如果你以后做正式工作,应该先搞清楚:

  • 你用的是什么泛函
  • 你的溶剂参数是什么
  • 你的 SHE 标定值到底是多少