计算化学公社

标题: 使用MOKIT做多参考计算 [打印本页]

作者
Author:
zjxitcc    时间: 2020-5-6 00:25
标题: 使用MOKIT做多参考计算
本帖最后由 zjxitcc 于 2021-3-24 10:32 编辑

----- 注意:该贴已过时,最新介绍请看https://gitlab.com/jxzou/mokit -----

2020-08-08 更新:增加了 轨道转化程序 的Windows可执行文件,解压即可用;修复了传递CASSCF force关键词的bug;支持带点电荷的多参考计算。见https://gitlab.com/jxzou/mokit
2020-06-28 更新:增加做多参考计算的接口程序AutoMR;增加manual。

AutoMR利用了各个传轨道的小程序,外加一些自写的接口,可以调用Gaussian, GAMESS, PySCF, OpenMolcas和ORCA等软件做多参考计算,做到像算HF和DFT一样算多参考体系(黑箱化)。目前支持的方法有GVB, CASCI, CASSCF, NEVPT2, CASPT2五种,可以在一个程序里做完CASSCF,去另一个程序里做NEVPT2,都由AutoMR自动调用。用户可以不指定活性空间大小,由程序自动确定,亦可人为指定。AutoMR的输入文件是模仿高斯的,学习门槛接近于零。举几个例子

例1. N2的CASSCF(6,6)计算,1.15A,文件极简
  1. %mem=16GB
  2. %nprocshared=16
  3. #p CASSCF(6,6)/cc-pVQZ

  4. mokit{}

  5. 0 1
  6. N   0.0   0.0   0.0
  7. N   0.0   0.0   1.15
复制代码


例2. N2的CASSCF(6,6)-NEVPT2计算,4.0 A,用户提供算好的UHF任务.fchk文件(注意这不是简单的UHF,必须使用片段组合波函数构建初猜)
  1. %mem=4GB
  2. %nprocshared=4
  3. #p NEVPT2/cc-pVQZ

  4. mokit{readuhf='N2_cc-pVQZ_6D10F_4.0_uhf.fchk',ist=1}
复制代码


以上例子可以在解压后examples/automr/目录下找到。

运行的话,执行automr xxx.gjf >& xxx.out即可。默认会输出到屏幕上,建议使用重定向导入xxx.out文件里。输出内容示例

  1. ...
  2. Enter subroutine do_gvb...
  3. nbf =  140    nif =  140
  4. doubly_occ=    2    npair=    5    nopen=    0    nvir=  128
  5. GVB(5)

  6. E(GVB) =      -108.70259326 a.u.
  7. Leave subroutine do_gvb at Mon Jun 29 09:22:23 2020


  8. Enter subroutine do_cas...
  9. CASSCF(6,6)
  10. doubly_occ=    4    nvir=  130
  11. No. of active alpha/beta e = 3/3

  12. E(CASCI)  =      -108.79883240 a.u.
  13. E(CASSCF) =      -108.80040252 a.u.
  14. Leave subroutine do_cas at Mon Jun 29 09:22:29 2020


  15. Enter subroutine do_mrpt2...
  16. CASSCF-NEVPT2 based on optimized CASSCF orbitals.
  17. Frozen_core = F

  18. E_corr(SC-NEVPT2) =        -0.28789999 a.u.
  19. E(SC-NEVPT2)      =      -109.08830252 a.u.
  20. Leave subroutine do_mrpt2 at Mon Jun 29 09:22:32 2020

  21. Normal termination of AutoMR at Mon Jun 29 09:22:32 2020
复制代码

更多详情请阅读pdf手册。程序肯定还有不少不足之处甚至bug,希望感兴趣的小伙伴使用后提建议~


=================以下为第一次发布时的介绍(略有修改)========================

MOKIT是笔者近两三年科研过程中写的一些实用性程序的一个汇总,全称Molecular Orbital KIT,起名模仿自VASPKIT。该程序开源免费,现托管于GITLAB上,欢迎大家使用(https://gitlab.com/jxzou/mokit)。在使用过程中碰到问题也可在此贴下留言(坑爹延期中,不一定回)。

该程序目前的主要功能是可以方便地在不同程序间传轨道,分为若干个独立的小程序,举几个例子
fch2inp     : 从Gaussian .fchk文件产生GAMESS .inp文件(内含分子轨道)
fch2inporb: 从Gaussian .fchk文件产生Molcas/OpenMolcas .input文件和.INPORB文件(内含分子轨道)
fch2mkl    : 从Gaussian .fchk文件产生ORCA .inp文件和 .mkl文件(内含分子轨道)
fch2py     : 在PySCF输入文件中读取Gaussian .fchk内的轨道
py2fch     : 将PySCF算好的轨道写入指定的.fchk文件
dat2fch    : 将GAMESS .dat文件中的轨道传给指定的.fchk文件

像fch2inp, fch2inporb和fch2mkl这三个小程序产生的输入文件里,写好了坐标和基组(支持赝势)和一些简单的关键词。尤其是赝势部分,自己一个个软件去看说明书费时费力还容易出错,用这些小程序可以节约不少时间。目前所有的转换程序可以总结为下图

(, 下载次数 Times of downloads: 87)

这些小程序考虑了传轨道时高角动量函数的顺序问题(5D, 6D, 最高到H角动量),重叠积分对角元数值是否为1等等系列问题,可以说是目前比较好的传轨道程序。对于HF, CASCI, CASSCF等常见波函数方法,轨道从一个程序到另一个程序,能量损失一般小于10^-6 a.u.,这相当于立即收敛(注:各个程序的DFT不尽相同,不严格遵循此标准)。有了这些功能,用户可以充分利用各个程序最强的功能,例如

高斯算UHF(自旋极化、片段组合等高难度UHF) -> UNO (高斯,PySCF或OpenMolcas均可) -> CASSCF (PySCF或OpenMolcas) -> NEVPT2(PySCF) 或 CASPT2(OpenMolcas)

而不用到了另一个程序里去纠结输入文件怎么写、收敛的解对不对等问题(ORCA和OpenMolcas的UHF与高斯相比还是略。。。)。高角动量基函数的处理对于过渡金属体系还是比较有必要的,若没考虑有时候会影响传轨道后不收敛或收敛至不同的解上。

-----Quick Start------
用户要求:熟悉常规量化计算(新手应先学习如何使用高斯)

编译器/库 要求:ifort或gfortran,MKL数学库,f2py(推荐安装Anaconda Python3)

安装:下载后解压,进入src目录,执行 make all 即可。

环境变量:示例如下,请按照自己实际解压路径修改
export MOKIT_ROOT=/home/$USER/software/mokit
export PATH=$MOKIT_ROOT/bin:$PATH
export PYTHONPATH=$MOKIT_ROOT/lib:$PYTHONPATH

更新常用软件路径:打开program.info文件,根据自己机子的实际情况修改软件路径,以供AutoMR调用。

独立编译某个小程序:以fch2inp为例,进入src目录执行
make fch2inp
即可。一些组件并不需要MKL数学库和f2py。

使用:直接运行fch2inp屏幕会输出
ERROR in subroutine fch2inp: wrong command line arguments!
Example 1 (R(O)HF, CAS): fch2inp a.fch
Example 2 (UHF)             : fch2inp a.fch -uhf
Example 3 (GVB)             : fch2inp a.fch -gvb [npair]
Example 4 (ROGVB)        : fch2inp a.fch -gvb [npair] -open [nopen]

提示该如何写命令行参数,一目了然。更多详细内容请移步gitlab查看README.md及examples/目录。

注意事项:要在高斯中写nosymm int=nobasistransform关键词。至于球谐函数/Cartesian函数问题请参见README.md。

目前还是初步版本,很多代码功能未能详细介绍,希望在下一个大版本里可以给大家提供一个轻松做多参考计算的实用工具。



作者
Author:
hebrewsnabla    时间: 2020-5-6 12:32
本帖最后由 hebrewsnabla 于 2020-5-6 12:59 编辑

感觉bas_gms2py生成的基组太长了  PySCF可以从文件读基组的,直接
  1. mol.basis = 'somebasis.dat'
复制代码
就可以了(稍微改改bas_gms2py就能生成dat,格式就是把nwchem格式拼起来)

不过问题是不能从文件读混合基组。PySCF用混合基组好像只能用tag,比如
  1. mol.basis = {
  2. 'H' : somebasis,
  3. 'H:3' : anotherbasis
  4. }
复制代码
那还是得生成py代码(tagged atom在坐标和基组中要有相同的tag)
作者
Author:
zjxitcc    时间: 2020-5-6 13:35
hebrewsnabla 发表于 2020-5-6 12:32
感觉bas_gms2py生成的基组太长了  PySCF可以从文件读基组的,直接
就可以了(稍微改改bas_gms2py就能 ...

那我还是更喜欢直接生成,是最为广义的文件长是长了点,但是平时不用去看这些数据,我也就不管这个了
作者
Author:
hebrewsnabla    时间: 2020-5-6 13:40
zjxitcc 发表于 2020-5-6 13:35
那我还是更喜欢直接生成,是最为广义的文件长是长了点,但是平时不用去看这些数据,我也就不管这个了

广义程度是相同的。

如果gms里面是混合基组,你生成的.py里面基组应该是错的,后面会覆盖前面的。
作者
Author:
zjxitcc    时间: 2020-5-6 13:52
本帖最后由 zjxitcc 于 2020-5-6 15:20 编辑
hebrewsnabla 发表于 2020-5-6 13:40
广义程度是相同的。

如果gms里面是混合基组,你生成的.py里面基组应该是错的,后面会覆盖前面的。
已更新还增加了一些输出内容少让用户手改。
作者
Author:
pyscf    时间: 2020-5-7 11:32
qchem以后会支持吗
作者
Author:
zjxitcc    时间: 2020-5-7 20:14
pyscf 发表于 2020-5-7 11:32
qchem以后会支持吗

如果你对qchem的使用十分熟悉,可以发个qchem自己使用关键词读取轨道初猜的算例给我。我自己一个个软件来熟悉速度还是比较慢的,毕竟要支持到H角动量如果有经验丰富的用户的帮助就快很多了
作者
Author:
hebrewsnabla    时间: 2020-5-7 21:01
独立编译那段,应该是 mv fch2inp ../bin 吧
作者
Author:
zjxitcc    时间: 2020-5-7 23:53
hebrewsnabla 发表于 2020-5-7 21:01
独立编译那段,应该是 mv fch2inp ../bin 吧

thanks. 已改
作者
Author:
zjxitcc    时间: 2020-6-29 09:12
更新1.0 beta版本
作者
Author:
beefly    时间: 2020-6-29 17:30
不知道是否解决了这个问题:同一个点群在不同程序里具有不同的对称方位(比如H2O在A程序里位于xy平面,B程序里位于xz平面),导致读入的轨道与坐标方位不一致。有些程序(比如Gaussian)读轨道的时候顺便也检查坐标,必要的话做转动轨道。有的程序根本不查坐标,或者查了发现不一致直接报错
作者
Author:
zjxitcc    时间: 2020-6-29 17:32
本帖最后由 zjxitcc 于 2020-6-29 17:41 编辑
beefly 发表于 2020-6-29 17:30
不知道是否解决了这个问题:同一个点群在不同程序里具有不同的对称方位(比如H2O在A程序里位于xy平面,B程 ...

MOKIT的那些utilities也没有检查坐标,所有的程序都是nosymm虽然用nosymm从源头上避免了方位问题,但这可以算是一个小缺点吧,我只能在Readme和manual里都提醒用户要加nosymm int=nobasistransform


作者
Author:
zjxitcc    时间: 2020-8-8 18:25
更新1.1 alpha版本
作者
Author:
chrinide    时间: 2020-8-8 18:38
很有意思
作者
Author:
hhwang    时间: 2021-5-11 21:37
老师您好,我在超算上安装mokit时出现了下面的错误:
error: Command "gcc -pthread -B /lustre/home/acct-mezzy/mezzy/SOFTWARE/Anaconda3/anaconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/tmp2ljxcw8e/src.linux-x86_64-3.8 -I/lustre/home/acct-mezzy/mezzy/SOFTWARE/Anaconda3/anaconda3/lib/python3.8/site-packages/numpy/core/include -I/lustre/home/acct-mezzy/mezzy/SOFTWARE/Anaconda3/anaconda3/include/python3.8 -c /tmp/tmp2ljxcw8e/src.linux-x86_64-3.8/fortranobject.c -o /tmp/tmp2ljxcw8e/tmp/tmp2ljxcw8e/src.linux-x86_64-3.8/fortranobject.o -MMD -MF /tmp/tmp2ljxcw8e/tmp/tmp2ljxcw8e/src.linux-x86_64-3.8/fortranobject.o.d" failed with exit status 1
make: *** [auto_pair] Error 1
想向您请教一下这种错误是由什么原因引起的?
作者
Author:
zjxitcc    时间: 2021-5-11 22:12
hhwang 发表于 2021-5-11 21:37
老师您好,我在超算上安装mokit时出现了下面的错误:
error: Command "gcc -pthread -B /lustre/home/acct ...

你有使用module load相应的编译器么?我看你似乎用的是gcc编译器。超算上通常都有intel编译器,你可以用module avai查询一下可用的intel编译器,然后用module load加载之,再尝试编译MOKIT。

提示:更换编译器后,再次编译前,需执行make clean清理上次残留编译文件。
作者
Author:
hhwang    时间: 2021-5-11 22:28
zjxitcc 发表于 2021-5-11 22:12
你有使用module load相应的编译器么?我看你似乎用的是gcc编译器。超算上通常都有intel编译器,你可以用m ...

谢谢您,现在已经安装上了,有一个疑问,老师,请问是不是每安装一个需要相应编译器的软件都需要module load呀?
作者
Author:
zjxitcc    时间: 2021-5-11 23:23
hhwang 发表于 2021-5-11 22:28
谢谢您,现在已经安装上了,有一个疑问,老师,请问是不是每安装一个需要相应编译器的软件都需要module l ...

如果这个账号只有你一个人使用,你可以把module load intelxxxx写进环境变量~/.bashrc里,以后每次登录的话就自动加载这些编译器了。
如果这个超算账号不止你一个人使用,但大家都同意用你这个intel编译器,那你也可以这么做。
作者
Author:
hhwang    时间: 2021-5-12 09:31
zjxitcc 发表于 2021-5-11 23:23
如果这个账号只有你一个人使用,你可以把module load intelxxxx写进环境变量~/.bashrc里,以后每次登录的 ...

好的,谢谢您!
作者
Author:
找镜    时间: 2021-7-29 18:39
老师您好,我是在服务器上的个人目录下编译的,然后运行例子的时候报错,应该是高斯的环境变量没有设置对。

我猜测默认的是“gau_path = /home/$user/g16/g16”,但是我们服务器中的高斯不在此目录下,因此报错了。

我尝试 用自己的目录 按下图的方法 向~/.bashrc添加环境变量来覆盖默认的路径,失败了,老师可否指导一下怎么修改高斯的目录?万分感谢!

(, 下载次数 Times of downloads: 49)
作者
Author:
zjxitcc    时间: 2021-7-29 19:08
本帖最后由 zjxitcc 于 2021-7-29 19:14 编辑
找镜 发表于 2021-7-29 18:39
老师您好,我是在服务器上的个人目录下编译的,然后运行例子的时候报错,应该是高斯的环境变量没有设置对。 ...

这个报错提示我已经写的已经挺清楚了你机器上高斯环境变量不对/不合理。MOKIT没有限制Gaussian装在哪个目录下,但要求用户写对环境变量。找到你机器上高斯环境变量在哪里(例如可能在~/.bashrc中),与报错提示中给出的例子逐行对比,几秒便知。如果你实在不懂,可以截图展示你现在的/你机器上的Gaussian环境变量。
作者
Author:
找镜    时间: 2021-7-30 21:00
zjxitcc 发表于 2021-7-29 19:08
这个报错提示我已经写的已经挺清楚了你机器上高斯环境变量不对/不合理。MOKIT没有限制Gaussian装在哪 ...

谢谢老师的回复!您确实写得很清楚,是我自己对linux的东西不太熟悉,所以搞起来比较费劲。
今天重新按您的这三句话写,总算成功了🙏

但是我又遇到了新的问题,服务器上没有装gamess,今天我按量子化学公众号的教程编译好了(测试了gamess文件夹里的rhf的p4.inp,运行成功了就没再继续测试了),然后我运行mokit后,.gms文件中报错是:

The GAMESS executable gamess.01.x
or else the DDIKICK executable ddikick.x
could not be found in directory /home/$USER/software/gamess,
or else they did not properly link to executable permission.

这个文件夹下我编译出来的是gamess.00.x,然后这个是01,所以运行不了,请问有办法解决吗?(或者也可能是我哪儿编译出问题了吗?)

老师,非常不好意思,我是第一次尝试编译软件学习,自己又不太熟悉,因此问题确实很多,感谢您的帮助!
作者
Author:
zjxitcc    时间: 2021-7-31 10:56
找镜 发表于 2021-7-30 21:00
谢谢老师的回复!您确实写得很清楚,是我自己对linux的东西不太熟悉,所以搞起来比较费劲。
今天重新按 ...

这个问题在多处写了,你估计看安装说明时一扫而过,没仔细看:
(1)公众号安装教程中“在运行automr前我们还需。。。”
(2)程序包里README.md文件里的The original GAMESS code can only...
(3)软件手册(PDF手册在程序包里doc/目录下)中
2.2.1 Prerequisite最后一段
4.3.1章节
4.4.10章节
作者
Author:
找镜    时间: 2021-7-31 13:44
zjxitcc 发表于 2021-7-31 10:56
这个问题在多处写了,你估计看安装说明时一扫而过,没仔细看:
(1)公众号安装教程中“在运行automr前 ...

谢谢老师,我昨天按这个弄过了,但是最后报错了,说缺一个.o的文件,我不知道怎么解决,感觉是没有编译好,所以只好重新编译了个01的gamess😂。。现在mokit已经可以用了,谢谢老师耐心解答!我后续再好好学习一下!
作者
Author:
zjxitcc    时间: 2021-7-31 13:50
本帖最后由 zjxitcc 于 2021-7-31 13:53 编辑
找镜 发表于 2021-7-31 13:44
谢谢老师,我昨天按这个弄过了,但是最后报错了,说缺一个.o的文件,我不知道怎么解决,感觉是没有编译好 ...

你的gamess.01.x是按安装教程里写的那么编译的么?以下两种是错误操作:
(1)把gamess.00.x重命名成gamess.01.x;
(2)未做任何改动,直接运行./lked gamess 01
另外提醒:不要在root下编译GAMESS,因为有些linux系统的root默认alias cp='cp -i',这会导致GAMESS编译不成功。

作者
Author:
找镜    时间: 2021-7-31 17:13
本帖最后由 找镜 于 2021-7-31 17:14 编辑
zjxitcc 发表于 2021-7-31 13:50
你的gamess.01.x是按安装教程里写的那么编译的么?以下两种是错误操作:
(1)把gamess.00.x重命名成gam ...

1、我重新编译了一次(就是把gamess教程里编译步骤的00都改成了01),没有按您说的那两种做,目前看来暂且能用,也多谢老师的提醒!

2、您文中也提到了通过modify_GMS1.sh似乎能实现更好的计算,目前我先用着试试,熟悉一点再去用您说的modify_GMS.sh1。

3、另外还有一个小问题想和老师交流一下,我运行mokit测试example的00-h2o_cc-pVDZ_1.5.gjf后,gamess部分的计算其实报了个错误,就是MAXIT=500这里,gms的计算会提示只能到0-200。

(1)我猜测可能是我下的gamess的版本有问题(我是用的卢老师百度网盘里最新的那个安装包)?但是我实在不想再去编译一次旧的看看有没有这个问题了,所以我最后的处理方式是:

(2)我去mokit下的src文件夹里,grep了MAXIT部分,然后把fch2inp.f90里面的MAXIT=500改成了200,重新编译了一次。后面gamess的输入就变成了200,就能运行成功了。

我对代码这些目前还是个小白,为了能成功计算就盲目的改了改,也不知道是否可行,如果老师愿意和我交流实在是太好了!

作者
Author:
hebrewsnabla    时间: 2021-7-31 17:29
本帖最后由 hebrewsnabla 于 2021-7-31 17:33 编辑
找镜 发表于 2021-7-31 17:13
1、我重新编译了一次(就是把gamess教程里编译步骤的00都改成了01),没有按您说的那两种做,目前看来暂 ...

严格安照教程编译gamess.01.x,就不会有这些问题,不要自己发挥。和gamess版本没有关系。
对于GVB计算,遇到稍复杂一点的体系,原版的gamess.00.x就不能用了。

作者
Author:
zjxitcc    时间: 2021-7-31 17:53
本帖最后由 zjxitcc 于 2021-7-31 17:58 编辑
找镜 发表于 2021-7-31 17:13
1、我重新编译了一次(就是把gamess教程里编译步骤的00都改成了01),没有按您说的那两种做,目前看来暂 ...

不可行。严格按手册说明来,不要自己瞎发挥。手册就是写到小白都能看懂、操作了;既然写了就是有意义的,我不会随便放无意义的操作进手册的。都严格来,就不会有这么多报错,早就开算了。
作者
Author:
找镜    时间: 2021-8-1 20:35
zjxitcc 发表于 2021-7-31 17:53
不可行。严格按手册说明来,不要自己瞎发挥。手册就是写到小白都能看懂、操作了;既然写了就是有意义的, ...

好的,感谢两位老师的回复,我明白了
作者
Author:
杨小狗    时间: 2021-10-7 17:17
您好,关于您说的program.info文件是安装完了就会出现吗?我安装完并未找到,在readme中也没有得到相应的提示,谢谢您的回答
作者
Author:
zjxitcc    时间: 2021-10-7 17:20
杨小狗 发表于 2021-10-7 17:17
您好,关于您说的program.info文件是安装完了就会出现吗?我安装完并未找到,在readme中也没有得到相应的提 ...

现今的MOKIT无需program.info,此贴中的介绍已过时,看MOKIT安装包中的README_zh.md说明文件,以及此文《自动做多参考态计算的程序MOKIT

作者
Author:
杨小狗    时间: 2021-10-7 17:23
zjxitcc 发表于 2021-10-7 17:20
现今的MOKIT无需program.info,此贴中的介绍已过时,看MOKIT安装包中的README_zh.md说明文件,以及此文《 ...

感谢您的及时回复
作者
Author:
Yin    时间: 2021-11-17 15:08
老师好,我在Gaussian中做了hf计算并挑选了活性轨道,然后通过MOKIT中fch2inporb小程序传轨道到给OpenMolcas,这里产生了.input和.INPORB文件,请问如何把.input文件中的笛卡尔坐标转化为内坐标形式呢?
作者
Author:
zjxitcc    时间: 2021-11-17 15:18
本帖最后由 zjxitcc 于 2021-11-17 15:19 编辑
Yin 发表于 2021-11-17 15:08
老师好,我在Gaussian中做了hf计算并挑选了活性轨道,然后通过MOKIT中fch2inporb小程序传轨道到给OpenMolca ...

没有办法,你若转换了坐标,那input文件里每个原子的基组数据就没法与笛卡尔坐标一一对应了。你可在input文件里指定点群来开启对称性,但自动产生的input和INPORB文件是不含对称性信息的,因此你这么做 行不行 不确定,但可以try。

事实上,你可以让automr直接调用OpenMolcas自动做CASSCF计算,在gjf文件里的Title行写上
mokit{CASSCF_prog=OpenMolcas}
即可。当然,这样是没用到对称性的。
作者
Author:
Yin    时间: 2021-11-17 16:39
zjxitcc 发表于 2021-11-17 15:18
没有办法,你若转换了坐标,那input文件里每个原子的基组数据就没法与笛卡尔坐标一一对应了。你可在input ...

谢谢老师的回复。因为我是想扫描势能面的,所以要考虑很多结构。请问老师坐标的不同会使得.input文件中每个原子的基组数据发生变化吗?另外,还想问一下,能不能在OpenMolcas中只是用MOKIT所产生的INPORB的文件,而不用.input,相当于只用Gaussian中产生的轨道,而hf计算还是在OpenMolcas中进行?
作者
Author:
zjxitcc    时间: 2021-11-17 16:40
本帖最后由 zjxitcc 于 2021-11-17 16:43 编辑
Yin 发表于 2021-11-17 16:39
谢谢老师的回复。因为我是想扫描势能面的,所以要考虑很多结构。请问老师坐标的不同会使得.input文件中每 ...

基组数据不会变化的。不能。

扫描势能面的话,你用OpenMolcas自带的扫描功能,只需要一个输入文件就行,看手册写怎么扫描。又不是那种产生很多帧结构 然后批量提交输入文件的模式。


作者
Author:
Yin    时间: 2021-11-17 16:53
zjxitcc 发表于 2021-11-17 16:40
基组数据不会变化的。不能。

扫描势能面的话,你用OpenMolcas自带的扫描功能,只需要一个输入文件就行 ...

明白了,非常感谢老师的回复。
作者
Author:
cxh19990601    时间: 2022-8-28 11:54
老师您好,我在编译mokit执行到make all 这一步时发生错误,错误截图如下,请问老师此问题该如何解决?
作者
Author:
zjxitcc    时间: 2022-8-28 15:05
cxh19990601 发表于 2022-8-28 11:54
老师您好,我在编译mokit执行到make all 这一步时发生错误,错误截图如下,请问老师此问题该如何解决?

这说明没有Intel编译器,这在README_zh.md里有明确说明:前提(编译器和库要求)Fortran编译器: ifort(推荐>=2017)。建议先仔细阅读中文说明。

如果你是在集群上,一般来说可以通过module avai查看有哪些库可以加载,进而通过module load加载相应的库(如intel编译器)。如果是个人机器,则需要自己安装Intel编译器,参考《Linux下安装Intel oneAPI
作者
Author:
ABQTrap    时间: 2023-8-9 09:41
本帖最后由 ABQTrap 于 2023-8-9 10:00 编辑

老师您好,我在conda环境安装了mokit,但是运行fch2py总是报错,fch文件是把ORCA的molden文件用multiwfn转换过来的,是因为fch文件的原因吗?麻烦看看,谢谢!
fch2py a.fch
以下是报错信息:
  1. At line 256 of file read_fch.f90
  2. Fortran runtime error: End of file

  3. Error termination. Backtrace:
  4. #0  0x146b63b01cb2 in read_sf
  5.         at /opt/conda/conda-bld/gcc-compiler_1654084175708/work/gcc/libgfortran/io/transfer.c:451
  6. #1  0x146b63afe77e in read_default_char1
  7.         at /opt/conda/conda-bld/gcc-compiler_1654084175708/work/gcc/libgfortran/io/read.c:422
  8. #2  0x146b63b032f4 in formatted_transfer_scalar_read
  9.         at /opt/conda/conda-bld/gcc-compiler_1654084175708/work/gcc/libgfortran/io/transfer.c:1647
  10. #3  0x146b63b0433b in formatted_transfer
  11.         at /opt/conda/conda-bld/gcc-compiler_1654084175708/work/gcc/libgfortran/io/transfer.c:2339
  12. #4  0x41242f in ???
  13. #5  0x426c9a in ???
  14. #6  0x42c608 in ???
  15. #7  0x402080 in ???
  16. #8  0x146b62f73492 in ???
  17. #9  0x4020b0 in ???
  18. #10  0xffffffffffffffff in ???
复制代码


作者
Author:
zjxitcc    时间: 2023-8-9 11:03
ABQTrap 发表于 2023-8-9 09:41
老师您好,我在conda环境安装了mokit,但是运行fch2py总是报错,fch文件是把ORCA的molden文件用multiwfn转 ...
(1)如果你想ORCA -> PySCF传轨道,MOKIT有mkl2py小程序可以直接完成此任务,无需用户提供fch文件中转,mkl2py可直接从mkl文件生成.py文件,含电荷、自旋、基组、坐标和轨道等各种信息。如果你的MOKIT没有mkl2py小程序,请到https://gitlab.com/jxzou/mokit下载最新版MOKIT使用。如果你使用conda安装,可以先卸载,再安装最新版MOKIT。

(2)fch2py不是可执行程序,不能直接运行,它是python模块,是在python里import的,例如
from mokit.lib import fch2py
这个模块是读取fch文件里的轨道用的,不是产生.py文件。如果你想从fch文件产生.py文件,要用二进制程序bas_fch2py。对于想ORCA -> PySCF的情况,建议采用上述(1)。
作者
Author:
ABQTrap    时间: 2023-8-9 11:41
zjxitcc 发表于 2023-8-9 11:03
(1)如果你想ORCA -> PySCF传轨道,MOKIT有mkl2py小程序可以直接完成此任务,无需用户提供fch文件中转,mk ...

明白了,谢谢老师
作者
Author:
ABQTrap    时间: 2023-8-9 22:26
本帖最后由 ABQTrap 于 2023-8-9 22:35 编辑
zjxitcc 发表于 2023-8-9 11:03
(1)如果你想ORCA -> PySCF传轨道,MOKIT有mkl2py小程序可以直接完成此任务,无需用户提供fch文件中转,mk ...

老师您好,我在试用mokit还遇到了一些问题,向您请教。
想用mokit确定casscf的活性空间大小,程序自动调用了gaussian和GAMESS,我安装的是GAMESS 2023版,出现的问题包括:
(1)automr生成的gamess的执行命令行,默认gamess版本是01,我安装时写的是00,就会找不到gamess程序。后来改了版本号解决了。请问可以改成00吗?
(2)automr生成的gamess的inp文件里,maxit=500. 但是运行报错,说这个maxit数最大200,只能手动改了inp文件再运行。请问这个值可以在哪里设置吗?
(3)gamess的inp文件运行报错“***** ERROR **** DIMENSIONS EXCEEDED *****”,请问应该如何解决?谢谢!
下面是gamess输出文件




作者
Author:
zjxitcc    时间: 2023-8-9 23:18
本帖最后由 zjxitcc 于 2023-8-9 23:20 编辑
ABQTrap 发表于 2023-8-9 22:26
老师您好,我在试用mokit还遇到了一些问题,向您请教。
想用mokit确定casscf的活性空间大小,程序自动调 ...

注意,不要修改MOKIT代码里gamess版本号和关键词、不要复制gamess.00.x。这三个问题属于同一个问题,见https://jeanwsr.gitlab.io/mokit- ... .html#4410-gvb_prog

简单来说,就是MOKIT默认会调用GAMESS做GVB计算,用GVB轨道作为CASSCF初始轨道,GVB轨道是目前世界上最好的CASSCF初始轨道(之一)。但GAMESS代码过于陈旧,把GVB活性空间上限定为12对(即12个成键轨道、12个反键轨道),因为以前的人几乎做不了GVB计算。如今借助MOKIT可以轻松实现上百对的GVB计算(我博士期间参与的工作),这就需要修改GAMESS代码,允许更大活性空间的计算。

MOKIT提供了脚本一键修改,就是把modify_GMS1.sh和modify_GMS2.f90文件复制到gamess/source/目录下,执行./modify_GMS1.sh即可修改和编译gamess,产生gamess.01.x。
作者
Author:
ABQTrap    时间: 2023-8-10 08:05
zjxitcc 发表于 2023-8-9 23:18
注意,不要修改MOKIT代码里gamess版本号和关键词、不要复制gamess.00.x。这三个问题属于同一个问题,见ht ...

老师,按照您的方法和mokit 手册4.4.10 GVB_prog的步骤,mokit终于顺利跑起来了,万分感谢!
作者
Author:
MercuryLamp    时间: 2023-9-5 19:20
本帖最后由 MercuryLamp 于 2023-9-9 19:35 编辑

邹老师您好,我在计算一个三重态氧气夺烷烃氢的反应时,使用B3LYP-D3/def2-SVP优化结构,用MOKIT进行NEVPT2计算求各个结构的单点能,结果发现产物能量反而比过渡态更高,想请教一下这可能是什么原因呢?

除了反应物烷烃(闭壳层分子)的活性空间是我手动指定的(因为我看MOKIT手册第3节中写比较能量时活性空间大小应该一致),其他结构的活性空间都是由MOKIT自动指定的,还请老师指点,万分感谢。

作者
Author:
wzkchem5    时间: 2023-9-5 21:53
MercuryLamp 发表于 2023-9-5 12:20
邹老师您好,我在计算一个氧气夺烷烃氢的反应时,使用B3LYP-D3/def2-SVP优化结构,用MOKIT进行NEVPT2计算求 ...

活性空间一样大还不够,活性轨道的种类也得相同。另外用CAS(2,2)描述氧气不合理,因为氧气的静态相关主要是涉及sigma、pi、pi*、sigma*的双激发行列式贡献的,如果只包括pi*轨道会导致完全遗漏静态相关,CAS算出来结果跟ROHF一样
作者
Author:
MercuryLamp    时间: 2023-9-5 22:16
wzkchem5 发表于 2023-9-5 21:53
活性空间一样大还不够,活性轨道的种类也得相同。另外用CAS(2,2)描述氧气不合理,因为氧气的静态相关主要 ...

谢谢老师的回复,我在论坛另一个帖子(氧气激发能的计算与实验差距较大,http://bbs.keinsci.com/thread-22039-1-1.html)里看到各位老师的回复,8楼邹老师说
活性空间(2,2)没什么必要扩大
,所以我以为(2,2)就是合理的了,也可能我理解的有问题。看其他老师的回答,O2的活性空间应该扩到(6,8)对吗?

另外还有一个小问题想要请教一下您,对于单重态氧气,我知道他的静态相关是比较强的,那对于三重态氧气,静态相关是否也是不可忽略的呢?是不是这种类似的双自由基都不能忽略静态相关呢?
作者
Author:
wzkchem5    时间: 2023-9-5 22:36
MercuryLamp 发表于 2023-9-5 15:16
谢谢老师的回复,我在论坛另一个帖子(氧气激发能的计算与实验差距较大,http://bbs.keinsci.com/thread- ...

因为他算的是S-T gap,算singlet和triplet时,那些不仅涉及pi*轨道的静态相关贡献抵消得比较充分。算反应的时候就不仅是pi*轨道占据数变化了,O-O键会拉长,导致sigma、sigma*轨道能量变化很大,有的pi轨道更是在反应中变成了sigma轨道,所以误差抵消会差很多。此外他可能说的是只有MRCISD计算可以不扩大活性空间、只加大基组,未必是说NEVPT2也可以这么做。至少我个人觉得算氧气的NEVPT2只用CAS(2,2)是太小了,同等计算量的条件下加大活性空间效果比较好。
活性空间至少得扩大到(8,6)(注意一般前面那个数是电子数,后面是轨道数),如果单研究氧气本身,建议加到(12,8)。
三重态氧气的静态相关远弱于单重态氧气,至于能不能忽略,取决于你需要的计算精度,不能一概而论。但是既然你已经在用NEVPT2做计算了,说明你对精度要求比较高,那么此时三重态氧气的静态相关还是比较重要的
作者
Author:
MercuryLamp    时间: 2023-9-5 22:50
wzkchem5 发表于 2023-9-5 22:36
因为他算的是S-T gap,算singlet和triplet时,那些不仅涉及pi*轨道的静态相关贡献抵消得比较充分。算反应 ...

谢谢老师,我这边主要是因为要和体系中另一个反应对比想要统一计算级别,另一个反应中有一个自旋极化单重态的双自由基。

如果我氧气活性空间用(8,6),烷烃分子活性空间用(2,2)的话,是不是过渡态活性空间就应该用(10,8)呢?即片段的活性空间电子数和轨道数是分别加和的(8+2=10,6+2=8)。
作者
Author:
wzkchem5    时间: 2023-9-5 23:53
MercuryLamp 发表于 2023-9-5 15:50
谢谢老师,我这边主要是因为要和体系中另一个反应对比想要统一计算级别,另一个反应中有一个自旋极化单重 ...

对,但是正如我所说,只保证活性电子数和活性轨道数一样是不够的,还需要反应前后活性轨道的形状一一对应
作者
Author:
MercuryLamp    时间: 2023-9-5 23:54
wzkchem5 发表于 2023-9-5 23:53
对,但是正如我所说,只保证活性电子数和活性轨道数一样是不够的,还需要反应前后活性轨道的形状一一对应

嗯嗯好的,非常感谢老师的解答,我再好好学习一下
作者
Author:
幻七熏    时间: 2023-9-9 17:01
老师您好,按照教程,我使用mokit能够调动pyscf进行casscf以及NEVPT2计算。但是当我使用DMRGSCF方法时,block2出了问题,Block1.5没有安装;我采用的例子是将mokit/examples/automr目录下00号例子稍作修改,报错文件见附件,麻烦您给予指导,谢谢!
作者
Author:
zjxitcc    时间: 2023-9-10 22:22
本帖最后由 zjxitcc 于 2023-9-10 22:28 编辑
幻七熏 发表于 2023-9-9 17:01
老师您好,按照教程,我使用mokit能够调动pyscf进行casscf以及NEVPT2计算。但是当我使用DMRGSCF方法时,blo ...

输入文件没问题;block-1.5或block2均可使用,输入文件是一样的不用变;DMRGSCF_prog=PySCF不用写,这是默认的(当然写了也没事)。

我用你的输入文件,安装block2-preview-p0.5.2rc10跑了一遍,一切正常,结果与CASSCF(4,4)无比接近。我不知道你的block2是怎么安装的,建议按此文《block2的编译和安装》安装,并仔细对照其中各个库的版本,检查自己的环境变量,或检查提交任务的脚本。这是我的DMRG-CASSCF(4,4)计算结果
  1. E(CASCI)  =       -75.90802091 a.u.
  2. E(CASSCF) =       -75.90823050 a.u.
  3. ----------------------- Radical index -----------------------
  4. biradical character   (2c^2) y0=  0.165
  5. tetraradical character(2c^2) y1=  0.139
  6. Yamaguchi's unpaired electrons  (sum_n n(2-n)      ):  1.121
  7. Head-Gordon's unpaired electrons(sum_n min(n,(2-n))):  0.607
  8. Head-Gordon's unpaired electrons(sum_n (n(2-n))^2  ):  0.315
  9. -------------------------------------------------------------
复制代码

如果block2安装成功,运行以下命令
/data/home/jxzou/software/block2-preview-p0.5.2rc10/pyblock2/driver/block2main -v
会显示Block 2.0,这里我写的是我电脑上的路径,你需要改成你自己的。


作者
Author:
幻七熏    时间: 2023-9-11 17:11
zjxitcc 发表于 2023-9-10 22:22
输入文件没问题;block-1.5或block2均可使用,输入文件是一样的不用变;DMRGSCF_prog=PySCF不用写,这是 ...

非常感谢您的回复,我是按照您提供的教程安装的,MKL数据库是2023.2.0;Anaconda Python3的python3 是3.11.4版本,cmake是3.27.4,gcc我用的是9.2.0的,pybind11 和 openmpi-4.1.1和教程一样,mpi4py是3.1.4,尝试了几次,的确是block2有问题,不管什么版本的,block2main -v都会报错,报错内容如下:
Traceback (most recent call last):
  File "/home/admin225/Public/block2-preview-0.5.1/pyblock2/driver/block2main", line 10, in <module>
    from block2 import SZ, SU2, SZK, SU2K, SGF, DoubleFPCodec as FPCodec
ImportError: generic_type: cannot initialize type "ValuesView[Tuple[%, %]]": an object with that name is already defined
不知道是不是某些库的问题,请您指导,谢谢!
作者
Author:
zjxitcc    时间: 2023-9-11 18:48
幻七熏 发表于 2023-9-11 17:11
非常感谢您的回复,我是按照您提供的教程安装的,MKL数据库是2023.2.0;Anaconda Python3的python3 是3.1 ...

我看不出来具体原因。有几点建议:
(1)用conda新建一个虚拟环境,Anaconda python使用3.8.x,比如conda create -n mokit-py38 python=3.8。在mokit-py38这个环境里安装和编译一切(包括MOKIT,见https://gitlab.com/jxzou/mokit#option-1-install-from-conda)。
(2)openmpi-4.1.1必须使用gcc-9.2编译,不能使用Intel编译、不能使用低版本gcc编译。
(3)mpi4py必须使用上一行编译出的openmpi编译,不能使用其他版本openmpi。
不用尝试不同的block2版本,用目前最新的block2-preview-p0.5.2rc10就行。如果还不行,加量子化学公众号交流群470745084,私信问我。
作者
Author:
幻七熏    时间: 2023-9-11 20:50
zjxitcc 发表于 2023-9-11 18:48
我看不出来具体原因。有几点建议:
(1)用conda新建一个虚拟环境,Anaconda python使用3.8.x,比如cond ...

好的,谢谢,我再试试
作者
Author:
幻七熏    时间: 2023-9-13 10:19
zjxitcc 发表于 2023-9-11 18:48
我看不出来具体原因。有几点建议:
(1)用conda新建一个虚拟环境,Anaconda python使用3.8.x,比如cond ...

在moit-py38环境里在线安装block2, pyscf, dmrgscf终于成功了,现在可以运行了,采用离线安装的方式block2还是会报错,再次表示感谢!
作者
Author:
ABQTrap    时间: 2023-10-19 09:55
zjxitcc老师,我在linux安装了openmolcas,可以正常运行,但是用mokit调用openmolcas计算casscf时输出文件显示“molcas_path = NOT FOUND”。请问openmolcas的环境变量应怎么设置让mokit找得到程序安装位置?谢谢!
作者
Author:
zjxitcc    时间: 2023-10-19 11:05
ABQTrap 发表于 2023-10-19 09:55
zjxitcc老师,我在linux安装了openmolcas,可以正常运行,但是用mokit调用openmolcas计算casscf时输出文件 ...

见《离线安装OpenMolcas-v22.06》,《编译MPI并行版OpenMolcas


作者
Author:
ABQTrap    时间: 2023-10-20 11:39
本帖最后由 ABQTrap 于 2023-10-20 11:41 编辑

zjxitcc老师,我在使用mokit时指定了HF_prog=ORCA,但是看进程,发现mokit运行时仍然先调用了gaussian的l401.exe,然后是ORCA计算。那如果我没有gaussian的license(目前gaussian仅用于学习),而且mokit的运行绕不开gaussian,是不是不能把mokit的结果用于发表?谢谢!
作者
Author:
zjxitcc    时间: 2023-10-20 12:27
ABQTrap 发表于 2023-10-20 11:39
zjxitcc老师,我在使用mokit时指定了HF_prog=ORCA,但是看进程,发现mokit运行时仍然先调用了gaussian的l40 ...

目前MOKIT自动多参考计算确实没有完全移除对Gaussian的依赖。不过,你可以手动用ORCA做个HF计算(模仿MOKIT的automr会算RHF和UHF,并获得稳定的UHF波函数,然后比较RHF/UHF哪个能量低,选那个),然后使用mkl2fch小程序从mkl文件产生fch文件,使用关键词
mokit{ist=3,readrhf='rhf的fch文件名'}

mokit{ist=1,readuhf='uhf的fch文件名'}
读取fch文件进来计算,这样就可以完全跳过需要Gaussian的环节。不过从实际上讲,其实你不需要管这个,因为谁也不知道你的fch文件是哪来的。。。MOKIT提供了很多小程序可以从其他量化程序产生fch文件。
作者
Author:
ABQTrap    时间: 2023-10-20 15:08
本帖最后由 ABQTrap 于 2023-10-20 15:14 编辑
zjxitcc 发表于 2023-10-20 12:27
目前MOKIT自动多参考计算确实没有完全移除对Gaussian的依赖。不过,你可以手动用ORCA做个HF计算(模仿MOK ...

谢谢zjxitcc老师,就是说按您的方法,使用MOKIT的automr功能进行CASSCF活性空间的选取是能完全绕开gaussian的
作者
Author:
zjxitcc    时间: 2023-10-20 15:16
ABQTrap 发表于 2023-10-20 15:08
谢谢zjxitcc老师,就是说按您的方法,使用MOKIT的automr功能进行CASSCF活性空间的选取是能完全绕开gaussi ...

CASSCF_prog=pyscf是默认的,不用写。我在62L回复里已经说过了。。。你提供一个别的程序算好的fch文件,就可以绕开Gaussian了。。。
作者
Author:
hebrewsnabla    时间: 2023-10-20 15:44
本帖最后由 hebrewsnabla 于 2023-10-20 15:45 编辑
zjxitcc 发表于 2023-10-20 12:27
目前MOKIT自动多参考计算确实没有完全移除对Gaussian的依赖。不过,你可以手动用ORCA做个HF计算(模仿MOK ...

或许可以考虑把HF_prog=pyscf或orca时改为不从高斯步骤开始,不过这样就需要处理基组数据如何和高斯统一的问题(也就是说是否允许同一个任务HF_prog=orca和=gaussian使用的基组略有不同)……
作者
Author:
zjxitcc    时间: 2023-10-20 16:13
hebrewsnabla 发表于 2023-10-20 15:44
或许可以考虑把HF_prog=pyscf或orca时改为不从高斯步骤开始,不过这样就需要处理基组数据如何和高斯统一 ...

我是有这个想法,让py2fch_direct和mkl2fch直接产生fch文件
作者
Author:
ABQTrap    时间: 2023-10-22 22:05
zjxitcc 发表于 2023-10-19 11:05
见《离线安装OpenMolcas-v22.06》,《编译MPI并行版OpenMolcas》

zjxitcc老师,我按您写的openmolcas教程安装的openmolcas v23,环境变量也写了路径export MOLCAS 和export PATH,pymolcas可以正常运行。但是mokit运行automr调用openmolcas时,仍然显示molcas_path = ”NOT FOUND“,后面就无法计算了,请问应该如何正确写环境变量呢?谢谢!
作者
Author:
zjxitcc    时间: 2023-10-22 22:12
ABQTrap 发表于 2023-10-22 22:05
zjxitcc老师,我按您写的openmolcas教程安装的openmolcas v23,环境变量也写了路径export MOLCAS 和expor ...

如果你在任何路径下执行which pymolcas都能正常显示pymolcas的路径,这就说明环境变量没问题了。这种情况下可能你的计算是提交到别的计算节点运行的(比如集群队列),那个节点是否识别你的环境变量,我不知道。有一种可能是:如果你把molcas环境变量写在了提交任务的脚本里,通过bsub/sbatch等命令提交到队列,那么你应该试试把molcas环境变量挪到~/.bashrc里,而不要放在提交任务的脚本里。
作者
Author:
Accelerator    时间: 2024-10-25 01:15
在automr运行到Gamess的GVB步骤时,由于关键字里会写MAXIT=500,就会导致GAMESS报错ERROR: MAXIT MUST BE BETWEEN 0 AND 200, NOT     500。请问如何解决?

作者
Author:
zjxitcc    时间: 2024-10-25 12:37
本帖最后由 zjxitcc 于 2024-10-25 13:32 编辑
Accelerator 发表于 2024-10-25 01:15
在automr运行到Gamess的GVB步骤时,由于关键字里会写MAXIT=500,就会导致GAMESS报错ERROR: MAXIT MUST BE B ...

这个在README_zh.md里有提到“注意官方GAMESS程序只能处理少于13对的GVB计算,但借助MOKIT现今可以实现上百对的GVB计算。因此请阅读手册 4.4.10部分使用提供的脚本自动修改GAMESS代码”,具体操作请见MOKIT线上文档https://jeanwsr.gitlab.io/mokit- ... .html#4410-gvb_prog

简单解释:GAMESS的GVB最多只能算12对(可以看作12根化学键),实际研究往往不够用,需要用MOKIT提供的./modify_GMS1.sh一键修改并编译GAMESS,其中有一个顺带的修改就是200改成了500,但还有其他更重要的修改。
作者
Author:
Accelerator    时间: 2024-10-26 13:32
本帖最后由 Accelerator 于 2024-10-26 13:36 编辑
zjxitcc 发表于 2024-10-25 12:37
这个在README_zh.md里有提到“注意官方GAMESS程序只能处理少于13对的GVB计算,但借助MOKIT现今可以实现上 ...

多谢。另外请教一下:对于一个50原子左右的分子结合def2svp,GVB运行极慢(Gold6139 36核,花了快一天还没算完,并且没迭代几圈),是否正常?以下是MOKIT的相关输出:
Enter subroutine do_gvb...
nbf=554, nif=554, doubly_occ=43, npair=80, nopen=0, nvir=351
LocDocc=F, Lin_dep=F
gms_scr_path = ~/gamess/scr
$fch2inp automr_TS5_uf_uno_asrot.fch -gvb 80
Remark: FcGVB=.T. GVB with all doubly occupied orbitals frozen.

作者
Author:
zjxitcc    时间: 2024-10-27 20:11
本帖最后由 zjxitcc 于 2024-10-27 20:14 编辑
Accelerator 发表于 2024-10-26 13:32
多谢。另外请教一下:对于一个50原子左右的分子结合def2svp,GVB运行极慢(Gold6139 36核,花了快一天还 ...

从输出内容npair=80可以看出正在进行GVB(80)计算,这确实很耗时,要算两三天。这需要MOKIT做一些改进,自动去除GVB中一些不重要的化学键,这可能会在v1.2.6rc41版本中更新。如果你急着算,可以在标题行写mokit{UNO_thres=0.02},这样会把不重要的UNO轨道 留在双占据和虚轨道空间,不放进GVB活性空间。

这与MOKIT的历史有关,我读博的时候在一个开发GVB和post-GVB方法的课题组里,当时好不容易完成了GVB计算自动化,所以课题组内大家计算时喜欢把所有化学键都放进GVB活性空间,彰显方法高效性和计算能力。然后再从GVB根据轨道占据数选择合适的轨道做为CASSCF初始轨道,比如算个GVB(20)然后挑5对轨道做CAS(10,10)。后来我把MOKIT搬到gitlab上,随着用户的增多,发现一些用户的体系不小,而且含有很多平庸的C-H键,这最终不会被选进CASSCF活性空间,但却会在CASSCF前面一步——GVB做为pair轨道计算,导致GVB计算时间很长。




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