计算化学公社

标题: Gaussian09中如何输出特定轨道的双电子积分 [打印本页]

作者
Author:
doublehan    时间: 2020-11-18 16:22
标题: Gaussian09中如何输出特定轨道的双电子积分
各位老师好!本人使用Gaussian09优化双自由基分子的结构(UB3LYP/6-311G(d)),随后使用下面的命令输出双电子积分(结构优化和输出双电子积分的gjf见附件)。
在默认精度下,输出文件达到约200G,无法正常打开。即便使用IOp(3/27=3)将精度大大降低,输出文件仍有4.93G。
想请教各位,有没有输出某些特定轨道的双电子积分的方法,比如只输出<12|21>的交换积分。不胜感激!

%oldchk=pdrs-311d.chk
%chk=pdrs-int3.chk
# ub3lyp/6-311g(d) guess=read geom=checkpoint  IOp(3/33=3) extralinks(L316) scf=conventional noraff IOp(3/27=3)

Title Card Required

0 1


作者
Author:
zjxitcc    时间: 2020-11-18 16:34
本帖最后由 zjxitcc 于 2020-11-18 16:44 编辑

“使用IOp(3/27=3)将精度大大降低”->没有意义。我看IOP手册上的解释,这个对于G16而言,IOp(3/27)默认值相当于关键词int(acc2e=12),这也是G16默认的关键词,不用写;对于G09而言相当于int(acc2e=10)。这个数字取<9就没有太大意义了,精度过于粗糙。你这取3,我觉得可能比半经验方法还差

倒不如直接说出你这么做的目的,不要停留在“我这么做了看对不对”。直接说出目的,别人可能给你更好的做法。

仅从目前有限信息来判断,如果你非要这么做,可以把基组降到6-31G(d),用IOp(3/27=10),还太大的话用9也行。如果你的机器还是不支持这个大小的文件,那你只能自己写/改代码,调用积分库(如libint2, libcint等)的函数,直接在内存里(分批)计算积分,而非让高斯输出到文件里再去读。
作者
Author:
doublehan    时间: 2020-11-18 16:47
zjxitcc 发表于 2020-11-18 16:34
“使用IOp(3/27=3)将精度大大降低”->没有意义。我看IOP手册上的解释,这个对于G16而言,IOp(3/27)默认值相 ...

多谢提醒!我计算的目的是希望读取双自由基两个SOMO轨道的单电子积分、交换积分和库伦积分的值。把精度设置低一些,只是猜测我想要的积分值应该是比较大的,想略去较小的积分值,看看剩下的能不能找到SOMO轨道的对应值。
不知道大佬有没有更好的解决办法?拜谢!
作者
Author:
zjxitcc    时间: 2020-11-18 16:53
本帖最后由 zjxitcc 于 2020-11-18 16:56 编辑

估计不行。。。“两个SOMO轨道的单电子积分、交换积分和库伦积分”这是分子轨道的单、双电子积分,高斯输出的是基函数的单、双电子积分,这中间还相差一个积分变换。。。计算若干个分子轨道的单、双电子积分,几乎会用到所有的基函数的单、双电子积分。

你这种情况建议用开源的PySCF程序算,可以到它的github下提个问题,大概率Qiming Sun会直接告诉你简单到一两行的操作。


作者
Author:
hebrewsnabla    时间: 2020-11-18 17:01
本帖最后由 hebrewsnabla 于 2020-11-18 17:07 编辑

高斯输出的不是分子轨道的电子积分,如楼上所述。

建议自己写程序算,利用PySCF(基于libcint的电子积分)应该能实现你要的功能

可以参考一下这个 https://py-xdh.readthedocs.io/zh ... D%E8%AE%A1%E7%AE%97
你把这里面(ia|jb)的求法看明白,你要的(ij|ij)啥的自然也就会算了

作者
Author:
hebrewsnabla    时间: 2020-11-18 17:23
本帖最后由 hebrewsnabla 于 2020-11-18 17:25 编辑
zjxitcc 发表于 2020-11-18 16:53
估计不行。。。“两个SOMO轨道的单电子积分、交换积分和库伦积分”这是分子轨道的单、双电子积分,高斯输出 ...

找了一下,已经有api了,非常简单……
  1. mol.ao2mo(mo_coeff)
复制代码

作者
Author:
wzkchem5    时间: 2020-11-18 17:59
doublehan 发表于 2020-11-18 16:47
多谢提醒!我计算的目的是希望读取双自由基两个SOMO轨道的单电子积分、交换积分和库伦积分的值。把精度设 ...

我猜可以做一个MP2计算,但是把除了两个SOMO以外的轨道都冻结住。因为MP2会把AO基双电子积分变换成MO基双电子积分,且一般会写到文件里,这样估计可以得到你要的积分
作者
Author:
doublehan    时间: 2020-11-18 18:26
zjxitcc 发表于 2020-11-18 16:53
估计不行。。。“两个SOMO轨道的单电子积分、交换积分和库伦积分”这是分子轨道的单、双电子积分,高斯输出 ...

谢谢!是我概念理解有误,重新看了sob关于Multiwfn计算重叠积分的帖子(http://sobereva.com/163),Multiwfn目前只能计算轨道重叠积分似乎,期待有一天其它积分也都能算。
作者
Author:
doublehan    时间: 2020-11-18 18:30
hebrewsnabla 发表于 2020-11-18 17:23
找了一下,已经有api了,非常简单……

感谢推荐!
作者
Author:
sobereva    时间: 2020-11-18 18:32
doublehan 发表于 2020-11-18 18:26
谢谢!是我概念理解有误,重新看了sob关于Multiwfn计算重叠积分的帖子(http://sobereva.com/163),Mult ...

Multiwfn明显不是只能计算重叠积分,仔细看Multiwfn手册3.200.10和3.200.17节
博文介绍A功能怎么能推理成程序只能做A功能

作者
Author:
doublehan    时间: 2020-11-18 18:34
wzkchem5 发表于 2020-11-18 17:59
我猜可以做一个MP2计算,但是把除了两个SOMO以外的轨道都冻结住。因为MP2会把AO基双电子积分变换成MO基双 ...

谢谢您的建议!计算小白表示大佬们的回复均需进一步消化。
作者
Author:
doublehan    时间: 2020-11-18 19:28
sobereva 发表于 2020-11-18 18:32
Multiwfn明显不是只能计算重叠积分,仔细看Multiwfn手册3.200.10和3.200.17节
博文介绍A功能怎么能推理 ...

谢谢sob!Multiwfn从3.6更新到新版找到了。唐突之处请包涵。




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