scf不收敛和几何构型优化不收敛问题的解决 来自小木虫总结

发布于:2021-08-01 14:32:23

首先要分清 scf 不收敛和几何构型优化不收敛: 不收敛指的是自洽场叠代不收敛 scf (什么? 没听说过什么叫自洽场?那还是回去学*些量化基础知识再开展计算吧) ,可以认为是对指 定结构的波函数不断优化的过程, 是为了找到这个某个指定结构下能量最低的波函数, 而几 何构型优化是对结构的优化的过程,是为了找到某个指定的组分下能量极小结构(注意,不 一定是能量最小结构) 。在量子化学计算的几何构型优化中,每一步的几何构型优化都包含 的很多次的 scf 计算。 1、scf 不收敛的解决方案。 (1) 可以加大 scf 的循环次数,默认的循环次数是 128 次,通过 scf=(maxcycle=n)来设置最大 循环次数 n。建议不要超过 512,更多的循换没有必要。 (2) 如果加大循环次数不管用,在分子有对称性的情况下,使用 scf=dsymm 关键词来强制密 度对称,有时可以收敛。另外,此关键词很多时候对"scf is confused”这种错误很管用。 (3) 使用 scf=symm 关键词,使用的前提同上,有时可以收敛。 (4) 如果(2)(3)两步都不行, 可以将对称的分子中的某几个原子的位置微调, 使分子丧失对称 性。这等效于 nosymm 关键词,但个人经验,这种方式比 nosymm 好用的多。 (5) 如果还不行,只能拿出杀手锏了,就是使用 qc,但不建议直接使用,而是使用 xqc 关键 词,比如 scf=(maxcycle=80,xqc),意思是如果 scf 正常计算(dc)在 80 个循环之内不收敛才进 行昂贵的 qc 计算,因为 scf 不收敛多数在几个优化的过程中出现,无法判断哪一步优化的 时候会出现 scf 不收敛,所以用 xqc 比纯粹使用 qc 要省时的多。 (6) 中级用户可以在输入文件的井号“#”开头那一行井号后面加上字母"p"来输出更多的信 息,其中就有自洽场叠代的信息,分析原因可能会对采用什么方法提供指导。 (7) 前面有虫子提到一个有用的方案但没说清楚,我这里补充一下:如果用用小基组计算, scf 可以收敛,那么保存好检查点文件,换成大基组的时候从检查点文件中读取初始猜测(使 用 guess=read 关键词),有时可以算过去。 (8) 如果你计算中使用了含有弥散函数的基组 (比如 6-31+G*基组中的“+”, Aug-cc-pVTZ 基 组中的 Aug 等) ,可以先去掉弥散函数(比如例子中的两个基组变为 6-31G*和 cc-pVTZ) , 这样很容易收敛,需要的话,换成带有弥散函数的基组时,从检查点文件的读初始猜测。原 理与(7)类似,有时候管用。注意:(7)和(8)不适合很大的体系,此时,使用小基组或者不带 弥散函数的基组与后来使用的大基组在基组数量上差得太多(如果你本来就遇到了 scf 收敛 问题,而使用这两个方案时,机组数量差距超过 512 个,多数时候要出问题) ,反倒容易引 起 scf 不收敛,因为读检查点文件时,对那些多出来的基组的猜测是空的,而直接计算时最 起码还有个半经验的计算提供了相对合理的初始猜测。 (9) 上述方法有时可以组合使用,如果经过各种组合处理都不收敛,那么放弃吧,你的分子 的电子结构太差了。 2、几何构型优化不收敛的解决方案。引起这个问题的原因比较多,可能也说不全,尽量做 到全面。 (1) 如果是很小的分子(10 原子以内) ,初始结构可能离*衡结构比较远,又在输出文件优 化的最后一步判断是否收敛的位置(可以通过查找 Threshold 字段找到,它下面有四个判断 项,都是 YES 才代表优化收敛)看到了“-- Number of steps exceeded, NStep=xxx”,可以通

过加大优化的循环次数来解决问题。使用关键词 opt=(maxcycle=n). (2) 优化到如果四个收敛标准中前两项早就收敛了,而后两项尤其是第三项不收敛,这需要 判断原因。如果每一步优化过程中的能量始终在下降,那么可以继续让他算,超过了最大步 数停掉了的话把结构拿出来,重新提交就行了。如果能量忽大忽小出现跳跃,说明遇到了比 较*坦的势能面,或者优化的算法不好。此时建议按如下顺序处理: a. 使用 opt=maxstep=n 来缩小最大步长,即原子移动的距离,n 的默认值是 30,只能设置整 数。 b. 使用关键词 opt=gdiis,很多时候可以很快收敛。 c. 使用 opt=calcfc 关键词,在几何优化的第一步计算力常数,为优化定一个大方向,类似在 第一个三岔路口选一条路。 d. 使用 opt=calcall 关键词,在几何优化计算的每一步都计算力常数,类似于在每一个三岔 路口都来选一条路。这个关键词不到万不得已不要使用,非常耗时。 (3) 四个判断标准的后两项早就收敛了, 但前两项似乎固定在某个数值上了。 遇到这种情况, 首先去检查你优化第一步的时候给出的每个轨道得本征值部分,也就是轨道的能量,如果 HOMO 和 LUMO 的能量相同或者非常接*,那么你的设置有问题,即自旋多重度不对。如 果 HOMO-LUMO 能量没问题,那么将目前的计算停掉,提出结构,使用 opt=gdiis 关键词, 很多时候管用。 (4) 如果是在几何构型优化的过程中出现因为 scf 不收敛导致无法优化,可以先用上面 scf 不收敛的解决方案来处理,如果都不行,可以通过在#后面添加 p 输出更多信息,如果看到 每次 scf 能量都能收敛到 10 的-6 次方以下然后开始出现能量的跳跃,就是收敛不到 10 的-8 次方 (这种情况还比较常见) 可以使用 scf=(conver=6)来让几何优化继续下去, , 等优化好了, 再将此关键词去掉,我的经验,优化的结构一般不会有太大的差异。如果不到 10 的-6 能量 就开始跳越,不适合此方法。 (5) 如果几何优化过程中发现键变得异常短, 而且此时几何优化总是不收敛。 遇到这种情况, 问题出在你的基组使用, 肯定是使用了赝势基组却没有读入赝势。 由于赝势基组将内层电子 和原子核用一个有效核心势来表示, 你没有读入赝势就说明没有读入这个有效核心势, 那么 相当于把原子的内层电子都给除掉了, 巨大的核引力把原子之间的距离变得异常短也不足为 奇。


相关推荐

最新更新

猜你喜欢