计算化学公社

标题: 警告:ORCA得到的稳定波函数可能并不正确 [打印本页]

作者
Author:
Accelerator    时间: 2020-2-4 23:41
标题: 警告:ORCA得到的稳定波函数可能并不正确
最近发现用ORCA得到的一些数据非常离谱,检查后发现,虽然自己用ORCA时所有计算都在关键词里写了%scf stabperform true end,最终还是收敛到了不合理的波函数(通过ORCA的检查表明是稳定的波函数,但并不是能量最低的)。
输入文件:
  1. %  scf stabperform true end
  2. %  pal nprocs 28 end
  3.   !   TightSCF Grid6 MORead NoFinalGrid aug-cc-pVTZ aug-cc-pVTZ/C RIJCOSX PBE0 D3BJ SlowConv  GridX6 NoFinalGridX  UKS

  4. *xyz -1 4
  5.   Co     0.000000    0.000000    0.058760
  6.   H      0.000000    0.000000   -1.588221

  7. *
  8. % moinp "CoHMinus_Quar_PBE0D3BJ_def2TZVP_SP.gbw1"
复制代码
读取的是用ORCA在BP86下得到的稳定波函数。SCF收敛后结果为 -1383.128283523431。
相同初始构型,Gaussian在PBE0-D3BJ下通过默认初猜得到的稳定波函数能量为-1383.13659079,用ORCA再读取这一结果,经过艰苦的SCF收敛过程后最终结果为-1383.138099754331。

在当前的工作中,ORCA得到的稳定波函数能量比Gaussian默认方法得到的稳定波函数高的现象非常普遍,大概占20%左右(即使读取其他水平下的正确波函数也无法避免)。而用Gaussian默认方法收敛并检查稳定性的波函数得到离谱结果的例子还没有遇到过。似乎ORCA的SCF机制很容易收敛到并非正确波函数的结果上去。

强烈建议用ORCA时 无论如何都先用Gaussian在相同水平下得到稳定波函数再读取!

作者
Author:
mouc233    时间: 2020-2-5 02:45
是初猜问题吗
作者
Author:
ikea1984    时间: 2020-2-5 04:20
对于可能收敛困难体系,例如我干过的用PBE算5f电子体系(做benchmark),每次都交N>5个不同参数的作业(NormalConv/SlowConv/VerySlowConv,以及其它参数的组合),总能得到好几个解。。。事实上几乎没发现哪个程序比高斯的自洽更稳定,不知道是不是我的错觉
作者
Author:
sobereva    时间: 2020-2-5 06:46
Gaussian在这方面是几乎最令人放心的(不用qc,并且再加个stable测试)
之前拿GAMESS-US算个三重态水分子居然都收敛到了不稳定波函数
作者
Author:
Warm_Cloud    时间: 2020-2-5 08:32
大概是没有EDIIS,我做了EDIIS后发现波函数稳多了。
作者
Author:
biogon    时间: 2020-2-5 19:29
ikea1984 发表于 2020-2-5 04:20
对于可能收敛困难体系,例如我干过的用PBE算5f电子体系(做benchmark),每次都交N>5个不同参数的作业(Nor ...

orca的scf确实是不够稳定,我曾经遇到过高斯传的收敛的轨道都没法让orca的scf收敛的体系
作者
Author:
DoorBell    时间: 2020-2-6 15:56
ikea1984 发表于 2020-2-5 04:20
对于可能收敛困难体系,例如我干过的用PBE算5f电子体系(做benchmark),每次都交N>5个不同参数的作业(Nor ...

确实发现了SlowConv/VerySlowConv关键词易导致收敛到其他波函数上,都不太敢用了。现在一般先试试CNVDIIS false管不管用。
作者
Author:
Accelerator    时间: 2020-2-8 10:03
biogon 发表于 2020-2-5 19:29
orca的scf确实是不够稳定,我曾经遇到过高斯传的收敛的轨道都没法让orca的scf收敛的体系

Gaussian收敛而ORCA不收敛多半是因为fchk中被调整到了标准取向。即使构型差别很小,也可能引发一些数值问题,导致能能量以几千个Hartree的振幅震荡。
作者
Author:
biogon    时间: 2020-2-9 11:42
Accelerator 发表于 2020-2-8 10:03
Gaussian收敛而ORCA不收敛多半是因为fchk中被调整到了标准取向。即使构型差别很小,也可能引发一些数值问 ...

这问题有什么好方法解决没
作者
Author:
Accelerator    时间: 2020-2-9 15:06
biogon 发表于 2020-2-9 11:42
这问题有什么好方法解决没

Gaussian写nosymm,或者打开mkl文件提取标准朝向的构型构建ORCA输入文件。
此外还发现ORCA和Gaussian的aug-cc-pvtz定义是不同的,暂且没有研究是怎么回事。这种情况下。例如ORCA读取Gaussian在aug-cc-pvtz下的收敛波函数,很大概率不收敛,这时ORCA先写def2-SVP,再依次扩大到def2-TZVP, aug-cc-pvtz。往往能较好地解决。
作者
Author:
biogon    时间: 2020-2-9 16:08
Accelerator 发表于 2020-2-9 15:06
Gaussian写nosymm,或者打开mkl文件提取标准朝向的构型构建ORCA输入文件。
此外还发现ORCA和Gaussian的a ...

哦对,忘了nosymm了
作者
Author:
zjxitcc    时间: 2020-2-10 00:08
Accelerator 发表于 2020-2-9 15:06
Gaussian写nosymm,或者打开mkl文件提取标准朝向的构型构建ORCA输入文件。
此外还发现ORCA和Gaussian的a ...

对于这种情况:"ORCA和Gaussian的aug-cc-pvtz定义是不同","ORCA读取Gaussian在aug-cc-pvtz下的收敛波函数,很大概率不收敛"

你可以试试在高斯中加上int=nobasistransform算一下(实际上我推荐在任何两个程序间传轨道,都最好加上该关键词),然后再传轨道给ORCA,可能会改善不少。

究其原因应该是同一个基函数的contraction程度不同,例如在basis set exchange上选择基组时,在Get Basis Set按键旁有个Advanced,里面展示了很多细节选项,这些选项在高斯里其实影响不大。然而其他软件就未必了。ORCA在这方面不太智能。
作者
Author:
sobereva    时间: 2020-2-10 07:20
对Dunning基组有简化做法来节约时间,见Chemical Physics Letters 260 (1996) 514-518,不同程序在这方面考虑有所不同,Gaussian默认情况下的处理是比较激进的,int=NoBasisTransform可以完全关掉此处理,即基组原先怎么定义的就直接怎么用而不做简化处理。
作者
Author:
DoorBell    时间: 2020-2-14 13:33
Accelerator 发表于 2020-2-9 15:06
Gaussian写nosymm,或者打开mkl文件提取标准朝向的构型构建ORCA输入文件。
此外还发现ORCA和Gaussian的a ...

本来大家的HF能量都差不多,为了加速收敛给ORCA读了Gaussian的aug-cc-pVTZ的结果,一迭代能量低了10几个Hartree。。。

ORCA确实提示了“基组定义有微小差别”,一会加上int=NoBasisTransform再试试
作者
Author:
Freeman    时间: 2021-2-9 12:15
今天发现降低ORCA的stability check的收敛限就可以找到真正的稳定波函数。
具体操作方法为:
%scf
STABPerform true
STABRestartUHFifUnstable true
STABDTol 0.00001   比默认值小数点后多一位
STABRTol 0.00001   比默认值小数点后多一位
end
见ORCA_4.2.1手册P466。
作者
Author:
dnlx    时间: 2021-12-19 13:02
请教各位一个相关问题,我在ORCA中得到了这个出错信息:
"CPCM is not implemented to work with the stability analysis"
输入文件注释掉CPCM才能执行。

这是不是说明ORCA的“波函数稳定性测试”与溶剂模型不兼容?如果真是这样,溶剂效应下的波函数能否检测稳定性?
作者
Author:
wzkchem5    时间: 2021-12-19 16:30
dnlx 发表于 2021-12-19 06:02
请教各位一个相关问题,我在ORCA中得到了这个出错信息:
"CPCM is not implemented to work with the stab ...

不能。有两种迂回解决办法:
(1)跑一个不加溶剂的计算,以加了溶剂收敛的波函数为初猜,然后在不加溶剂的情况下做稳定性分析。缺点是结果不严格,有很小概率会判断错。
(2)跑一个加溶剂的TDDFT计算(在%tddft里写tda false),用平衡溶剂化(在%tddft里写cpcmeq true),算至少3个态,其中对于restricted计算还需要算至少3个三重态。当且仅当所有激发能都大于0,且计算过程中没有报错”rebuilding RPA space“的时候,可以知道波函数是稳定的,这个是数学上保证的。缺点是计算比普通稳定性分析要慢,且当波函数不稳定时,无法重新做SCF得到稳定波函数。
作者
Author:
wzkchem5    时间: 2021-12-19 16:35
从ORCA 5.0开始支持的TRAH方法在这方面会好得多,之前我们做过测试,收敛到不稳定波函数的概率比DIIS、KDIIS低一个量级。此外从ORCA 5.1.0开始会对DIIS做一些改动,预计会避免一部分收敛到不稳定波函数的情况。
作者
Author:
dnlx    时间: 2021-12-19 22:54
本帖最后由 dnlx 于 2021-12-19 23:20 编辑

请教大家我这个情况是不是收敛到不稳定波函数了(ORCA 5.0.1)。

对一个闭壳层的过渡态(TS_C9H12.xyz,见附件)先测试波函数稳定性:
%scf
        StabPerform True   
end
* XYZfile 0 1 TS_C9H12.xyz *

得到的结果是
     --------------------------------------------------------------------
                                      WARNING
     Although your wave function is converged, the stability analysis
     revealed an instability towards an UHF/UKS solution.
     It is up to you to decide whether to use the wave function.
     If you want to, it can be retrieved through the gbw file for
     use as a guess for an UHF/UKS calculation or for RHF/RKS post-SCF.
     --------------------------------------------------------------------

说明闭壳层的波函数不稳定。

于是按照FreeMan的方法(http://bbs.keinsci.com/thread-22704-1-1.html)去找稳定波函数:

!B3LYP DEF2-SVP D4 PAL4
%scf
        HFTyp uhf                 # Using spin-unrestricted Hartree-Fock (UHF)
        STABPerform true         # Wavefunction stability test
        STABRestartUHFifUnstable true # if unstable, rerun SCF
        STABDTol 0.00001         # 1/10 of default tols
        STABRTol 0.00001
end
* XYZfile 0 1 TS_C9H12.xyz *

但是得到的单点能依然和闭壳层的一样。请教各位,如何可以得到稳定的波函数?

===================
补充:不只是这个过渡态找不到单点能更低的UHF的波函数,我按照FreeMan的方法(http://bbs.keinsci.com/thread-22704-1-1.html)进行坐标插值,按照上面输入文件(HFTyp UHF)得到的中间状态的单点能依然和RHF的一样。


作者
Author:
zjxitcc    时间: 2021-12-20 00:13
dnlx 发表于 2021-12-19 13:02
请教各位一个相关问题,我在ORCA中得到了这个出错信息:
"CPCM is not implemented to work with the stab ...

简单,在高斯中算完、做好稳定性分析,再传轨道给ORCA即可。高斯支持隐式溶剂模型下的HF/DFT波函数稳定性分析。
作者
Author:
Freeman    时间: 2021-12-20 00:37
dnlx 发表于 2021-12-19 22:54
请教大家我这个情况是不是收敛到不稳定波函数了(ORCA 5.0.1)。

对一个闭壳层的过渡态(TS_C9H12.xyz, ...

发一下输出文件呗。
降低阈值是解决orca发现不了instability的存在的方法。现在这个情况orca在默认的阈值下就已经发现instability了,就没必要再设低阈值了。但是orca却没有找下去,真奇怪。
作者
Author:
dnlx    时间: 2021-12-20 00:46
本帖最后由 dnlx 于 2021-12-20 11:10 编辑
Freeman 发表于 2021-12-20 00:37
发一下输出文件呗。
降低阈值是解决orca发现不了instability的存在的方法。现在这个情况orca在默认的阈 ...

都在这里了。多谢帮助!
(已修改,见下面回帖)

作者
Author:
dnlx    时间: 2021-12-20 00:46
zjxitcc 发表于 2021-12-20 00:13
简单,在高斯中算完、做好稳定性分析,再传轨道给ORCA即可。高斯支持隐式溶剂模型下的HF/DFT波函数稳定性 ...

好的,看来早晚要考虑高斯。
作者
Author:
dnlx    时间: 2021-12-20 01:04
本帖最后由 dnlx 于 2021-12-20 02:24 编辑

对不起,应该是我犯了一个初学者的错误:稳定性检测之前应该用同样的泛函基组,我不知道应该加这一行。现在再检测,没再报不稳定的错误。
输入文件:
!B3LYP DEF2-SVP D4
% scf
        HFTyp uhf                 # Using spin-unrestricted Hartree-Fock (UHF)
        STABPerform true         # Wavefunction stability test
        STABRestartUHFifUnstable true # if unstable, rerun SCF
        STABDTol 0.00001         # 1/10 of default tols
        STABRTol 0.00001   
end
* XYZfile 0 1 TS_C9H12.xyz *


输出见附件

作者
Author:
gauss98    时间: 2022-11-30 10:29
Warm_Cloud 发表于 2020-2-5 08:32
大概是没有EDIIS,我做了EDIIS后发现波函数稳多了。

请问在orc里怎么做?非常感谢!
作者
Author:
wzkchem5    时间: 2022-11-30 15:06
gauss98 发表于 2022-11-30 03:29
请问在orc里怎么做?非常感谢!

orca不支持EDIIS,但支持KDIIS。不过KDIIS未必能增加收敛到稳定波函数的概率。
作者
Author:
zjxitcc    时间: 2022-11-30 15:08
gauss98 发表于 2022-11-30 10:29
请问在orc里怎么做?非常感谢!

任何一种DIIS都不能代替波函数稳定性检测,顶多只是尝试帮助SCF收敛。




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