大家在面对很慢收敛的过渡态的优化时常采取的策略和一般流程是怎样的呢?
(参考:http://sobereva.com/164)
在最近的工作中涉及到连续优化十几个相似小分子催化体系配体交换的难以收敛的过渡态(用的是m062x/6-31g(d,p)),我的一般流程是:
1.先基于优化好的反应物构象和定性的有机化学结构知识(或经验)构建一个比较合理的初结构并加opt=calcfc关键字优化一次(这次优化往往不期待直接收敛)
2.(如果)初结构相对合理的话,查看优化轨迹(几十步之后出现震荡),确认结构没有明显的问题,取靠前的rms force较小的点(往往是收敛判别项前两项是yes)作为新的初结构。
(反之)重新调整初结构,回到1.
3.以新的初结构再用第一步的关键字重投,简单的结构这步往往能收敛
(如果不收敛)分析优化轨迹:
a(震荡,结构仍合理但rms force没有任何减小的趋势,同时force项较小)加opt=gdiis关键字优化
b(rms force项在前十几步进一步变小,但仍以震荡结尾)考虑是Hessian矩阵不够精确造成的,取较好的点(指rms force小、yes数多)加opt=calcall(或int=ultrafine同时找到之后要删掉重优化一次)关键字继续优化
c (force项较大,但是displacement较小,震荡)考虑可能是深势阱,加opt=maxstep=n优化
4.如3中的处理还未使结构收敛,则尝试abc三种调整的几种组合尝试以rms force的变化趋势为判据调整。
5.尝试换成找过渡态能力较强的别的方法如wB97XD或b3lyp优化(以整个过程中最好的点为初结构,返回2),收敛之后在换回m062x再优化
6.放弃,认为这个过渡态找不到。(往往在一个月后才敢有这种想法)
(其中大部分优化在震荡出现或rms force项有持续变大趋势后手动停止)
问题和疑惑:
我往往会在第三步中反复挣扎和尝试,每次force项变得最小一点就再重投,消耗很多时间。有些分子可能需要反复20多次提交,感觉这不是一种合适的行为。
加了opt=calcall后我往往会在rms force项有持续变大趋势后手动停止重新取rms force较小的点提交(这样做合理吗)
有两个ts是加了gdiis之后优化,正巧碰上自己生病了,中间看了看感觉在乱跑,两天没怎么管,病好了发现收敛了。之后带gdiis关键字的优化都倾向于让它自己跑满之后停止。(这样做合理吗)
大家优化过渡态一般涉及几次重复提交呢?小分子催化这种过渡态的计算的话,一般会花多长时间完成一个呢?
求各位老师指教。
|