本文中,我们首先介绍如何使用NEB方法搜索过渡态,以及在NEB的结果的基础上,进一步提高精度优化出高精度、可验证的过渡态。本文以MoS2的一维条带(其中一个Mo原子被Co替代掺杂)为例进行演示。
对于二维体系,BAND的效率高于同等精度的平面波程序,而一维体系比二维体系效率更高,几乎接近非周期性体系的计算效率。本文以一维材料为例演示计算过程,二维、三维材料过程完全类似。
另外,BAND可以处理真正的一、二维模型,一维材料(周期性设置为Main > Periodicity > Chain)外围为无限大真空,二维材料(周期性设置为Main > Periodicity > Slab)上下表面外,均为半无限大的真空,均无需人为添加“真空层”。
需要注意的是:BAND也可以像平面波方法那样,使用三维周期性边界条件,通过添加真空层来建立一、二维模型,但这既增大了计算量,又降低了精度。
我们使用文献(Journal of Molecular Catalysis A: Chemical, 163, 2000, 117–122)中的结构(这里我们自行优化过)。
打开Input窗口,并切换到BAND模块,Task选择NEB,并点击后面的 “>” 按钮:
注意:
基组的设置,参考:BAND:如何设置基组
固定不参加反应的原子(选中原子后,点击“fix positions”前面的+)
降低收敛标准(NEB过程,尤其是第一次的NEB过程,并不需要严格收敛。这样可以降低计算量,而不影响最终精度):
保存任务之后,我们需要修改*.run文件中的优化算法的最大步长,避免能量振荡:
GeometryOptimization Method Quasi-Newton Quasi-Newton Step TrustRadius 0.02 End UpdateTSVectorEveryStep True End Convergence Gradients 0.003 End End
也就是增加了Quasi-Newton字段,TrustRadius 0.02表示优化过程中,原子每一次最大位移不超过0.02。用户可以酌情调大,但默认值就过大了。
每个字段都由字段名开头,以其后最近END呼应结束,因此Quasi-Newto与其后面最近的一个END,形成一个字段;Convergence及其之后最近的END之间,形成一个字段,而这两个字段,加上Method Quasi-Newton这一关键词,是GeometryOptimization这个大字段内部的子字段,GeometryOptimization字段以上述脚本中最后一个END与其呼应结束。
保存*.run文件,并运行任务。
将能量变化曲线接近顶部,偏左侧一些的结构,File - Save Geometry,保存作为第二次NEB计算的“反应物”,顶部偏右侧一些的结构保存,作为第二次NEB的“产物”。换句话说,缩短NEB的范围,再次进行计算。
第二次计算,与前面大同小异。仅仅需要注意:
SCM - Movie - View - Accepted Geometries Only(只显示收敛的点)
因为已经非常细腻了,可以选中红色曲线上的最高点,作为过渡态。一般的NEB计算过渡态就结束了。当然如果不够细腻,还可以在该过程基础上,缩短范围,再进行第三次、四次NEB计算,最后一次的NEB过程,可以适当增大基组精度、k点数目。
反应物、产物的能量,可以在各自优化过程中得到的*.results/ams.log尾部看到,例如:
<Mar27-2020> <21:12:02> ENERGY OF FORMATION: -3.4539 A.U. <Mar27-2020> <21:12:02> -93.9853 E.V. <Mar27-2020> <21:12:02> -2167.3540 KCAL/MOL
用三种单位显示了其能量。
过渡态的能量在NEB的Movie最高点,查看窗口左侧底部即有显示,例如:
过渡态能量减去反应物能量即得到绝对0度下的能垒。
一般而言,基于第二次NEB的结果,就可以进行高精度计算,精确优化得到鞍点了,计算过程参考:过渡态搜索与虚频验证,并从过渡态出发反推反应物、产物。