Q:怎么IRC刚走了几步就正常结束了?怎么IRC走出来的两侧的曲线是相同的?
A:此问题是继上一个问题在网上被问得最多的与IRC有关的问题。出现这种问题都是因为优化过渡态时定位准确度不够。看下图,当优化出的过渡态位置不准确时,结构就不是在IRC的极大点了,而是稍微偏离一些的红球的地方
出现这种情况时,往右边产生IRC能正常产生,但是从红球位置往左边产生IRC时,还没怎么走,程序就发现能量升高了,误以为IRC已经走到了离极小点很近的位置,于是就不再继续走了,就正常结束了。还有一种情况,是刚往左边走IRC,由于体系受力是冲着右边的,导致马上转了个弯就往右边走了,就呈现了IRC左右两边曲线都一样的结果。
对这个问题,应按照以下方式排查和尝试解决
(1)先确保初始结构是之前优化TS得到的结构,而且过渡态优化和走IRC都是在严格相同级别下进行的。
(2)提高过渡态定位精度。在找过渡态时候用tight,对于DFT再同时结合int=ultrafine(此时产生IRC也必须用int=ultrafine)。如果还不行,优化过渡态时用calcall(或者用诸如recalc=3)。
(3)如果反复尝试了(2)的方法还是不行,或者你不想尝试(2),毕竟会增加很多耗时,那也可以尝试增大IRC步长,比如20乃至30。由于步长大了,从上图红球的位置往左走的时候可能一下子就越过了TS,之后就能正常继续往左产生IRC了。不过步长大了容易导致HPC校正步不收敛、IRC不准确不平滑等问题,怎么考虑和处理前面已经说了。
另外,出现这种问题还有一种可能是在IRC任务中,基于自动初猜的波函数做SCF后收敛到的波函数与找过渡态任务最终得到的波函数不同,此时相当于IRC任务所在的势能面和过渡态搜索任务所在的势能面不同,这也会导致IRC异常,因为类似于违背了前述的走IRC的“任何影响势能面的设定必须严格相同”的这个前提。出现这种情况时,你会发现IRC任务第一次输出的SCF Done能量和找过渡态最后一步的SCF Done能量明显不同。为解决此问题,走IRC的时候可以用guess=read关键词,从优化过渡态的chk文件中读取最后的波函数(并且最好用forward和reverse关键词通过两个任务分别跑正向和逆向IRC),这样通常可以确保IRC任务所在的势能面和优化过渡态时相同。
用SMD溶剂模型时,也可能个别时候由于数值噪音问题出现IRC走几步就停了的现象。可将优化和走IRC用的溶剂模型都改为IEFPCM再试,说不定能解决。