VASPsol++专题

VASPsol++恒电势实操

用Cu(111)固定几何演示电子数外循环,给出完整INCAR、两目标化学势和逐步收敛结果。

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

本专题用鸢算科技集群实际计算的H₂O、H₃O⁺与Cu(111)小模型,示范VASPsol++的非线性、非局域电解质和恒电势操作。使用 vasp/6.3.2-8173m-vtst-sol++ 的 vasp_std,原构建采用Intel ifort / oneAPI 2023.2和AVX-512,当前模块提供oneAPI 2024.2运行环境。它是CPU扩展构建,不能把其他版本VASP GPU的模块直接替换进本教程。

下载完整输入、数据、9张图和提取脚本,保存为 vaspsol-plus.zip:

python3 -m zipfile -e vaspsol-plus.zip .
cd vaspsol-plus-practical-wave283
bash preview.sh
ls preview/figures

examples/保存48个实际条件的INCAR、POSCAR和KPOINTS,reference/是相应数值表;预览只读取这些数值,不重新计算。POTCAR和VASP程序需使用您自己的授权资源。新的DFT任务通过Slurm提交。

1 固定电子数与固定电势有什么区别#

普通单点指定电子数,在SCF中求电子密度;恒电势计算还要调整电子数,使费米能接近指定电子化学势。这里使用两个目标:−4.6441和−4.1441 eV,来自本例中性Cu表面的费米能附近±0.25 eV,没有标定到SHE,不能直接把它们称为相对SHE的电极电压。

实际Cu8、吸附H与H₂参照结构

Cu(111)为8个Cu、2层有限薄板,吸附模型增加一个顶位H。前置结构准备使用PBE、450 eV、3×3×1电子网格,吸附H最后最大自由方向力约0.00483 eV/Å。下面的恒电势扫描冻结所有原子,研究的是同一几何的充电响应,不是重新优化每个电势下的吸附结构。

2 准备能真正调整电子数的外循环#

本构建的电荷更新位于离子外循环中;仅设置 EFERMI_ref却保留 NSW=0,不会完成这里需要的电子数外循环。全冻结结构也不要照搬共轭梯度零步长迭代。本例用阻尼外循环:

SYSTEM=Cu111-clean-mu-high
ENCUT=450
PREC=Accurate
EDIFF=1E-6
NELECT=88
NBANDS=64
ISPIN=1
ISMEAR=0
SIGMA=0.05
ALGO=Normal
NELM=180
IBRION=3
NSW=80
ISYM=0
LREAL=.FALSE.
LASPH=.TRUE.
LWAVE=.TRUE.
LCHARG=.FALSE.
LVHAR=.TRUE.
LSOL=.TRUE.
LSOL_SCF=.TRUE.
ISOL=2
C_MOLAR=1
R_ION=4
EFERMI_ref=-4.1441
EFERMI_tol=0.0001
capacitance_init=0.45
SMASS=2
EDIFFG=-0.02
ISIF=2
POTIM=0.1
ISTART=1
ICHARG=0

IBRION=3、SMASS=2、NSW=80保留外循环;原子在POSCAR中全部标为 F F F。因此即使允许最多80步,核坐标也不会移动,外循环用于达到目标化学势。EDIFFG=-0.02不是恒电势精度,真正控制目标误差的是 EFERMI_tol=0.0001 eV。

C_MOLAR=1提供离子屏蔽,EFERMI_ref<0启动此扩展的恒电势模式;capacitance_init是电子数更新的初始电容估计,单位e/V,本例使用1.0或0.45,不是材料已经测定的电容。

POSCAR:

Cu                                      
   1.00000000000000     
     5.1335952314143354    0.0000000000000000    0.0000000000000000
     0.0000000000000000    4.4458238831514674    0.0000000000000000
     0.0000000000000000    0.0000000000000000   26.0957814771583401
   Cu
     8
Selective dynamics
Direct
0.0000000000000000 0.3333333333333357 0.4598444392440797 F F F
0.5000000000000000 0.3333333333333357 0.4598444392440797 F F F
0.2500000000000000 0.8333333333333357 0.4598444392440797 F F F
0.7500000000000000 0.8333333333333357 0.4598444392440797 F F F
0.0000000000000000 0.0000000000000000 0.5401555607559203 F F F
0.5000000000000000 0.0000000000000000 0.5401555607559203 F F F
0.2500000000000000 0.5000000000000000 0.5401555607559203 F F F
0.7500000000000000 0.5000000000000000 0.5401555607559203 F F F

KPOINTS:

Referenceelectronicmesh
0
Gamma
3 3 1
0 0 0

3 提交并观察外循环#

先做同几何、中性固定电子数的1 M参照,保留其WAVECAR用于续算。随后复制相应恒电势输入:

cp -r examples/constant-potential-damped-rest/Cu111-clean-mu-high clean-high
cp submit.sh clean-high/
cp neutral-clean/WAVECAR clean-high/
cp neutral-clean/POTCAR clean-high/
cd clean-high
sbatch submit.sh
grep 'new NELECT' OUTCAR
grep 'EFERMI =' OUTCAR | tail

上面 neutral-clean指您自己已经完成的参照目录,可用 examples/extensions-stack-recovery/Cu111-clean-1M准备。若没有可匹配的WAVECAR,先完成参照;不要把来自不同结构、网格或势文件的波函数直接拼进来。

4 本例实际结果#

表面 目标μ / eV 最终μ / eV 最终NELECT 外循环次数
Cu8 −4.6441 −4.64401976 87.88377050 11
Cu8 −4.1441 −4.14417538 88.08919189 8
Cu8+H −4.6441 −4.64405374 89.00544746 7
Cu8+H −4.1441 −4.14411935 89.14750258 6

四个条件的实际外循环误差

这些次数只描述本例。正式研究还需要测试表面层数、横向尺寸、真空、k点、位点与溶剂参数。

下一篇吸附能参照解释为什么恒电势输出不能再重复减一次qμ。

5 提取本例的化学势与电子数#

head reference/constant-potential.csv
cat reference/constant-potential-iterations.csv

第一张表比较最终化学势、电子数与外循环次数;第二张表保存逐步误差。若已完成全部同结构输出目录,可用 bash prepare.sh ./raw 和 bash extract.sh重新提取,不需要为了画图再做电子计算。

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

查看配图

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

100%查看原图 ↗