计算化学公社

标题: CCSD(T)算不动较大体系有没有什么解决办法 [打印本页]

作者
Author:
mfdsrax2    时间: 2021-11-8 20:08
标题: CCSD(T)算不动较大体系有没有什么解决办法
我需要计算反应能垒,有一个中间体特别大,有6个硝基,42个非氢原子(只含CNO),其他体系是用CCSD(T)/def2TZVPP//M062X/6-311+g(2d,p)算的,这个有点算不动,有没有什么解决办法

作者
Author:
wzkchem5    时间: 2021-11-8 20:25
用orca的DLPNO-CCSD(T)算,计算时间大概也就是DFT的10倍的量级。这么大的体系,高斯之类的软件不可能算得动。
因为DLPNO引入了一些近似,绝对能量和普通的CCSD(T)不可比,所以其他的CCSD(T)单点也要用orca重算才能比较。不过opt+freq不需要重算
作者
Author:
zjxitcc    时间: 2021-11-8 20:26
这都2021年快要结束了,DLPNO-CCSD(T)已经很普及了,下载个ORCA,用上DLPNO-CCSD(T),岂非爽哉?
用ORCA做DLPNO-CCSD(T)计算》,《ORCA 5.0安装及运行



作者
Author:
zjxitcc    时间: 2021-11-8 20:28
wzkchem5 发表于 2021-11-8 20:25
用orca的DLPNO-CCSD(T)算,计算时间大概也就是DFT的10倍的量级。这么大的体系,高斯之类的软件不可能算得动 ...

闭壳层DLPNO-CCSD(T1) VeryTightSCF TightPNO搭配同样的基组,再开RI,也应该是可以比的吧,都超级接近了。
作者
Author:
红米饭1234    时间: 2021-11-8 21:05
反应位垒没必要用后HF做单点,基组改大一点就行了。 推荐 M062X//6-311+g(2d,p)//M062X/6-311g*
作者
Author:
sobereva    时间: 2021-11-8 21:10
用DLPNO-CCSD(T)/cc-pVTZ,看下文相应部分
详谈Multiwfn产生ORCA量子化学程序的输入文件的功能
http://sobereva.com/490http://bbs.keinsci.com/thread-13560-1-1.html

如果算着还吃力,在ORCA里用PWPB95-D3(BJ)/def2-QZVPP,看上文,用Multiwfn可以直接产生输入文件,非常方便

PS:如果对势垒精度要求较高,M062X/6-311+g(2d,p)级别不够用。

作者
Author:
wzkchem5    时间: 2021-11-8 22:08
zjxitcc 发表于 2021-11-8 13:28
闭壳层DLPNO-CCSD(T1) VeryTightSCF TightPNO搭配同样的基组,再开RI,也应该是可以比的吧,都超级接近了 ...

反正如果是我的话,除非针对我的体系自己做benchmark确认一下,否则不太敢这么减。。。
而且这样做的话写文章也不好写,写我只用高斯或者只用orca都不反映实际情况,如果写有的用高斯有的用orca又会被审稿人喷得体无完肤。。。
作者
Author:
mfdsrax2    时间: 2021-11-8 23:00
sobereva 发表于 2021-11-8 21:10
用DLPNO-CCSD(T)/cc-pVTZ,看下文相应部分
详谈Multiwfn产生ORCA量子化学程序的输入文件的功能
http://so ...

PS:如果对势垒精度要求较高,M062X/6-311+g(2d,p)级别不够用。

有哪些推荐的优化级别?
作者
Author:
sobereva    时间: 2021-11-8 23:01
mfdsrax2 发表于 2021-11-8 23:00
PS:如果对势垒精度要求较高,M062X/6-311+g(2d,p)级别不够用。

有哪些推荐的优化级别?

我针对的是5L说的,这个级别对于算能量不够用,优化完全足够。实际上加弥散都完全多余
作者
Author:
mfdsrax2    时间: 2021-12-4 20:56
zjxitcc 发表于 2021-11-8 20:28
闭壳层DLPNO-CCSD(T1) VeryTightSCF TightPNO搭配同样的基组,再开RI,也应该是可以比的吧,都超级接近了 ...

你好,我试了
! DLPNO-CCSD(T1) tightPNO RIJK def2-TZVPP def2-TZVPP/JK def2-TZVPP/C verytightSCF noautostart miniprint nopop

但是提示下面的问题,def2-TZVPP不需要JK吗?
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                 INPUT ERROR
            UNRECOGNIZED OR DUPLICATED KEYWORD(S) IN SIMPLE INPUT LINE
                         DEF2-TZVPP/JK               
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者
Author:
biogon    时间: 2021-12-4 22:23
mfdsrax2 发表于 2021-12-4 20:56
你好,我试了
! DLPNO-CCSD(T1) tightPNO RIJK def2-TZVPP def2-TZVPP/JK def2-TZVPP/C verytightSCF no ...

自动生成关键词一下先确认版本
作者
Author:
zjxitcc    时间: 2021-12-4 22:24
mfdsrax2 发表于 2021-12-4 20:56
你好,我试了
! DLPNO-CCSD(T1) tightPNO RIJK def2-TZVPP def2-TZVPP/JK def2-TZVPP/C verytightSCF no ...

是def2/JK
作者
Author:
mfdsrax2    时间: 2021-12-4 23:11
zjxitcc 发表于 2021-12-4 22:24
是def2/JK

好的可以了,程序运行时有两个警告,这个有影响吗?

================================================================================
                                        WARNINGS
                       Please study these warnings very carefully!
================================================================================


WARNING: MDCI localization with Augmented Hessian Foster-Boys
  ===> : Switching off randomization!

WARNING: Post HF methods need fully converged wavefunctions
  ===> : Setting SCFConvForced true
         You can overwrite this default with %scf ConvForced false


INFO   : the flag for use of LIBINT has been found!

作者
Author:
mfdsrax2    时间: 2021-12-4 23:13
zjxitcc 发表于 2021-12-4 22:24
是def2/JK

还有一个问题,RIJK def2/JK和def2-TZVPP/C都是加速方法吗,如果不写是否可以提高精度?
作者
Author:
zjxitcc    时间: 2021-12-4 23:43
mfdsrax2 发表于 2021-12-4 23:13
还有一个问题,RIJK def2/JK和def2-TZVPP/C都是加速方法吗,如果不写是否可以提高精度?

看如下几篇,了解相关的基本知识
在ORCA的SCF计算中使用RI近似
RI-MP2简介及用ORCA做RI-MP2计算
用ORCA做DLPNO-CCSD(T)计算



作者
Author:
sobereva    时间: 2021-12-5 07:14
mfdsrax2 发表于 2021-12-4 23:13
还有一个问题,RIJK def2/JK和def2-TZVPP/C都是加速方法吗,如果不写是否可以提高精度?

里面有简要介绍
大体系弱相互作用计算的解决之道
http://sobereva.com/214
详谈Multiwfn产生ORCA量子化学程序的输入文件的功能
http://sobereva.com/490http://bbs.keinsci.com/thread-13560-1-1.html
作者
Author:
sobereva    时间: 2021-12-5 07:14
mfdsrax2 发表于 2021-12-4 23:11
好的可以了,程序运行时有两个警告,这个有影响吗?

============================================== ...

不用管
作者
Author:
mfdsrax2    时间: 2021-12-5 22:17
每次算到DLPNO BASED TRIPLES CORRECTION这一步都会提示内存不足
[file orca_tools/qcmem.cpp, line 884, Process 24]:  OUT OF MEMORY ERROR!
我用48核/2GB内存算16个原子的DLPNO-CCSD/def2-TZVPP,这个是内存给少了吗?
作者
Author:
wzkchem5    时间: 2021-12-5 22:36
mfdsrax2 发表于 2021-12-5 15:17
每次算到DLPNO BASED TRIPLES CORRECTION这一步都会提示内存不足
[file orca_tools/qcmem.cpp, line 884,  ...

如果每个核都给2GB,应该是够的
作者
Author:
mfdsrax2    时间: 2021-12-5 22:52
wzkchem5 发表于 2021-12-5 22:36
如果每个核都给2GB,应该是够的

我也觉得,关键词这么些应该是这个意思吧
|  1> ! DLPNO-CCSD(T1) RIJK TightPNO def2-TZVPP def2/JK def2-TZVPP/C tightSCF noautostart miniprint nopop
|  2> %maxcore  2000
|  3> %pal nprocs 48 end
|  4> * xyz   0   1

作者
Author:
wzkchem5    时间: 2021-12-5 23:26
mfdsrax2 发表于 2021-12-5 15:52
我也觉得,关键词这么些应该是这个意思吧
|  1> ! DLPNO-CCSD(T1) RIJK TightPNO def2-TZVPP def2/JK de ...

应该没问题。另外你的机子有多大物理内存?maxcore足够不代表内存一定够,必须实际的物理内存也够才行
作者
Author:
mfdsrax2    时间: 2021-12-5 23:27
wzkchem5 发表于 2021-12-5 23:26
应该没问题。另外你的机子有多大物理内存?maxcore足够不代表内存一定够,必须实际的物理内存也够才行

单节点48核64G内存
作者
Author:
zjxitcc    时间: 2021-12-6 00:21
mfdsrax2 发表于 2021-12-5 23:27
单节点48核64G内存

你机子才64G内存,你却在输入文件里指定2*48 = 96G内存?这不明摆着不够用么。。。

敢于指定2*48 = 96G内存的,机子上至少得有128G内存,你这个配置还离得很远。
作者
Author:
mfdsrax2    时间: 2021-12-6 08:32
zjxitcc 发表于 2021-12-6 00:21
你机子才64G内存,你却在输入文件里指定2*48 = 96G内存?这不明摆着不够用么。。。

敢于指定2*48 = 96 ...

抱歉我写错了,单节点是24核64G内存,计算时用了2个节点
作者
Author:
wzkchem5    时间: 2021-12-6 18:27
mfdsrax2 发表于 2021-12-6 01:32
抱歉我写错了,单节点是24核64G内存,计算时用了2个节点

会不会是提交脚本有什么问题,导致其实是在一个节点上跑的?
如果你只用一个节点跑,并且把maxcore相应地设小,看看会不会还出现这个问题?
作者
Author:
mfdsrax2    时间: 2021-12-8 08:28
wzkchem5 发表于 2021-12-6 18:27
会不会是提交脚本有什么问题,导致其实是在一个节点上跑的?
如果你只用一个节点跑,并且把maxcore相应 ...

我试了一下,内存过大或者过小都会报OUT OF MEMORY ERROR!的错误
用单节点跑,24核/1GB,24核/2GB,12核/5GB,12核/2GB内存都会报内存不足,有的是在算三重激发态时出错,有的还没有算到CCSD就已经出错了,12核/4GB在结束的时候内存不足,但是程序也能正常结束,能够得到结果,只有12核/3GB能够正常算完,不太清楚ORCA的内存策略。
作者
Author:
wzkchem5    时间: 2021-12-8 16:42
mfdsrax2 发表于 2021-12-8 01:28
我试了一下,内存过大或者过小都会报OUT OF MEMORY ERROR!的错误
用单节点跑,24核/1GB,24核/2GB,12核 ...

这里有两种内存不足,一种是物理内存不足,一种是你设定的内存不足。
程序不知道这个机子有多少物理内存(原则上程序可以知道,但是考虑到当服务器有排队系统的时候,可能你只有权限用其中一部分物理内存,所以一般程序都要求你手动设定内存),它假设你输多少内存就是有多少内存可以用。那么有三种情况:
(1)你设的内存大于、等于、或者只略小于物理内存。此时程序以为你设多少就是有多少,因此用消耗内存比较大的算法,以求计算快,实际做计算才发现内存没那么多,于是不得不从头再来,换用消耗内存更小的算法,但是从写代码的角度,与其自动改用内存消耗较少的算法从头来过,更方便的做法是报错,让用户手动调小内存重跑。
(2)你设的内存明显小于物理内存,且大于那个内存消耗较少的算法消耗的内存。此时皆大欢喜,可以跑完。
(3)你设的内存小于那个内存消耗较少的算法需要的内存。此时没法做计算,程序报错。
作者
Author:
mfdsrax2    时间: 2021-12-8 17:23
wzkchem5 发表于 2021-12-8 16:42
这里有两种内存不足,一种是物理内存不足,一种是你设定的内存不足。
程序不知道这个机子有多少物理内存 ...

是这样的
作者
Author:
七尺贱    时间: 2024-1-20 20:27
wzkchem5 发表于 2021-12-8 16:42
这里有两种内存不足,一种是物理内存不足,一种是你设定的内存不足。
程序不知道这个机子有多少物理内存 ...

您好,我想问一下CCSD(T)-F12计算和DLPNO-CCSD(T)相比谁好点呢,我看着CCSD(T)-F12结合aug-cc-pVTZ就可以达到CCSD(T)/aug-cc-pV5Z精度。DLPNO-CCSD(T)/aug-cc-pVTZ算几十个原子体系还是很轻松的,CCSD(T)-F12/aug-cc-pVTZ可以算多大体系呢,服务器大概500G内存。我想算一个30原子的有机分子,不知道能不能算的动
作者
Author:
zjxitcc    时间: 2024-1-20 22:00
本帖最后由 zjxitcc 于 2024-1-20 22:02 编辑
七尺贱 发表于 2024-1-20 20:27
您好,我想问一下CCSD(T)-F12计算和DLPNO-CCSD(T)相比谁好点呢,我看着CCSD(T)-F12结合aug-cc-pVTZ就可以 ...

你说的比法不成立。要这样比较:
CCSD(T)与CCSD(T)-F12比,差别在F12,同样基组下CCSD(T)-F12更准;
DLPNO-CCSD(T)与CCSD(T)比,前者是后者的近似,同样基组下CCSD(T)更准;
DLPNO-CCSD(T)-F12与CCSD(T)-F12比,前者是后者的近似,同样基组下后者更准。

另外,CCSD(T)-F12/aug-cc-pVTZ应该是算不动30个原子的体系的,DLPNO-CCSD(T)-F12肯定算得动。而且F12方法一般搭配适配基组,例如cc-pVTZ-F12。
作者
Author:
七尺贱    时间: 2024-1-20 22:08
zjxitcc 发表于 2024-1-20 22:00
你说的比法不成立。要这样比较:
CCSD(T)与CCSD(T)-F12比,差别在F12,同样基组下CCSD(T)-F12更准;
DL ...

原来如此,谢谢




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