Ex76 过渡态任务的检查(一)

前面我们介绍了怎么准备过渡态计算的INCAR,POSCAR,POTCAR和POTCAR,这一节理所当然,就是要提交任务了。过渡态计算的时候,和大多数的计算是一样的:检查输入文件,准备好脚本,敲命令提交任务。所以,我们就在这三个方面展开,具体讨论一下里面的细节部分,避免不必要的出错,提高计算的成功率和效率。

心态

算过渡态的时候,要把自己想象成一个整装待命的狙击手,要熟悉自己的枪(VASP),周围的环境(影响计算的因素),以及狙杀的对象(计算的体系)。

也就是VASP的输入文件,开枪前,先检查一遍自己的枪有没有问题。

怎么检查呢?

大师兄本人的方法就是:不断在心里按着顺序默念:INCAR,KPOINTS,POSCAR,POTCAR。然后根据自己的经验检查并修改。这里你也许会说,大师兄,那是因为你有经验了啊,才能这么做,没有经验的我,该怎么办呢?

不要怕,我们下面慢慢分析。

INCAR

对于大多数的计算,影响计算时间的主要因素是KPOINTS,体系的大小,INCAR中关于收敛的参数。这三者紧密相连。而INCAR中的计算在粗算的这一个环节里面,对时间的影响不是很大。这给我们的启示就是:不管是粗算,还是后面提高精度的计算,我们使用同样的设置即可。大家一般来说的低高精度的计算,主要集中在EDIFF和EDIFFG这两个参数上。体系不是很特殊,EDIFF=1E-5; EDIFFG=-0.02 就足够了。完全没有必要再粗算的时候将它们的数值调大点或者调小点。如果可以这样思考的话,那我们就可以将INCAR的参数提前设置好,用的时候直接拿来就可以了。

想到了这一点,下面我们的任务就轻松了,可以写个脚本,直接敲个命令生成CI-NEB计算的INCAR。这里大师兄用的是另外一个办法:

1) 先准备好一个INCAR,里面肯定把CI-NEB计算的参数等乱七八糟的都写好了。

2)将INCAR放在一个固定的目录下面,比如:~/bin/INCAR_neb

3)提交任务前,将INCAR复制过来即可。

4)划重点:alias 的骚操作。

1
2
cp ~/bin/INCAR_neb INCAR 
alias neb='cp ~/bin/INCAR_neb INCAR'

这样的话,我们直接敲个命令,就可以得到INCAR文件了。

INCAR的检查:

前面的做法,并不代表我们就可以直接使用INCAR文件了。能不能直接用,取决于我们的具体计算细节。若INCAR中的参数与当前任务的不一致,或者缺少某些参数,我们就需要更新一下,主要有以下几个方面:

1) INCAR中默认的插点数目和实际不一致,记得更新。

2)若POSCAR中的结构有磁性,并且和INCAR中的不一致,记得更新;

3)如使用DFT-D2,INCAR中C6和R6的设置和POSCAR中的元素不一致,记得更新;

4)如使用DFT+U,INCAR中U和J的设置与POSCAR中的元素不一致,记得更新。

5)若计算的体系键能比较大,ISPRING这个参数可以稍微修改下,比如从-5调小到-8。

6)若发现slab体系粗算的时候,不怎么收敛,偶极校正取消一下。

KPOINTS的检查:

我们在粗算阶段,KPOINTS直接用gamma点即可。为了方便可以使用脚本kponits.sh 1 1 1 直接生成。也可以添加到我们的alias这个命令中:

1
alias neb='cp ~/bin/INCAR_neb INCAR && kpoints.sh 1 1 1 '

POTCAR 的检查:

可以使用我们前面的自动生成与POSCAR对应POTCAR的脚本:

1
cp 01/POSCAR . && pospot.sh && rm POSCAR 

为了方便,也可以直接将上面这句话添加到alias里面:

1
alias neb='cp ~/bin/INCAR_neb INCAR && kpoints.sh 1 1 1 && cp 01/POSCAR . && pospot.sh && rm POSCAR '

POSCAR的检查:

POSCAR被归结到枪这一部分,其实也是我们狙杀的对象。在粗算这部分的检查,需要注意的地方有:

1) 确保slab被固定住了;否则你算完会发现表面的原子都疯掉了。前面我们讲过怎么通过脚本或者sed命令批量固定了,就不再过多叙述。

2)使用p4v一次性打开所有的POSCAR文件:p4v 0*/POSCAR ; 这里大师兄也是用了alias

1
2
alias pp='p4v 0*/POSCAR'
alias ap='ase-gui 0*/POSCAR'

上面的2个操作都是在Linux下面的,p4v和ase-gui大家根据习惯随便选一款即可。

  • 使用p4vasp,然后挨个点IMAGE对应的POSCAR,检查结构对不对;

  • 使用ase-gui 将所有的文件全部打开后,摁键盘的PageUp和PageDown这2个键,类似于自己看一帧一帧的电影,体验也很棒。

  • 检查插点的时候,原子是不是乱套了,没有一一对应;
  • 检查我们插的点,是不是具有很好的化学或者物理意义,也就是预先评估下自己猜的这个路径靠不靠谱。

3) 使用Windows的用户先不用着急,大师兄正在学习VASPkit+VDM的骚操作。学会了下一节会及时更新,并提交过渡态的计算。

前面一节,我们提到说,在Ubuntu或者其他Linux系统下面,可以使用p4vasp或者ASE将结构批量打开,查看我们初步设置的NEB路径是否合理。但是在Windows系统下,我们不方便使用命令进行查看。这里介绍一下在Windows下面通过VASPkit结合VMD查看NEB路径结构的方法。

软件的获取:

vaspkit的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$ ls
00 01 02 03 04 05 06 07 08 09 INCAR KPOINTS NEB.pdb POTCAR
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$ rm NEB.pdb
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$ ls
00 01 02 03 04 05 06 07 08 09 INCAR KPOINTS POTCAR
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$ vaspkit

+---------------------------------------------------------------+
| VASPKIT Version: 0.71 (16 Nov. 2018) |
| A Pre- and Post-Processing Program for VASP Code |
| Official Website: http://vaspkit.sourceforge.net |

*
*
*
*
0) Quit
------------>>
5
==================== Catalysis-ElectroChem Kit ==================
501) Thermal Corrections for Adsorbate
502) Thermal Corrections for Gas
503) d-Band Center (experimental)
504) Convert NEB-Path to PDB Format for Animation

0) Quit
9) Back
------------>>
504
+-------------------------- Warm Tips --------------------------+
See An Example in vaspkit/examples/neb_animation.
+---------------------------------------------------------------+
-->> (1) Reading Structural Parameters from 00/POSCAR File...
+---------------------------------------------------------------+
*
*
*
+---------------------------------------------------------------+
| Selective Dynamics is Activated! |
+---------------------------------------------------------------+
-->> (*) Reading Structural Parameters from 09/POSCAR File...
+---------------------------------------------------------------+
| Selective Dynamics is Activated! |
+---------------------------------------------------------------+
+---------------------------------------------------------------+
| * DISCLAIMER * |
| CHECK Your Results for Consistency if Necessary |
| Bug Reports and Suggestions for Improvements Are Welcome |
| Citation of VASPKIT Is Not Mandatory BUT Would Be Appreciated |
| (^.^) GOOD LUCK (^.^) |
+---------------------------------------------------------------+
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$ ls
00 01 02 03 04 05 06 07 08 09 INCAR KPOINTS NEB.pdb POTCAR
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$
iciq-lq@ln3:/THFS/home/iciq-lq/demo_neb$

  • 在终端输入:vaspkit
  • 输入:5 后回车
  • 输入:504 后回车
  • 然后你会得到一个NEB.pdb文件。
  • pdb文件包含了00到09这几个文件夹中POSCAR的结构信息,用以VMD进行 查看。

VMD 查看pdb文件

使用VMD查看pdb的方法,我们将VASPkit中的具体说明拿过来展示一下:

  • Windows系统中启动VMD程序
  • 将我们在服务器中生成的NEB.pdb文件下载到本地,然后拖到VMD的界面
  • VMD主窗口选择菜单 Display —> Orthographic 正交显示模式
  • VMD主窗口选择菜单Graphics —> Representations —> Drawing Methods 选择 CPK
  • 默认是不显示盒子边界的,在VMD主窗口选择菜单 Extensions ,选择 Tk Console , 在弹出的VMD TkConsole 窗口中输入 pbc box -color white ,然后回车,查看模型结构。
  • 点界面的右下角的箭头后,你可以看到我们初步猜测的NEB路径中原子快速动起来了。箭头左面有个speed,我们可以调节原子的速度。
  • VMD主窗口选择菜单 Mouse —> Label —> 2, 然后去模型界面上,点与NEB路径中最相关的2个原子,就可以查看NEB路径中,原子间距离随着IMAGE结构的变化了。

总结

Windows下的用户,在做过渡态计算的时候,可视化是一个痛点,通常来说,Images中的结构都只能一个一个打开查看,计算的时候不能很好地体会一个反应的发生路径。使用VASPkit则可以顺利地解决这个问题,这个功能更详细的说明,请参考VASPkit的使用手册。当然,这个方法也适用于Linux操作系统下VASPkit + VMD的操作。此外,大师兄还是建议大家有余力的时候多多接触类似于Ubuntu,Centos这样的Linux操作系统。