计算化学公社

标题: 为何用ORCA读取G16算出的初猜第一步能量相差极大? [打印本页]

作者
Author:
量化小菜鸡    时间: 2020-6-30 14:18
标题: 为何用ORCA读取G16算出的初猜第一步能量相差极大?
我使用社长的方法用G16产生aug-cc-pVTZ的波函数去作为ORCA的初猜,目的是更好的进行下一步的DLPNO-CCSD(T)/aug-cc-pVTZ的计算。因为是aug-cc系列,我使用了 int=NoBasisTransform nosymm的关键词。最终能量为HF=-1344.3638469
但用ORCA做接下来的计算的话,可见第一步能量相差较大,虽然基组验证一样。此外,因为MAX-DP极大,第二步能量巨变。


这个结果让我觉得十分的迷惑,感觉问题出在第一步的算法上。谢谢大家帮忙。另外我发觉直接用G16的aug-cc-pVTZ的话,就算加NoBasisTransform,跟ORCA用的也有些许不同。



作者
Author:
量化小菜鸡    时间: 2020-6-30 14:19
---------------------
INITIAL GUESS: MOREAD
---------------------
Guess MOs are being read from file: 06_36TS-guess.ges
Input Geometry matches current geometry (good)
Input basis set matches current basis set (good)
MOs were renormalized
MOs were reorthogonalized (Cholesky)
                      ------------------
                      INITIAL GUESS DONE (   4.1 sec)
                      ------------------
--------------
SCF ITERATIONS
--------------
ITER       Energy         Delta-E        Max-DP      RMS-DP      [F,P]     Damp
               ***  Starting incremental Fock matrix formation  ***
  0  -1343.8608293347   0.0000000000001252.06273066  3.82819878  0.3028578 0.7000
  1  29624.205102595030968.065931929730371.14597152  1.13787707 1692.9559380 0.7000
作者
Author:
hebrewsnabla    时间: 2020-6-30 14:32
本帖最后由 hebrewsnabla 于 2020-6-30 14:37 编辑

首先基函数数目一样吗?高斯算的时候要指定5D 7F

你是用Multiwfn把fchk转成mkl么?Multiwfn的这个功能有一点问题(一部分f,g基函数对应的MO系数要乘-1),你可以用MOKIT试试(https://gitlab.com/jxzou/mokit

搞不定就上传fchk和mkl文件
作者
Author:
zjxitcc    时间: 2020-6-30 14:38
本帖最后由 zjxitcc 于 2020-6-30 14:41 编辑

mkl文件里的有些G, F, H函数的系数需要乘以-1,这点在MOKIT里的fch2mkl小程序考虑了。
你这基组很大,光写5D是不够的,还要加7F。
你可以传压缩后的fchk文件,或者传百毒网盘。



作者
Author:
量化小菜鸡    时间: 2020-6-30 14:38
hebrewsnabla 发表于 2020-6-30 14:32
首先基函数数目一样吗?高斯算的时候要指定5D 7F

你是用Multiwfn把fchk转成mkl么?Multiwfn的这个功能有 ...

谢谢,我用的是5D(查高斯输出了),否则ORCA第一步应该不会说match the basis set。 mkl比较大,直接上传不上去。
我正在读manual,感觉问题像出在Cholesky inversion。他讲有linear dependence这个算法容易出问题,然后能量会大跳。
作者
Author:
量化小菜鸡    时间: 2020-6-30 14:40
zjxitcc 发表于 2020-6-30 14:38
mkl文件里的有些G, F, H函数的系数需要乘以-1,这点在MOKIT里的fch2mkl小程序考虑了。
光5D是不够的,还要 ...

好的,谢谢,那我用printbasis一个一个比比看看。但ORCA第一步说基组符合应该就是对的上吧。
作者
Author:
zjxitcc    时间: 2020-6-30 14:42
量化小菜鸡 发表于 2020-6-30 14:40
好的,谢谢,那我用printbasis一个一个比比看看。但ORCA第一步说基组符合应该就是对的上吧。

不一定,这并没有必然关系。而且传轨道最好不要用ORCA内置基组(如直接写名称),而用fch2mkl生成的inp文件,才能保证基组严格一致。
作者
Author:
量化小菜鸡    时间: 2020-6-30 14:46
zjxitcc 发表于 2020-6-30 14:42
不一定,这并没有必然关系。而且传轨道最好不要用ORCA内置基组(如直接写名称),而用fch2mkl生成的inp文 ...

好的,学习了。您不讲我都不知道
作者
Author:
量化小菜鸡    时间: 2020-6-30 14:48
zjxitcc 发表于 2020-6-30 14:38
mkl文件里的有些G, F, H函数的系数需要乘以-1,这点在MOKIT里的fch2mkl小程序考虑了。
你这基组很大,光写 ...

7F也有的,忘记说了。我用过默认aug-cc-pVTZ,还用过gen从EMSL的搞下来的。我试试怎么分享啊,网盘在外面可慢
作者
Author:
zjxitcc    时间: 2020-6-30 15:19
量化小菜鸡 发表于 2020-6-30 14:48
7F也有的,忘记说了。我用过默认aug-cc-pVTZ,还用过gen从EMSL的搞下来的。我试试怎么分享啊,网盘在外面 ...

暂时不用分享fch文件。也不用gen,你就用高斯里的aug-cc-pVTZ就行。用MOKIT里的fch2mkl,仅编译组件fch2mkl即可。程序都是开源的,自己弄一下几分钟就行了。
作者
Author:
sobereva    时间: 2020-6-30 19:00
Gaussian里用Dunning系列基组默认就用5d 7f,完全没必要刻意写,你直接在输入文件里就会看到以下信息
Standard basis: Aug-CC-pVTZ (5D, 7F)
明显可见默认就是用的5d 7f

作者
Author:
量化小菜鸡    时间: 2020-7-1 03:09
sobereva 发表于 2020-6-30 19:00
Gaussian里用Dunning系列基组默认就用5d 7f,完全没必要刻意写,你直接在输入文件里就会看到以下信息
Stan ...

对的,默认是5D 7F。
作者
Author:
量化小菜鸡    时间: 2020-7-1 03:12
zjxitcc 发表于 2020-6-30 15:19
暂时不用分享fch文件。也不用gen,你就用高斯里的aug-cc-pVTZ就行。用MOKIT里的fch2mkl,仅编译组件fch2m ...

谢谢,我尝试了用MOKIT,第二轮能量不跳了,但还是不能一轮两轮就收敛。至少趋势是对的 :)
ORCA有弥散的收敛好一般,高斯直接上去算就收敛了。
作者
Author:
sobereva    时间: 2020-7-1 06:47
量化小菜鸡 发表于 2020-6-30 14:48
7F也有的,忘记说了。我用过默认aug-cc-pVTZ,还用过gen从EMSL的搞下来的。我试试怎么分享啊,网盘在外面 ...

Multiwfn的那个问题已经解决,见

解决了一个Multiwfn产生mkl文件作为ORCA当初猜波函数的问题
http://bbs.keinsci.com/thread-18220-1-1.html


现在对于aug-cc-pVTZ这样含d以上角动量的情况也可以非常容易地通过Multiwfn来把Gaussian收敛的波函数当ORCA的初猜波函数。如果有问题,欢迎反馈。
作者
Author:
量化小菜鸡    时间: 2020-7-1 13:12
sobereva 发表于 2020-7-1 06:47
Multiwfn的那个问题已经解决,见

解决了一个Multiwfn产生mkl文件作为ORCA当初猜波函数的问题

谢谢社长,这会就去试试。
作者
Author:
量化小菜鸡    时间: 2020-7-1 14:45
sobereva 发表于 2020-7-1 06:47
Multiwfn的那个问题已经解决,见

解决了一个Multiwfn产生mkl文件作为ORCA当初猜波函数的问题

(, 下载次数 Times of downloads: 6)
您试过加aug的吗?我这个似乎还是不行,第一步总是基组不一样。


作者
Author:
量化小菜鸡    时间: 2020-7-1 15:04
zjxitcc 发表于 2020-6-30 15:19
暂时不用分享fch文件。也不用gen,你就用高斯里的aug-cc-pVTZ就行。用MOKIT里的fch2mkl,仅编译组件fch2m ...

这个是fchk,mkl和out文件。您有空了帮我看看,我觉得是不是G16和ORCA对aug的弥散有区别啊。
链接:https://pan.baidu.com/s/1iEEZW6ck3nQzbFLsbmYHoQ
提取码:b5m5
作者
Author:
zjxitcc    时间: 2020-7-1 18:00
量化小菜鸡 发表于 2020-7-1 15:04
这个是fchk,mkl和out文件。您有空了帮我看看,我觉得是不是G16和ORCA对aug的弥散有区别啊。
链接:http ...

网盘太慢了,我用你orca输出文件里的坐标直接建个gjf算了,比网盘下载快多了。
用fch2mkl生成的inp和mkl文件结果毫无问题,ORCA的RHF 1圈就收敛了。为节约空间,压缩包里只有gjf, log, inp, out四个文件

题外话:你2000+基函数,你确定你有相应的机器配置来算DLPNO-CCSD(T)?感觉够呛。。。

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


作者
Author:
量化小菜鸡    时间: 2020-7-1 18:09
zjxitcc 发表于 2020-7-1 18:00
网盘太慢了,我用你orca输出文件里的坐标直接建个gjf算了,比网盘下载快多了。
用fch2mkl生成的inp和mkl ...

谢谢了。我帮组里同学做的,他做benchmarking和方法的。他用超算能算的动,极限就到TZ了。ORCA就是吃内存太厉害了。
作者
Author:
量化小菜鸡    时间: 2020-7-1 18:37
zjxitcc 发表于 2020-7-1 18:00
网盘太慢了,我用你orca输出文件里的坐标直接建个gjf算了,比网盘下载快多了。
用fch2mkl生成的inp和mkl ...

您有空可以试试,用默认的ORCA的aug-cc-pVTZ直接去读取算的波函数,似乎是不能一轮收敛。
我照着ORCA PrintBasis出来的基函数用G16算初猜,这种可以一轮直接收敛。非常感谢您帮助。
作者
Author:
zjxitcc    时间: 2020-7-1 19:44
本帖最后由 zjxitcc 于 2020-7-1 19:47 编辑
量化小菜鸡 发表于 2020-7-1 18:37
您有空可以试试,用默认的ORCA的aug-cc-pVTZ直接去读取算的波函数,似乎是不能一轮收敛。
我照着ORCA Pr ...

我在#7楼就回复过了,最好不要用ORCA内置基组(如直接写名称),这只是有些时候能奏效,如果你经过几圈能收敛也行。但我仍强烈推荐用fch2mkl生成的inp文件,才能保证基组严格一致,也无需“ORCA PrintBasis出来的基函数用G16算初猜”这种操作。不然我让fch2mkl产生inp文件那不是多此一举了
作者
Author:
sobereva    时间: 2020-7-1 20:43
量化小菜鸡 发表于 2020-7-1 14:45
您试过加aug的吗?我这个似乎还是不行,第一步总是基组不一样。

对于CH3NH2,使用下文的方法,用aug-cc-pVTZ的情况下(关键词#p aug-cc-pVTZ int=NoBasisTransform),ORCA照样一步就收敛
将Gaussian等程序收敛的波函数作为ORCA的初猜波函数的方法
http://sobereva.com/517http://bbs.keinsci.com/thread-14905-1-1.html

ITER       Energy         Delta-E        Max-DP      RMS-DP      [F,P]     Damp
               ***  Starting incremental Fock matrix formation  ***
                      *** Initiating the SOSCF procedure ***
                      *** Re-Reading the Fockian ***
                      *** Removing any level shift ***
ITER      Energy       Delta-E        Grad      Rot      Max-DP    RMS-DP
  0    -95.25471790 -95.2547179018  0.000004  0.000004  0.000034  0.000000
               *** Restarting incremental Fock matrix formation ***
                 **** Energy Check signals convergence ****
              ***Rediagonalizing the Fockian in SOSCF/NRSCF***

               *****************************************************
               *                     SUCCESS                       *
               *           SCF CONVERGED AFTER   1 CYCLES          *


结果和Gaussian给出的HF=-95.2547179完全一致,明显对aug-cc-pVTZ基组定义上并不存在区别。因此完全没必要在基组的差异性上纠结。

当体系较大,弥散函数很多的情况下,不同程序对于去除线性依赖基函数的做法不同。如果按我博文的做法在ORCA里没法一步收敛,线性依赖基函数的处理应当是导致问题的关键。
Gaussian里用IOp(3/32=2)可以避免自动去除线性依赖基函数,但对你那么大体系还用aug-cc-pVTZ,很可能导致数值不稳定。

你那个体系用aug-cc-pVTZ完全没必要,用个jun-cc-pVTZ足矣,还能显著减轻线性依赖问题,还能大幅节约耗时。

作者
Author:
量化小菜鸡    时间: 2020-7-2 02:33
zjxitcc 发表于 2020-7-1 19:44
我在#7楼就回复过了,最好不要用ORCA内置基组(如直接写名称),这只是有些时候能奏效,如果你经过几圈能 ...

好的,谢谢。学习到新东西了
作者
Author:
量化小菜鸡    时间: 2020-7-2 02:34
sobereva 发表于 2020-7-1 20:43
对于CH3NH2,使用下文的方法,用aug-cc-pVTZ的情况下(关键词#p aug-cc-pVTZ int=NoBasisTransform),OR ...

谢谢社长帮助
作者
Author:
TDHFjiang    时间: 2020-7-2 14:37
zjxitcc 发表于 2020-6-30 15:19
暂时不用分享fch文件。也不用gen,你就用高斯里的aug-cc-pVTZ就行。用MOKIT里的fch2mkl,仅编译组件fch2m ...

我使用的是aug-cc-pVTZ、aug-cc-pVTZ-PP基组 生成的fchk, 用了MOKIT中生成的.gbw, 虽然在读取轨道信息时,出现如图1所示的问题,但是6圈后就收敛了(图2),(我没有完全采用MOKIT产生的inp, 所以会收敛较慢,通常情况下用MOKIT产生的inp应该会1-2圈收敛)C:\Users\yrjia\Desktop\Snipaste_2020-07-02_14-32-25.png    C:\Users\yrjia\Desktop\Snipaste_2020-07-02_14-32-40.png




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