计算化学公社

标题: ORCA中解决SCF不收敛问题的关键字 [打印本页]

作者
Author:
liyuanhe211    时间: 2016-11-29 10:35
标题: ORCA中解决SCF不收敛问题的关键字
本帖最后由 liyuanhe211 于 2017-7-26 21:56 编辑

大概按照下文做了类似程序间翻译的工作:

解决SCF不收敛问题的方法(http://sobereva.com/61)

总结了ORCA中可使用的关键字,具体含义、原理、使用情况和注意事项请阅读原文。并请注意原文提到的与关键词无关的问题,诸如几何结构、电荷、多重度设定不合理等问题仍应该检查。

一个需要强调的是,ORCA 3.0.3中相当于自带高斯中的 iop(5/13=1),即使SCF不收敛,也会继续进行后续计算(如post-HF和双杂化),只会给出一个 warning 且不在文件最后。文件末尾仍然是ORCA TERMINATED NORMALLY。这很危险。这导致:(1)需要在计算结束后确认SCF收敛性;(2)对较长的post-HF和双杂化计算中,需要在post-HF计算步骤之前监测SCF收敛性,如果没有收敛及时终止。ORCA 4.0.0 及以后版本中增加了一个关键词为SCFConvForced,可以在SCF不收敛时终止计算,但仍不是默认,建议在所有计算中加上此选项。

下文中Gaussian和ORCA两栏分别是左右对应的两个程序的关键词,Note是说明。下文为个人理解,如有错误烦请务必指出改正。本文限于ORCA 3.0.3 版本,ORCA 4.0.0 之后稍有变化但不多,注意查看手册即可。
(, 下载次数 Times of downloads: 1002)


(, 下载次数 Times of downloads: 89)

(, 下载次数 Times of downloads: 97)

(, 下载次数 Times of downloads: 110)

个人建议遇到SCF不收敛,若已算完的其他任务不多/不太耗时,且体系是“比较正常”的体系,首先考虑升格点到 !Grid5 FinalGrid6水平。或者默认即带着 !Grid5 FinalGrid6 算。目前遇到的ORCA SCF不收敛大多与此有关。










作者
Author:
plus    时间: 2016-11-29 10:50
总结的不错!
作者
Author:
我本是个娃娃    时间: 2016-11-29 12:34
撒花鼓掌,感谢李大博士!
作者
Author:
一声叹息010    时间: 2017-4-23 12:06
用下面的小脚本看一下,如果输出类似
535:               *           SCF CONVERGED AFTER  11 CYCLES          *
就是scf收敛了,还是蛮方便的

#!/bin/bash
for inpfile in `ls *.out `
  do
    echo   $inpfile
    grep -n 'SCF CONVERGED AFTER' $inpfile
echo
done

作者
Author:
yflchx    时间: 2017-4-23 12:28
本帖最后由 yflchx 于 2017-4-23 12:35 编辑

ORCA 4.0.0做了改进:

“%scf
ConvForced # = 0: convergence not mandatory for next calculation step
                 # = 1: break, if you did not meet the convergence criteria
end

It will default to ConvForced=1 for Post-HF methods, Excited States runs and Broken Symmetry calculations.”


以后设置ConvForced就可以了(根据默认情况,一般也不需要单独设置)。否则,像低版本那样还真有些麻烦。


作者
Author:
啦啦黑还黑    时间: 2017-8-5 20:01
ORCA 的 SlowConv 对过渡金属配合物确实管用,Keywords below mostly modify the damping parameters that aids convergence, particularly when there are large fluctuations in the first SCF iterations.
作者
Author:
GoldenBaby    时间: 2019-2-26 19:45
啦啦黑还黑 发表于 2017-8-5 20:01
ORCA 的 SlowConv 对过渡金属配合物确实管用,Keywords below mostly modify the damping parameters that  ...

今天我也试了SlowConv,对过渡金属真心好用,感谢大神
作者
Author:
量化小菜鸡    时间: 2019-2-26 23:55
很有帮助,非常感谢
作者
Author:
Tomm美美哒    时间: 2019-9-19 14:54
感谢大神,受教了!
作者
Author:
Freeman    时间: 2021-9-30 16:00
现在ORCA5推出了TRAH-SCF,声称绝对(always)可以收敛。不过亲测特别特别慢,看图
(, 下载次数 Times of downloads: 46)


作者
Author:
zjxitcc    时间: 2021-9-30 16:04
本帖最后由 zjxitcc 于 2021-9-30 16:05 编辑
Freeman 发表于 2021-9-30 16:00
现在ORCA5推出了TRAH-SCF,声称绝对(always)可以收敛。不过亲测特别特别慢,看图

如果你收敛有困难(包括 成功收敛需要很多圈),一定要检验波函数稳定性,此时电子结构复杂,可能辛辛苦苦得到的也未必是稳定波函数,还要再优化波函数。

PS:你图中的情况,还不如直接用高斯算完了传轨道给ORCA来得快。


作者
Author:
wzkchem5    时间: 2021-9-30 16:38
Freeman 发表于 2021-9-30 09:00
现在ORCA5推出了TRAH-SCF,声称绝对(always)可以收敛。不过亲测特别特别慢,看图

准确来说,是在没有数值噪音问题的情况下,数学上保证可以收敛。如果格点不够大或者积分精度不够高,不排除即便TRAH也不收敛。可以类比高斯的scf=qc,也是牺牲了迭代次数换取收敛概率。但和scf=qc容易收敛到不稳定解不同,用TRAH收敛到不稳定解的概率反而比不用TRAH低。
作者
Author:
youxx189    时间: 2022-12-17 13:22
zjxitcc 发表于 2021-9-30 16:04
如果你收敛有困难(包括 成功收敛需要很多圈),一定要检验波函数稳定性,此时电子结构复杂,可能辛辛苦 ...

您好 请教一下   怎样实现高斯算好的轨道传到orca啊  

作者
Author:
zjxitcc    时间: 2022-12-17 14:13
本帖最后由 zjxitcc 于 2022-12-17 14:14 编辑
youxx189 发表于 2022-12-17 13:22
您好 请教一下   怎样实现高斯算好的轨道传到orca啊

在高斯中用同样的泛函和基组算单点(加关键词nosymm int=nobasistransform),算完获得chk或fch文件,例如叫h2o.fch,执行
  1. fch2mkl h2o.fch
复制代码
生成两个文件h2o_o.mkl和h2o_o.inp,内含坐标、基组和轨道信息。你只需打开h2o_o.inp文件加上你要的泛函、其他你想要的关键词。执行
  1. orca_2mkl h2o_o -gbw
复制代码
生成ORCA波函数文件h2o_o.gbw。提交h2o_o.inp给ORCA,SCF 1圈收敛。fch2mkl小程序是开源的,见https://gitlab.com/jxzou/mokit

作者
Author:
youxx189    时间: 2022-12-17 22:34
zjxitcc 发表于 2022-12-17 14:13
在高斯中用同样的泛函和基组算单点(加关键词nosymm int=nobasistransform),算完获得chk或fch文件,例 ...

非常感谢您详细的解答!
作者
Author:
413    时间: 2023-10-11 20:07
大佬有没有时间输出一波这个table里面新版本的orca的命令?
作者
Author:
chenjhust    时间: 2024-3-7 17:15
请问在高斯09用b3lyp/6-311g(d,p)优化好的初始结构,经过multiwfn转化成ORCA(ORCA4.2.1)的输入文件计算更高精度的单点能时老是出现SCF不收敛的问题
,试过kdiis,调整积分精度都无法解决,请问有什么好的建议吗?
作者
Author:
ionexchangeC    时间: 2024-3-7 17:18
本帖最后由 ionexchangeC 于 2024-3-7 17:19 编辑
chenjhust 发表于 2024-3-7 17:15
请问在高斯09用b3lyp/6-311g(d,p)优化好的初始结构,经过multiwfn转化成ORCA(ORCA4.2.1)的输入文件计算更 ...


换用ORCA5,默认设置会使用TRAH辅助收敛
如果还不行并且TRAH步没有收敛趋势,那尝试使用noTRAH和slowconv关键词,并加大SCF迭代步数上限

作者
Author:
zjxitcc    时间: 2024-3-7 17:42
本帖最后由 zjxitcc 于 2024-3-12 09:59 编辑
chenjhust 发表于 2024-3-7 17:15
请问在高斯09用b3lyp/6-311g(d,p)优化好的初始结构,经过multiwfn转化成ORCA(ORCA4.2.1)的输入文件计算更 ...

老铁不要短时间内立即重复提问http://bbs.keinsci.com/forum.php ... 283756&fromuid=2632

解决办法不唯一,你可以尝试他人的建议,我提供我认为最好的建议:不需要试kdiis、调整积分精度、slowconv、加大SCF迭代步数上限这些。写一个gjf文件,这里以水分子为例
  1. %chk=h2o.chk
  2. %mem=10GB
  3. %nprocshared=4
  4. #p UPW91B95/def2TZVPP nosymm int(nobasistransform) IOp(3/76=1000005000,3/77=0000005000,3/78=0731007310)

  5. title

  6. 0 3
  7. O     0.000000    0.000000    0.062007
  8. H     0.000000   -0.783976   -0.492052
  9. H     0.000000    0.783976   -0.492052
复制代码
内存和核数根据自己机器情况修改。提交Gaussian任务,获得chk文件。运行
  1. formchk h2o.chk h2o.fch
  2. fch2mkl h2o.fch
  3. orca_2mkl h2o_o -gbw
复制代码
获得h2o_o.inp和h2o_o.gbw文件。打开inp文件将前3行改成目标计算,例如
  1. %pal nprocs 4 end
  2. %maxcore 2500
  3. ! UKS TightSCF RIJCOSX grid5 gridx5 def2/J def2-TZVPP/C RI-PWPB95 D3
复制代码
然后提交给ORCA算,会自动从gbw文件中读取轨道,SCF迅速收敛,进入双杂化计算部分。如果使用ORCA 5,将grid5 gridx5换成defgrid3。


作者
Author:
chenjhust    时间: 2024-3-7 18:14
zjxitcc 发表于 2024-3-7 17:42
老铁不要短时间内立即重复提问http://bbs.keinsci.com/forum.php ... 283756&fromuid=2632

解决办法不 ...

谢谢老师,用了您的方法后确实很快就收敛了,现在有个问题
我很多结果是用这个指令算的
  1. ! PWPB95 D3 def2-TZVPP def2/J def2-TZVPP/C RIJCOSX grid4 gridx4 tightSCF noautostart miniprint nopop
复制代码

换成您推荐的这个,前面的需要重新算吗?
  1. ! UKS TightSCF RIJCOSX grid5 gridx5 def2/J def2-TZVPP/C PWPB95 D3
复制代码

这二者有差异吗?

作者
Author:
wzkchem5    时间: 2024-3-7 18:31
chenjhust 发表于 2024-3-7 11:14
谢谢老师,用了您的方法后确实很快就收敛了,现在有个问题
我很多结果是用这个指令算的

后一种写法漏写了def2-TZVPP,得先把这个补上。
之后两种写法唯一的区别就是格点大小了,为了结果可比,格点必须统一。zjxitcc说的grid5 gridx5只是举个例子,如果你其他计算都是用grid4 gridx4算的,这里自然要改成grid4 gridx4。
作者
Author:
zjxitcc    时间: 2024-3-7 19:07
本帖最后由 zjxitcc 于 2024-3-7 19:26 编辑
chenjhust 发表于 2024-3-7 18:14
谢谢老师,用了您的方法后确实很快就收敛了,现在有个问题
我很多结果是用这个指令算的

wzkchem5老师已经给你解释过了,主要是格点差异。我补充一条,fch2mkl小程序产生的inp文件中含有基组数据(数据量很大,没有在帖子里展示出来,你在自己电脑上打开inp文件便可看到)。而gjf文件用的基组名称就是def2TZVPP,传过来的基组数据就代表def2TZVPP,从而不需要在这一行写def2-TZVPP基组名称,这不同于你以前的计算。

作者
Author:
chenjhust    时间: 2024-3-7 19:36
zjxitcc 发表于 2024-3-7 19:07
wzkchem5老师已经给你解释过了,主要是格点差异。我补充一条,fch2mkl小程序产生的inp文件中含有基组数据 ...

好的,谢谢老师们




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3