计算化学公社

 找回密码 Forget password
 注册 Register
Views: 15392|回复 Reply: 17
打印 Print 上一主题 Last thread 下一主题 Next thread

[ORCA] 求助:用DLPNO-CCSD(T)优化小分子结构报错

[复制链接 Copy URL]

53

帖子

0

威望

198

eV
积分
251

Level 3 能力者

我看论坛里提到用金标准CCSD(T)算的大多是计算单点能,请问DLPNO-CCSD(T)可以用于优化分子结构么?我有尝试过用这个算法优化丙烷分子的结构,Multiwfn产生的输入文件,一开始运行报错信息提示采用数值梯度!NumGrad,加上关键词后任务正常运行,可是运行一会后又报错停掉了,报错信息如下。附件为inp和out文件。










orca报错.PNG (9.47 KB, 下载次数 Times of downloads: 23)

orca报错.PNG

C3H8.out

45.8 KB, 下载次数 Times of downloads: 10

C3H8.inp

957 Bytes, 下载次数 Times of downloads: 36

4289

帖子

4

威望

9536

eV
积分
13905

Level 6 (一方通行)

MOKIT开发者

2#
发表于 Post on 2020-7-10 09:33:13 | 只看该作者 Only view this author
DLPNO-CCSD(T)优化丙烷,加农炮打蚊子

评分 Rate

参与人数
Participants 2
eV +8 收起 理由
Reason
hebrewsnabla + 3 你太可爱
niobium + 5 你太可爱

查看全部评分 View all ratings

自动做多参考态计算的程序MOKIT

53

帖子

0

威望

198

eV
积分
251

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2020-7-10 09:36:58 | 只看该作者 Only view this author
zjxitcc 发表于 2020-7-10 09:33
DLPNO-CCSD(T)优化丙烷,加农炮打蚊子

我用其他杂化泛函双杂化泛函都优化过,我只是想测试对比一下各种优化的结果。问题是,这个报错怎么解决啊?

4289

帖子

4

威望

9536

eV
积分
13905

Level 6 (一方通行)

MOKIT开发者

4#
发表于 Post on 2020-7-10 09:45:02 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2020-7-10 09:51 编辑

DLPNO-CCSD(T)大多数时候都是内存问题,你这貌似用了56核,每个核给了4GB内存,这太夸张了,你确定你的机器有足够的内存?而且就算够也未必管用。降低并行核数试试看。

以及不要把 单核内存 乘 核数 写到 等于机器物理内存 那么大,稍微小一点。

我在看了遍输出文件,你这个难得还有比较明确的报错信息(可以自己翻输出文件找到,不要只看最后几行)
Error (ORCA_MDCI): Number of processes (56) in parallel calculation exceeds number of pairs (55)

那就是降低并行核数了


PS:“测试对比一下各种优化的结果”好歹也得找个有挑战性的结构,DFT可能不一定描述得好的那种丙烷太简单了。。。
自动做多参考态计算的程序MOKIT

53

帖子

0

威望

198

eV
积分
251

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2020-7-10 09:58:29 | 只看该作者 Only view this author
zjxitcc 发表于 2020-7-10 09:45
DLPNO-CCSD(T)大多数时候都是内存问题,你这貌似用了56核,每个核给了4GB内存,这太夸张了,你确定你的机器 ...

谢谢您的回复。可我关注的体系就是以丙烷为中心的催化反应啊,我总不能拿其他毫不相关的分子做测试吧。
那个4GB我理解是Max值吧,是个上限值,是说每个核一定会分配这么多吗?另外,我看论坛说CCSD(T)是非常昂贵的算法,还有orca手册说采用NumGrad会成好几倍的增加计算成本,所以寻思用多一点的核数算就选了最大的核数。那依您的建议,并行核数和内存应该取多少合适呢?谢谢。

4289

帖子

4

威望

9536

eV
积分
13905

Level 6 (一方通行)

MOKIT开发者

6#
发表于 Post on 2020-7-10 10:03:17 | 只看该作者 Only view this author
successjiang 发表于 2020-7-10 09:58
谢谢您的回复。可我关注的体系就是以丙烷为中心的催化反应啊,我总不能拿其他毫不相关的分子做测试吧。
...

自行尝试,核数太多/内存太大,机子就会很卡,过会儿就会挂掉,很明显的没有一个通用的公式给你代入
自动做多参考态计算的程序MOKIT

53

帖子

0

威望

198

eV
积分
251

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2020-7-10 10:07:58 | 只看该作者 Only view this author
zjxitcc 发表于 2020-7-10 10:03
自行尝试,核数太多/内存太大,机子就会很卡,过会儿就会挂掉,很明显的没有一个通用的公式给你代入

好的 感谢您的回复

1665

帖子

5

威望

4788

eV
积分
6553

Level 6 (一方通行)

喵星人

8#
发表于 Post on 2020-7-10 11:47:04 | 只看该作者 Only view this author
这个方法没有解析导数。。。。你确定要用这方法优化结构???

53

帖子

0

威望

198

eV
积分
251

Level 3 能力者

9#
 楼主 Author| 发表于 Post on 2020-7-10 12:04:41 | 只看该作者 Only view this author
本帖最后由 successjiang 于 2020-7-10 12:08 编辑
喵星大佬 发表于 2020-7-10 11:47
这个方法没有解析导数。。。。你确定要用这方法优化结构???

我不是很懂。我只是想把CCSD(T)计算的结果作为一种benchmark来对比校验其他泛函的精确性,其他的算法比如B97-3c, B3LYP-D3, RI-PWB95-D3都做了优化,我想比较一下哪个方法更加合适,在精确性和计算成本中间取一个合适的算法开展后续的计算。确实,我目前在论坛里看到的有关CCSD(T)的计算大都是计算单点能,没有优化结构的。但是如何实现我说的这种benchmark的作用呢?是在其他泛函优化的结构的基础上用CCSD(T)计算一个单点能么?

53

帖子

0

威望

198

eV
积分
251

Level 3 能力者

10#
 楼主 Author| 发表于 Post on 2020-7-10 12:12:40 | 只看该作者 Only view this author
zjxitcc 发表于 2020-7-10 10:03
自行尝试,核数太多/内存太大,机子就会很卡,过会儿就会挂掉,很明显的没有一个通用的公式给你代入

非常感谢您的建议。我把核数降低到28核,最大内存降低到1000Mb,任务在跑1个半小时后正常结束了。
还有一些小问题,想请您赐教。CCSD(T)的方法可以用于优化分子结构么?还是说一般都是在别的算法优化结构的基础上计算一个单点能作为基准呢?总结起来就是想问一下,CCSD(T)这种昂贵的算法,人们一般标准用于什么场合呢?谢谢。

1665

帖子

5

威望

4788

eV
积分
6553

Level 6 (一方通行)

喵星人

11#
发表于 Post on 2020-7-10 12:47:54 | 只看该作者 Only view this author
本帖最后由 喵星大佬 于 2020-7-10 14:32 编辑
successjiang 发表于 2020-7-10 12:04
我不是很懂。我只是想把CCSD(T)计算的结果作为一种benchmark来对比校验其他泛函的精确性,其他的算法比 ...

优化结构用一般DFT的方法就可以了,一般来说在泛函选择合适情况下极小点结构基本偏差很小,在使用频率校正因子的情况下唉热力学校正量比起高精度方法不差。
而主要矛盾是电子能量,电子能量要用尽可能高的精度去算,所以用CCSD(T)等等方法。就比较不同泛函的精度这个事情来说,去搜一搜别人做benchmark的文章就知道了,构造测试集,说明测试集的合理性。常见的情况是用某一种方法优化完了所有结构之后用不同方法/基组计算单点然后比较。

4289

帖子

4

威望

9536

eV
积分
13905

Level 6 (一方通行)

MOKIT开发者

12#
发表于 Post on 2020-7-10 13:08:23 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2020-7-10 13:20 编辑
successjiang 发表于 2020-7-10 12:12
非常感谢您的建议。我把核数降低到28核,最大内存降低到1000Mb,任务在跑1个半小时后正常结束了。
还有一 ...

一般用来算高精度单点。当然,可以与DFT下算得的热力学量相加,认为是高精度的自由能,用于研究反应能垒、结合能等实际问题。

不是说不可以做结构优化,可以做。只是你这个“以丙烷为中心的催化反应”听起来不让人信服,大家都是“以xxx过渡金属为中心/催化剂的催化反应”,然后用CCSD(T)得到反应能垒,用其他泛函的结果来比对,这还差不多。你这冒出来一个丙烷,没人会怀疑DFT描述丙烷有问题(除非是复杂反应例如双自由基等问题,但UDFT也能描述好双自由基),因此这时候算CCSD(T)就会被认为没有意义。对丙烷等简单有机物进行DFT和CC结构比较,会让内行人看起来这人不专业。
自动做多参考态计算的程序MOKIT

53

帖子

0

威望

198

eV
积分
251

Level 3 能力者

13#
 楼主 Author| 发表于 Post on 2020-7-10 13:40:48 | 只看该作者 Only view this author
zjxitcc 发表于 2020-7-10 13:08
一般用来算高精度单点。当然,可以与DFT下算得的热力学量相加,认为是高精度的自由能,用于研究反应能垒 ...

感谢您的回复。不好意思,量化基础比较薄弱,让您见笑了。我还想问您一个follow-up question。我催化剂的体系是3d或者4d过渡金属氧化物,我们知道DFT描述过渡金属高度局域的d轨道往往表现不好,那如果我想用CCSD(T)来计算这样的催化剂团簇的高精度单点能作为benchmark来校验其他泛函的准确性是否可以?如果可以的话,我的团簇算上氧原子大概在120多个,这么大的模型原版的CCSD(T)肯定是算不动的,ORCA提供的DLPNO-CCSD(T)做一种近似的计算是不是可以算?如果还算不动的话,我尝试减少模型尺寸是否可以计算?以及这样的比较是否是合理的呢?谢谢。

4289

帖子

4

威望

9536

eV
积分
13905

Level 6 (一方通行)

MOKIT开发者

14#
发表于 Post on 2020-7-10 13:56:01 | 只看该作者 Only view this author
successjiang 发表于 2020-7-10 13:40
感谢您的回复。不好意思,量化基础比较薄弱,让您见笑了。我还想问您一个follow-up question。我催化剂的 ...

可以这么做。100个原子DLPNO-CCSD(T)没问题(如有你有足够大内存的机器)。但是你仅氧原子就100多个,整个体系原子数就更多了,在ORCA大概率你可能连一开始SCF这关都收敛不了,不要说后面的DLPNO-CCSD(T)了。就算过了SCF这关,后面计算量也太大了。所以有必要合理地减小尺寸。

PS1:如果是双核过渡金属单重态,注意是否有反铁磁耦合。若有,则SCF这步要用UHF,后面自然也是DLPNO-UCCSD(T),计算量就更大了。
PS2:多核过渡金属的话即使是UCCSD(T)也不一定靠谱,此时标定泛函也就没什么意义了,大家都不准,就是算着看看而已。
PS3:多核3d, 4d过渡金属是噩梦,还是弃疗就用DFT比较好
自动做多参考态计算的程序MOKIT

1665

帖子

5

威望

4788

eV
积分
6553

Level 6 (一方通行)

喵星人

15#
发表于 Post on 2020-7-10 14:35:03 | 只看该作者 Only view this author
zjxitcc 发表于 2020-7-10 13:56
可以这么做。100个原子DLPNO-CCSD(T)没问题(如有你有足够大内存的机器)。但是你仅氧原子就100多个,整 ...

对于这种3d4d过渡金属理论上最好的MRCCn方法,然而应该仅存在于理论上

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-19 06:25 , Processed in 0.192808 second(s), 26 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list