VASP 专题

CP-VASP短程MD与溶剂切换

从完整INCAR、有效速度格式到NEADJUST与LSOLOFF,读取真实的短程电子数更新记录。

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

下载参数实例、输入和真实轨迹数值(ZIP)。

unzip cpvasp-dynamics-parameters-wave254-*.zip
cd cpvasp-wave254
bash run.sh

bash run.sh读取已完成的集群计算数值摘录,生成CSV和三张图,不启动新的VASP计算。自己运行时再按下文复制输入、准备合法POTCAR和通过Slurm提交。

1 准备短MD输入#

cp -r inputs/md work

下面是方案5的完整INCAR。Cu₄晶胞保持固定;离子使用NVE积分,起始温度300 K;电子温控器也是300 K,但它与离子温控是两套概念。

SYSTEM = Cu111 continuum electrolyte cu-neutral
ENCUT = 550
PREC = Accurate
EDIFF = 1E-6
NELM = 240
ALGO = Normal
ISMEAR = 0
SIGMA = 0.1
ISYM = 0
LREAL = .FALSE.
NCORE = 1
NBANDS = 40
AMIX = 0.1
BMIX = 0.0001
LSOL = .TRUE.
NELECT = 44
LCEP = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
FERMICONVERGE = 0.001
NESCHEME = 5
INIT_ECHANGE = 0.001
ECHANGE_MAX = 0.005
CAP_MAX = 0.15
NEADJUST = 1
LSOLOFF = .FALSE.
ISOL = 2
C_MOLAR = 1.0
R_ION = 2.0
EFERMI_ref = 0.0
EDIFFSOL = 1E-8
IBRION = 0
NSW = 6
POTIM = 0.25
TEBEG = 300
TEEND = 300
SMASS = -3
ISIF = 2
TARGETMU = -4.903
Mne = 100
Vne = 0.001
T_eta = 300
M_eta = 2.1
eta_length = 3

POTIM=0.25的单位是fs,NSW=6只展示六个离子步。SMASS=-3是本例的离子NVE设置;T_eta、M_eta、eta_length控制方案5的电子温控链,不会自动把离子也变成NVT系综。

POSCAR:只给原子位置,由TEBEG初始化速度

Cu
 1.0000000000000000
     2.5667976157071677    0.0000000000000000    0.0000000000000000
     1.2833988078535838    2.2229119415757337    0.0000000000000000
     0.0000000000000000    0.0000000000000000   22.2873444314750273
 Cu 
   4
Direct
  0.0000000000000000  0.0000000000000000  0.3589481027942521
  0.3333333333333334  0.3333333333333333  0.4529827009314173
 -0.3333333333333333  0.6666666666666666  0.5470172990685827
  0.0000000000000000  0.0000000000000000  0.6410518972057478

KPOINTS

Gamma mesh
0
Gamma
7 7 1
0 0 0

2 提交并检查实际记录#

按Cu元素准备本人有权使用的PAW_PBE POTCAR,然后:

cd work
module load vaspkit/1.5.1
vaspkit -task 103
sbatch submit.sh
grep "EDIFF is reached" OUTCAR | tail
grep "CPM-ion" stdout.log

应使用CPU队列和专用CP-VASP模块。每轮电子自洽仍按 EDIFF=1E-6;方案4/5的瞬时化学势允许波动,不能照搬静态方案的逐点误差判断。六步太短,既不能求扩散系数,也不能验证温度分布或反应速率。

实际短轨迹中的电子数控制

3 需要相同初速度时怎样写#

未提供速度时,原生程序按初始温度生成随机离子速度,每次轨迹可能不同。附件 inputs/fixed-vel 是实际运行过的给定速度例,结构坐标后紧接 Cartesian 速度头:

Cu
 1.0000000000000000
     2.5667976157071677    0.0000000000000000    0.0000000000000000
     1.2833988078535838    2.2229119415757337    0.0000000000000000
     0.0000000000000000    0.0000000000000000   22.2873444314750273
 Cu 
   4
Direct
  0.0000000000000000  0.0000000000000000  0.3589481027942521
  0.3333333333333334  0.3333333333333333  0.4529827009314173
 -0.3333333333333333  0.6666666666666666  0.5470172990685827
  0.0000000000000000  0.0000000000000000  0.6410518972057478
Cartesian
0.001 0 0.001
-0.001 0 -0.001
0 0.001 -0.001
0 -0.001 0.001

速度单位为Å/fs。不要在这个Cartesian速度头之前再加一个空行;空行本身也会被当作速度坐标模式行,额外的第二个头可能使速度块没有被正确读取。文件格式可参考VASP POSCAR说明。需要随机初始化的简单例子只保留原子位置即可。

4 每两步调整电子数与切换溶剂#

在附件根目录用另一份实际输入:

cp -r inputs/flash work-flash

相对于简单MD,关键设置为:

NESCHEME = 1
NEADJUST = 2
LSOLOFF = .TRUE.
NSW = 6

本例在第 1、2、4、6步记录电子数调整;第3、5步没有新的电势调整记录。LSOLOFF=.TRUE.时,在用隐式溶剂确定电势后,额外关闭隐式溶剂计算力。这会改变实际力的计算方式,不能把它和始终保留连续介质溶剂的轨迹混成同一种能量或力。

cd work-flash
module load vaspkit/1.5.1
vaspkit -task 103
sbatch submit.sh
grep "CPM-ion" stdout.log

本组没有显式水,因而这里只展示开关流程,不把它当作已验证“显式水飞离界面”现象的修复案例。

5 提取自己的电子数轨迹#

回到附件根目录:

python extract.py work
python extract.py work-flash

各目录得到 CP-electrons.csv,包含步号、实际电子数、目标和最终电子化学势、电子能量及显式电子库修正。NEADJUST=2时CSV只含实际发生电子数调整的步,不会为中间步编造化学势或插值补点。

本构建动态方案的能量参照处理

需要固定几何或优化后反应能比较时,优先参考静态目标电势扫描和吸附能差;短程动态演示不能代替那些静态、同参照的能量计算。

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

查看配图

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

100%查看原图 ↗