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里添加相应的参数即可。
如果你的目标只是“先跑起来一个最小的水溶液电解液模型”,可以从下面这个最小例子开始:
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++ 支持恒电势计算,也就是改变电子数而不是固定电子数。
在输入上,最核心的参数就是:
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标定值到底是多少