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的骚操作。学会了下一节会及时更新,并提交过渡态的计算。