计算化学公社

标题: ORCA的AUTOCI模块有没有名为MAXCORE的参数? [打印本页]

作者
Author:
啊不错的飞过海    时间: 2023-5-30 17:46
标题: ORCA的AUTOCI模块有没有名为MAXCORE的参数?
ORCA的maxcore和它的子模块配合得不是很好,尤其是后HF计算中常常数倍地超量使用内存,这是个常见问题。

在ORCA 5.0.3的手册9.23节,741页,列举%autoci代码块的指令的地方提到
...
    # Algorithm details
    maxcore 2000 # Maximum memory limit in MB
    printlevel 3 # Amount of printing

...
看起来似乎有那么一个写在%autoci代码块里、专门限制autoci模块内存使用的maxcore选项;
然而把这个选项写进输入文件,ORCA就会报错:
...
[file orca_tools/Tool-Scanner/qcscan1.cpp, line 102]:
         Unknown identifier in AUTOCI block line   13  :
         Last token : MAXCORE

...
似乎ORCA的输入文件解释器不认为存在这么一个选项。
那么ORCA到底有没有功能类似的、用于限制autoci模块内存使用的选项?或者,在使用通用的%maxcore选项限制FIC-MRCC计算任务的内存使用时,设置的大小和实际使用的大小大致是什么关系?目前为止测试的结果是,%maxcore设置为20000~60000时,使用下述输入的任务都会使用约60GB内存——其中orca_autoci约10GB,autoci_fic_mrcc在40GB-50GB间波动,峰值超过53GB并导致内存溢出,被系统杀掉。暂时没有找到限制方法。

======

另外的问题是,%autoci中的useoldints选项似乎并不会让ORCA读取旧有的积分:
当我不修改输入文件名时,ORCA会直接输出
...
WARNING: Old DensityContainer found on disk!
         Will remove this file -
         If you want to keep old densities, please start your calculation with a different basename.

...
并删掉旧积分;
当修改了输入文件名时,ORCA不会有任何相关输出并重新计算DC1~5等依赖项,会耗不少时间。


======

使用的完整输入文件:
! cc-pVTZ miniprint nopop moread
%moinp "CAS_g.gbw"
%maxcore 20000
%casscf
    nel 8
    norb 8
    mult 1
end
%autoci
    citype ficmrcc
    keepints 1
    useoldints 1
    density unrelaxed
end
* xyz 0 1
C                  0.00000000    0.00000000    0.59902500
H                  0.00000000    0.00000000    5.59902500
C                  0.00000000    0.00000000   -0.59902500
H                  0.00000000    0.00000000   -5.59902500
*


作者
Author:
wjc404    时间: 2023-5-30 19:49
本帖最后由 wjc404 于 2023-5-30 19:54 编辑

ORCA在后HF计算中有不少模块在检查内存是否足够上做得不严谨,可以到他们的论坛上提一提(不过这里面都是工程的事,和学术关系不大,不见得有人愿意马上去fix)。这个体系不见得非要用昂贵的MRCC,用MRCI就可以而且计算代价小很多。可以使用UseSym来进一步加速(此时需告诉程序用哪个不可约表示)。




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