计算化学公社

标题: orca计算频率非常耗时的问题 [打印本页]

作者
Author:
yjf1997    时间: 2021-7-18 13:29
标题: orca计算频率非常耗时的问题
我用orca计算30原子的几何优化和频率,但计算花了好几天,输入文件如下:
! b3lyp/g aug-cc-pVTZ opt freq TightSCF
%pal nprocs 16 end
%maxcore 4000
*xyz 0 1

请问输入文件用的是解析频率吗,为什么会花这么久的时间

作者
Author:
wzkchem5    时间: 2021-7-18 14:20
因为基组太大了。用这么大基组算频率几乎毫无必要,单考虑频率的准确度的话,def2-SVP足够了,即使考虑到几何结构优化的准确度,def2-TZVP(-f)也够了。如果是因为担心BSSE才用这么大的基组,可以改成小一些的基组然后加gCP校正。
作者
Author:
yjf1997    时间: 2021-7-18 14:25
wzkchem5 发表于 2021-7-18 14:20
因为基组太大了。用这么大基组算频率几乎毫无必要,单考虑频率的准确度的话,def2-SVP足够了,即使考虑到几 ...

可是同样的基组同样的结构,我用高斯算也就十小时左右就算完了。同样的方法,为什么orca会比高斯慢这么多。
作者
Author:
wzkchem5    时间: 2021-7-18 14:31
本帖最后由 wzkchem5 于 2021-7-18 07:34 编辑
yjf1997 发表于 2021-7-18 07:25
可是同样的基组同样的结构,我用高斯算也就十小时左右就算完了。同样的方法,为什么orca会比高斯慢这么多 ...

你用的是ORCA的哪个版本?如果是5.0以前的版本,换成5.0试试。如果觉得安装5.0版太麻烦,试试加RIJCOSX关键词。
ORCA开了RIJCOSX以后,相比高斯有明显速度优势,但是5.0以前的版本默认不开,从5.0开始变成默认开。因为有RIJCOSX这个功能,所以对于不开RIJCOSX的计算,ORCA没有做像高斯那样系统的速度优化。此外ORCA 5.0也做了一些其他的速度优化,虽然因为license问题导致我们没法测高斯的运行时间,但是对于你这个体系,我觉得开了RIJCOSX以后是可以比高斯快的,起码对于ORCA 5.0是这样的。
举个可能不恰当的例子,你用ORCA计算不开RIJCOSX,就好比你用高斯计算开了freq=numer,放着最快的算法不用而专门去用更慢的算法,那比其他软件慢也不奇怪。
作者
Author:
yjf1997    时间: 2021-7-18 14:35
wzkchem5 发表于 2021-7-18 14:31
你用的是ORCA的哪个版本?如果是5.0以前的版本,换成5.0试试。如果觉得安装5.0版太麻烦,试试加RIJCOSX关 ...

现在用的orca应该是4.2的,我加上RIJCOSX试试看,谢谢大佬
作者
Author:
yjf1997    时间: 2021-7-18 15:54
这是我换用了6-31(d,p)基组算出来的结果,还是高斯的计算速度比orca要快,而且两个算出来的数据也不是很一样,是输入文件写的有问题吗?

作者
Author:
wzkchem5    时间: 2021-7-18 16:46
yjf1997 发表于 2021-7-18 08:54
这是我换用了6-31(d,p)基组算出来的结果,还是高斯的计算速度比orca要快,而且两个算出来的数据也不是很一 ...

在高斯里6-31G(d)的d极化函数是笛卡尔函数,而在ORCA里是球谐函数,因此两者的能量是不能直接比的。参见http://sobereva.com/573
至于时间,注意高斯的opt和freq的时间是分开打印的,最后打出来的只是freq时间,opt的时间在输出文件大概60%的地方(搜"Elapsed time:"),两者相加才是opt+freq的总时间。你这样比就会发现和orca用的时间基本没有区别。
再者。高斯对于Pople系列基组做了特殊的优化,而RIJCOSX是针对Ahlrichs系列基组做优化的。所以ORCA里建议用def2-SVP这一类基组,这样性价比高一些。def2-SVP对应6-31G(d,p),def2-SV(P)对应6-31G(d)。
作者
Author:
abin    时间: 2021-7-18 19:20
ORCA GGA functionals,快得一塌糊涂。
当然ADF Gaussian也不慢。

使用hybrid functionals,我遇到的场景,
均没有高斯快。
作者
Author:
wzkchem5    时间: 2021-7-18 20:28
本帖最后由 wzkchem5 于 2021-7-18 13:57 编辑
abin 发表于 2021-7-18 12:20
ORCA GGA functionals,快得一塌糊涂。
当然ADF Gaussian也不慢。

ORCA用6-31G(d)、6-31G(d,p)可能慢一些,毕竟高斯是对6-31G(d)这一类Pople基组进行了特殊优化的。但是ORCA一直是不建议用Pople基组的,而建议用def2系列基组。
ORCA无论是算纯泛函(任意基组)、杂化泛函(triple-zeta def2基组及以上)、双杂化泛函都有明显优势。至于是不是比高斯快,出于众所周知的原因我没办法在公共场合说,大家一测便知。杂化泛函double zeta基组是高斯相比ORCA最具有“比较优势”的情形。然而大家提到DFT计算,言必称B3LYP/6-31G(d),哪怕ORCA用B97-3c之类的方法算得可能比B3LYP/6-31G(d)既更快又更准(disclaimer: 我没认真测过时间,所以说“可能”。但更准是公认的),只要不是B3LYP/6-31G(d)算的,很多人就不认。殊不知B3LYP/6-31G(d)这个计算级别正是被高斯带火的,因为高斯尤其擅长这个,而又有很长一段时间没有什么软件能和高斯竞争,所以B3LYP/6-31G(d)成了行业标准。如果当年是ORCA先一统江湖,高斯再崛起的话,说不定会轮到高斯新手用户抱怨高斯的B97-3c、BP86/def2-SVP太慢。
作者
Author:
yjf1997    时间: 2021-7-19 09:19
wzkchem5 发表于 2021-7-18 16:46
在高斯里6-31G(d)的d极化函数是笛卡尔函数,而在ORCA里是球谐函数,因此两者的能量是不能直接比的。参见h ...

为什么我换用了def2-SVP基组之后时间反而增加了,从原先的4 minutes 35 seconds变成了6 minutes 56 seconds,而且最后收敛的能量差的也很多。
输入文件是这样的,只是把原先的6-31G(d,p)换成了def2-SVP。
! b3lyp/g def2-SVP opt freq RIJCOSX TightSCF
%pal nprocs 32 end
%maxcore 3000
*xyz 0 1
作者
Author:
wzkchem5    时间: 2021-7-19 14:46
本帖最后由 wzkchem5 于 2021-7-19 11:36 编辑
yjf1997 发表于 2021-7-19 02:19
为什么我换用了def2-SVP基组之后时间反而增加了,从原先的4 minutes 35 seconds变成了6 minutes 56 secon ...

在我这里跑出来的结果,两个时间差不多久。(我用8个核跑的)
6-31G(d,p):
Sum of individual times         ...      831.807 sec (=  13.863 min)
GTO integral calculation        ...       19.804 sec (=   0.330 min)   2.4 %
SCF iterations                  ...      302.556 sec (=   5.043 min)  36.4 %
SCF Gradient evaluation         ...       69.832 sec (=   1.164 min)   8.4 %
Geometry relaxation             ...        0.811 sec (=   0.014 min)   0.1 %
Analytical frequency calculation...      438.805 sec (=   7.313 min)  52.8 %


def2-SVP:
Sum of individual times         ...      838.030 sec (=  13.967 min)
GTO integral calculation        ...       17.764 sec (=   0.296 min)   2.1 %
SCF iterations                  ...      326.336 sec (=   5.439 min)  38.9 %
SCF Gradient evaluation         ...       70.225 sec (=   1.170 min)   8.4 %
Geometry relaxation             ...        0.763 sec (=   0.013 min)   0.1 %
Analytical frequency calculation...      422.941 sec (=   7.049 min)  50.5 %


仔细看输出文件发现似乎主要是因为SCF迭代的时候def2-SVP的COSX比6-31G(d,p)慢,但是在频率计算部分def2-SVP追回来了。
需要强调一下,ORCA推荐def2系列基组不是因为快,而是因为性价比高,也就是同等计算量可以得到更高的精度。
作者
Author:
Childhood    时间: 2021-7-19 16:40
RIJCOSX 需要加辅助基组吧? 还是有默认设置?关键词是 def2/J
作者
Author:
wzkchem5    时间: 2021-7-19 17:39
Childhood 发表于 2021-7-19 09:40
RIJCOSX 需要加辅助基组吧? 还是有默认设置?关键词是 def2/J

即使不写也会默认加def2/J。如果不确定可以看输出文件确认
作者
Author:
yjf1997    时间: 2021-7-19 18:48
wzkchem5 发表于 2021-7-19 14:46
在我这里跑出来的结果,两个时间差不多久。(我用8个核跑的)
6-31G(d,p):
Sum of individual times   ...

我重新算了以下确实差不多,可能是输入文件哪里出问题了,谢谢大佬的解答
作者
Author:
xuhj199508    时间: 2021-7-20 10:16
wzkchem5 发表于 2021-7-18 20:28
ORCA用6-31G(d)、6-31G(d,p)可能慢一些,毕竟高斯是对6-31G(d)这一类Pople基组进行了特殊优化的。但是ORC ...

老师您好,我用ORCA做100+原子数的分子的激发态opt+freq计算,在ORCA NUMERICAL FREQUENCIES这一步停留了很久,输出信息如下:
        << Calculating on displaced geometry  12 (of 630) >>
        << Calculating on displaced geometry   1 (of 630) >>
        << Calculating on displaced geometry   3 (of 630) >>
        << Calculating on displaced geometry   9 (of 630) >>
......
        << Calculating on displaced geometry  72 (of 630) >>

我的输入文件如下:
! B3LYP/G def2-SVP def2/J opt freq tightSCF noautostart nopop
%maxcore  3000
%pal nprocs  12 end
%tddft
nroots 6
iroot 1
TDA false
end
请问这是正常现象吗?还是说我的输入文件有什么需要修改的地方?
作者
Author:
wzkchem5    时间: 2021-7-20 15:55
xuhj199508 发表于 2021-7-20 03:16
老师您好,我用ORCA做100+原子数的分子的激发态opt+freq计算,在ORCA NUMERICAL FREQUENCIES这一步停留了 ...

ORCA没有TDDFT的解析频率,自动改成了计算数值频率。
等到Calculating on displaced geometry后面那个数字把1~630都取了一遍,就算完了。如果实在急,就多几个核并行,数值频率的优势在于并行效率高,你用100个核并行,差不多就能做到1个核并行的计算速度的100倍,其他大部分计算任务做不到这样。
作者
Author:
xuhj199508    时间: 2021-7-20 17:21
wzkchem5 发表于 2021-7-20 15:55
ORCA没有TDDFT的解析频率,自动改成了计算数值频率。
等到Calculating on displaced geometry后面那个数 ...

好的,老师,我去试一下跨节点并行计算。
还有个问题想请教一下您,我是想用ORCA的ESD模块计算光谱,请问我这个计算级别合适吗?
作者
Author:
wzkchem5    时间: 2021-7-20 17:29
xuhj199508 发表于 2021-7-20 10:21
好的,老师,我去试一下跨节点并行计算。
还有个问题想请教一下您,我是想用ORCA的ESD模块计算光谱,请 ...

如果你已经确定你的计算级别对于你的体系的垂直激发是合理的(比如你要算的激发态不是电荷转移跃迁),那么用这个级别算ESD就可以
作者
Author:
xuhj199508    时间: 2021-7-20 17:58
wzkchem5 发表于 2021-7-20 17:29
如果你已经确定你的计算级别对于你的体系的垂直激发是合理的(比如你要算的激发态不是电荷转移跃迁),那 ...

好的,谢谢老师的回答!
作者
Author:
dnlx    时间: 2022-1-28 12:34
wzkchem5 发表于 2021-7-18 20:28
ORCA用6-31G(d)、6-31G(d,p)可能慢一些,毕竟高斯是对6-31G(d)这一类Pople基组进行了特殊优化的。但是ORC ...

请教各位:社长说“频率计算用的级别必须和几何优化严格一致”,那么6-31G(d)和def2-SV(p)算不算级别严格一致?

我碰到的问题是,文献给的几何结构(120个原子,含一个镍)用的是Jaguar的B3LYP/lacvp* (查了社长的解释,基组的写法等价于6-31G(d) +LANL2DZ),我想省去优化,用这个结构来计算频率。但是不知道ORCA 5在四核笔记本上能不能算得动频率(正在试验),以及,如果为了ORCA加速而把6-31G(d)改成def2-SV(p),不知道是否合理。
作者
Author:
wzkchem5    时间: 2022-1-28 15:40
dnlx 发表于 2022-1-28 05:34
请教各位:社长说“频率计算用的级别必须和几何优化严格一致”,那么6-31G(d)和def2-SV(p)算不算级别严格 ...

不算一致。
我举个例子,哪些情况算不一致:一个计算用Grid4,另一个计算用Grid5;一个计算用了RIJCOSX,另一个计算没用;一个计算用高斯的B3LYP,另一个计算用ORCA的B3LYP;一个计算用高斯的6-31G(d)(d函数是笛卡尔函数),另一个计算用ORCA的6-31G(d)(d函数是球谐函数)。这些情况都属于不一致。你要是一个计算用6-31G(d)、另一个计算用def2-SV(p),差别比这个大多了。
之所以(当计算热力学量,或验证优化的结构的虚频数目时)频率和结构优化的理论级别必须一致,是因为只有当计算频率的结构的梯度严格为零时,计算热力学量的公式才成立;而且只有在这种情况下,“如果没有虚频就是极小值点,有一个虚频就是过渡态”这个结论才成立。如果频率和优化的理论级别差哪怕一点点,你在算频率的理论级别下的梯度就不是0,以上说的公式和结论就失效了。但是对于计算热力学量、验证虚频数目以外的用途,有可能不需要频率理论级别和优化一致,比如优化过渡态算的初始Hessian就不需要和结构优化的理论级别一致。
作者
Author:
sobereva    时间: 2022-2-5 05:09
dnlx 发表于 2022-1-28 12:34
请教各位:社长说“频率计算用的级别必须和几何优化严格一致”,那么6-31G(d)和def2-SV(p)算不算级别严格 ...

此语境下,级别泛指所有影响势能面的因素

四核搞这么大体系没戏,起码也得有个>=12核的机子,除非你真的特别能等。要是用纯泛函靠RIJ,还相对好点(可以用B97-3c)

如果你是为了有标配的辅助基组,6-31G*可以改成def2-SV(P)。
作者
Author:
溪临昭煌    时间: 2022-7-8 15:59
本帖最后由 溪临昭煌 于 2022-7-8 16:32 编辑
wzkchem5 发表于 2021-7-19 14:46
在我这里跑出来的结果,两个时间差不多久。(我用8个核跑的)
6-31G(d,p):
Sum of individual times   ...

老师,请问您说的“ORCA推荐def2系列基组不是因为快,而是因为性价比高,也就是同等计算量可以得到更高的精度。”,意思是说ORCA用def2-SVP和用6-31g**的速度其实差不多,但是def2-SVP更精确的意思吗,还是“def2/SVP比6-31g**慢,但是这种慢对精度的提升是值得的”,我的目的只是为了在够用的情况下尽可能提升几何优化和过渡态搜索计算速度
作者
Author:
wzkchem5    时间: 2022-7-8 16:37
溪临昭煌 发表于 2022-7-8 08:59
老师,请问您说的“ORCA推荐def2系列基组不是因为快,而是因为性价比高,也就是同等计算量可以得到更高的 ...

计算时间差不多,def2-SVP稍微准一点。此外这个准只有在取能量差的时候有可能看出来,在绝对能量方面看不出来,因为6-31G**过于强调内层电子的精度,导致把绝对能量描述得比较好,但是牺牲了一点价层性质的精度。再者这个准并不是必然的,只是统计上更准,例外情况也是存在的。
作者
Author:
溪临昭煌    时间: 2022-7-8 16:43
wzkchem5 发表于 2022-7-8 16:37
计算时间差不多,def2-SVP稍微准一点。此外这个准只有在取能量差的时候有可能看出来,在绝对能量方面看不 ...

明白了,谢谢老师指点
作者
Author:
ChemG    时间: 2022-7-8 16:44
溪临昭煌 发表于 2022-7-8 15:59
老师,请问您说的“ORCA推荐def2系列基组不是因为快,而是因为性价比高,也就是同等计算量可以得到更高的 ...

ORCA对def2系列可以用RI加速的,而且也更准确。对于大体系,使用双杂化泛函结合较大的基组(def2-TZVPP、def2-QZVPP),利用RIJCOSX加速快的飞起。而用Gaussian算双杂化泛函速度要慢很多。pople型基组在ORCA中没有内置的辅助基,只能用!AuatoAux自动生成
作者
Author:
溪临昭煌    时间: 2022-7-8 22:52
ChemG 发表于 2022-7-8 16:44
ORCA对def2系列可以用RI加速的,而且也更准确。对于大体系,使用双杂化泛函结合较大的基组(def2-TZVPP、 ...

明白了,谢谢老师,可惜我需要用的基组是2-zeta等级,享受不了快的飞起的感觉
作者
Author:
ChemG    时间: 2022-7-9 09:47
溪临昭煌 发表于 2022-7-8 22:52
明白了,谢谢老师,可惜我需要用的基组是2-zeta等级,享受不了快的飞起的感觉

可以看看 http://sobereva.com/490,社长有详细的描述。也可以看ORCA手册的相关部分。纯泛函开启RIJ或者r2SCAN-3c也很快的。
作者
Author:
溪临昭煌    时间: 2022-7-9 14:15
ChemG 发表于 2022-7-9 09:47
可以看看 http://sobereva.com/490,社长有详细的描述。也可以看ORCA手册的相关部分。纯泛函开启RIJ或者r ...

嗯嗯,看到了,谢谢老师,可惜我恰好需要用的是杂化泛函和2-Zeta,完美避开所有享受




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