计算化学公社

标题: 几个电子积分库 [打印本页]

作者
Author:
sobereva    时间: 2014-11-2 03:25
标题: 几个电子积分库
以下是Sob以前随便总结的几个电子积分库。

libint:http://sourceforge.net/p/libint/home。CP2K、ORCA、MPQC(大规模并行QC)、PSI用的电子积分库。作者就是MPQC的作者。C语言编写,但也有不成熟的Fortran接口。比较成熟,还支持R12积分。

libcint:http://wiki.sunqm.net/libcint。J. Comp. Chem., 36, 1664 (2015)。Sun qiming开发的电子积分库。C编写,但也有Fortran接口。

LIBERI:Computer Physics Communications 181, 1455  (2010),没有对应的网页。C语言编写,只有C的接口。算不上很成熟。

ATMOL:V.R. Saunders和M.F. Guest开发的做SCF和积分计算的程序,早已停止开发,Saunders已经退休了,他曾参与过GAMESS-UK和CRYSTAL的开发。电子积分代码是ATMOL中的INTEGW部分。由Fortran77编写,编译省事。ATMOL1024是ATMOL子集的修改版(使之能支持到1023条轨道,输入输出接口没变),被集成在SAPT程序包里用于提供积分,ifort下不支持64bit。ATMOL单独的获取方式见http://www.physics.udel.edu/~szalewic/SAPT/programs.html。ATMOL的手册见
http://www.theochem.ru.nl/~pwormer/atmol/integw.html,INTEGW的手册见http://www.theochem.ru.nl/~pwormer/atmol/scf.html,AO->MO变换的子程序介绍见http://www.theochem.ru.nl/~pwormer/atmol/tran4.html
另外版本的ATMOL完整手册见http://tc5.chem.uu.nl/ATMOL/

Gen1Int:https://repo.ctcc.no/projects/gen1int/wiki。仅支持单电子积分,但还可以计算对外场、几何位移等的导数。


顺带一提,如果对DFT泛函库感兴趣,可参见《DFT交换相关泛函库的使用方法》(http://sobereva.com/211

作者
Author:
sobereva    时间: 2014-11-2 03:28
以前随手总结的ATMOL的INTEGEW和SCF模块的用法也顺便发在这里。

编译方式:从SAPT程序包中把atmo11024文件夹拷出来,把Makefile.ifort改名为Makefile,并把里面的scf部分改为
scf:        scf.o  atmio_ifort.o
        ifort  -Vaxlib -assume byterecl -o scf scf.o atmio_ifort.o ./lapack.a ./blas.a
假设blas.a和laplack.a都在当前文件夹。然后运行make all即可,得到integw和scf两个可执行文件。

integw用来通过读入分子坐标和基组定义,产生单电子和双电子积分分别写入到当前文件夹下的ED3(DUMP FILE)和ED2(MAIN FILE)文件里。scf则是利用这积分做scf的程序。ED3还包含其他信息,用于ATMOL各模块间交换信息。

integw、scf使用方式:integw或scf < test.txt |tee test.out

integw里group指的就是基函数壳层。integw的H2O STO-3G输入文件例子
     TITLE
     (H2O) INTEGW   //标题
     GEOMETRY ANGSTROM
      0.00000000    0.00000000   -0.11094313 8 O1  //以埃为单位的坐标,原子核电荷,原子名称(随意定义)
     -0.00000000   -0.78383672    0.44331313 1 H2
     -0.00000000    0.78383672    0.44331313 1 H3
     END
     GTOS
     S O1
     0.15432897 130.709320   //收缩系数,指数
     0.53532814 23.8088610
     0.44463454 6.4436083
     S O1
     -0.09996723 5.0331513
     0.39951283 1.1695961
     0.70011547 0.3803890
     P O1
     0.15591627 5.0331513
     0.60768372 1.1695961
     0.39195739 0.3803890
     S H2
     0.15432897 3.42525091
     0.53532814 0.62391373
     0.44463454 0.16885540
     S H3  //这四行也可以简写为S H3 999,代表和上一段定义一样
     0.15432897 3.42525091
     0.53532814 0.62391373
     0.44463454 0.16885540
     END
     MAINFILE ED2
     DUMPFILE ED3
     ACCURACY 7 11   //积分精度阈值,决定忽略哪些数值很小的积分
     IBLOCK 1
     ENTER 1

对应的scf的H2O STO-3G输入文件例子。第一行的7代表有7个基函数,5代表有5个电子,其它的一般不用改。结果和高斯算的一致
     SCF 7 5 0 1 ED3
     TITLE
     (H2O) SCF
     MFILE
     ED2
     1
     0
     START
     ENTER 1
作者
Author:
beefly    时间: 2016-2-22 02:13
libint是专门对分块收缩基组开发的(如,Gaussian的pople型、Turbomole的def型),处理Dunning/Peterson的cc-pVnZ型基组的效率较差。不适合处理Almlof/Roos的ANO型基组,甚至比基组不收缩的情况还慢。

libcint对各种形式基组的效率都比较高,自称比MOLCAS/MOLPRO的分子积分包SEWARD还快。

ACES-III的积分模块ERD,在遵守GPL协议的前提下可以拿来用。也是自称比SEWARD快。
作者
Author:
zhangfuqiang    时间: 2020-5-24 10:40
本帖最后由 zhangfuqiang 于 2020-5-24 10:41 编辑

还有个快要放开的库,快等得花儿谢了。https://github.com/molsturm




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