前言
本文中,我们首先介绍如何使用NEB方法搜索过渡态,以及在NEB的结果的基础上,进一步提高精度优化出高精度、可验证的过渡态。本文以MoS2的一维条带(其中一个Mo原子被Co替代掺杂)为例进行演示。
一般来说,这种反应,周期性结构为闭壳层结构(电子数为偶数),但下文中的单胞电子个数为奇数,所以实际上应该至少用二倍大的超胞,与一个H2分子反应。但这里为了节省计算量,仅仅为了演示过渡态搜索的过程,因此忽略这一点带来的影响。
对于二维体系,BAND的效率高于同等精度的平面波程序,而一维体系比二维体系效率更高,几乎接近非周期性体系的计算效率。本文以一维材料为例演示计算过程,二维、三维材料过程完全类似。
另外,BAND可以处理真正的一、二维模型,一维材料(周期性设置为Main > Periodicity > Chain)外围为无限大真空,二维材料(周期性设置为Main > Periodicity > Slab)上下表面外,均为半无限大的真空,均无需人为添加“真空层”。
需要注意的是:BAND也可以像平面波方法那样,使用三维周期性边界条件,通过添加真空层来建立一、二维模型,但这既增大了计算量,又降低了精度。
模型
我们使用文献(Journal of Molecular Catalysis A: Chemical, 163, 2000, 117–122)中的结构(这里我们自行优化过)。
反应物结构下载(已优化)
产物结构下载(已优化)
下载结构可通过下方 获取。
NEB参数设置
打开Input窗口,并切换到BAND模块,Task选择NEB,并点击后面的 “>” 按钮:
注意:
Initial System对应上面的反应物结构,Final System对应产物结构,选择了这两项后,Input窗口左边底部就多了两个切换按钮,可以分别把两个结构粘贴到Initial、Final两个窗口里面(如下图所示)。
Number of Image,表示从反应物到产物之间,计算20个过渡结构,找到过渡态的大致区间。这个值实际上可以设置的更小一些,例如10,这样计算量小一半
Optimize reactants/products,本例中这里实际上可以不勾选,因为反应物和产物已经优化过了。
基组的设置,参考:BAND如何选择基组
固定不参加反应的原子(选中原子后,点击“fix positions”前面的+)
降低收敛标准(NEB过程,尤其是第一次的NEB过程,并不需要严格收敛。这样可以降低计算量,而不影响最终精度):
保存任务之后,我们需要修改*.run文件中的优化算法的最大步长,避免能量振荡:
也就是增加了Quasi-Newton字段,TrustRadius 0.02表示优化过程中,原子每一次最大位移不超过0.02。用户可以酌情调大,但默认值就过大了。
保存*.run文件,并运行任务。
第一次NEB的结果
SCM - Movie - View - Accepted Geometries Only(只显示收敛的点)
其中红色曲线是能量变化曲线,可以看到从反应物到产物,能量逐渐升高、降低的过程。
第二次NEB计算
将能量变化曲线接近顶部,偏左侧一些的结构,File - Save Geometry,保存作为第二次NEB计算的“反应物”,顶部偏右侧一些的结构保存,作为第二次NEB的“产物”。换句话说,缩短NEB的范围,再次进行计算。
第二次计算,与前面大同小异。仅仅需要注意:
Initial结构、Final结构要使用新的
Optimize reactants/products选项,绝对不可以勾选,否则会变成与第一次NEB一样的结果,浪费时间
因为范围缩短了,因此Number of Image也不需要那么多了,往往10个以内就可以了
同样一定要注意在*.run文件中修改最大步长
第二次NEB的结果
SCM - Movie - View - Accepted Geometries Only(只显示收敛的点)
因为已经非常细腻了,可以选中红色曲线上的最高点,作为过渡态。一般的NEB计算过渡态就结束了。当然如果不够细腻,还可以在该过程基础上,缩短范围,再进行第三次、四次NEB计算,最后一次的NEB过程,可以适当增大基组精度、k点数目。
反应物、产物的能量,可以在各自优化过程中得到的*.results/ams.log尾部看到,例如:
用三种单位显示了其能量。
过渡态的能量在NEB的Movie最高点,查看窗口左侧底部即有显示,例如:
过渡态能量减去反应物能量即得到绝对0度下的能垒。
高精度过渡态优化
一般而言,基于第二次NEB的结果,就可以进行高精度计算,精确优化得到鞍点了,计算过程参考:过渡态搜索与虚频验证,并从过渡态出发反推反应物、产物。
点击“阅读原文”