计算化学公社

标题: 求助有关计算利用TDDFT方法计算激发态能量如何查看计算过程中交换积分和库伦积分 [打印本页]

作者
Author:
mayyLYF    时间: 2022-9-27 19:36
标题: 求助有关计算利用TDDFT方法计算激发态能量如何查看计算过程中交换积分和库伦积分
(, 下载次数 Times of downloads: 40) [attach]55723[/attach]
想知道一个分子结构激发态优化(使用TDDFT方法,ij为占据轨道,ab为空轨道)过程中怎么查看画虚框部分的具体数值?请各位大神指点

作者
Author:
hebrewsnabla    时间: 2022-9-27 19:52
本帖最后由 hebrewsnabla 于 2022-9-27 19:56 编辑

你贴的图里面没有虚框啊?不过构造A B矩阵确实会用到库仑积分、交换积分。你到底要哪个?

现代的高效TDDFT程序采用的是matrix-free方式,不会直接存储A B矩阵(也不会存储MO基的电子积分),所以得不到。

一定想要的话,PySCF提供了一个api可以给出A B矩阵(https://github.com/pyscf/pyscf/b ... f/tdscf/rhf.py#L108)。
作者
Author:
mayyLYF    时间: 2022-9-28 09:34
hebrewsnabla 发表于 2022-9-27 19:52
你贴的图里面没有虚框啊?不过构造A B矩阵确实会用到库仑积分、交换积分。你到底要哪个?

现代的高效TDD ...

(, 下载次数 Times of downloads: 44)
不好意思,是这个图片,我给粘贴错了,麻烦您看一下,这个能否用上面您发的链接计算出具体的数值,感谢大神

作者
Author:
hebrewsnabla    时间: 2022-9-28 14:00
mayyLYF 发表于 2022-9-28 09:34
不好意思,是这个图片,我给粘贴错了,麻烦您看一下,这个能否用上面您发的链接计算出具体的 ...

可以。 但是算这个没什么意义。
作者
Author:
mayyLYF    时间: 2022-9-28 14:06
hebrewsnabla 发表于 2022-9-28 14:00
可以。 但是算这个没什么意义。

好的,谢大神指导

作者
Author:
mayyLYF    时间: 2022-9-30 10:53
hebrewsnabla 发表于 2022-9-28 14:00
可以。 但是算这个没什么意义。

您好,请问pyscf这个程序哪个.py可以算单分子在溶液下的交换积分和库仑积分,我不懂Python,实在看不懂(用TDDFT方法),感谢大神

作者
Author:
zjxitcc    时间: 2022-9-30 11:08
mayyLYF 发表于 2022-9-30 10:53
您好,请问pyscf这个程序哪个.py可以算单分子在溶液下的交换积分和库仑积分,我不懂Python,实在看不懂{: ...

当你说出“算单分子在溶液下的交换积分和库仑积分”时,可能是因为你想研究某个问题,这个问题其实有更好的描述、分析和回答方式,但你还不知道,且你可能不小心看到了某篇超级粗糙的模型、做了N层近似的分析,以为TDDFT就是那种粗糙理论,以为那就是解答。实际上,不如说出你的上层问题,大家可以推荐你更合适的做法。
作者
Author:
hebrewsnabla    时间: 2022-9-30 14:01
本帖最后由 hebrewsnabla 于 2022-9-30 14:11 编辑
mayyLYF 发表于 2022-9-30 10:53
您好,请问pyscf这个程序哪个.py可以算单分子在溶液下的交换积分和库仑积分,我不懂Python,实在看不懂{: ...

并不是运行某个py文件就可以,要自己写python程序调用pyscf。对着手册从头学习吧,先学会做scf计算。

当然,楼上和我都说了,算这个没意义,不如直接说出你算这个想要干什么。


作者
Author:
wzkchem5    时间: 2022-9-30 19:37
mayyLYF 发表于 2022-9-30 03:53
您好,请问pyscf这个程序哪个.py可以算单分子在溶液下的交换积分和库仑积分,我不懂Python,实在看不懂{: ...

你算的是电子转移积分或能量转移积分吗?或者Hubbard耦合常数?
”交换积分和库仑积分“是两个非常广义的概念,绝大多数情况下搞计算的人不需要知道这些积分的值,我能想到的例外主要是两个,(1)用Marcus理论计算电子转移速率或能量转移速率时,需要知道转移矩阵元;(2)算铁磁耦合体系/反铁磁耦合体系的耦合常数时,有时把耦合常数叫做交换积分。但是这两种情况需要计算的都是极个别分子轨道之间的交换积分和库仑积分,默认情况下计算交换积分和库仑积分指的是计算所有分子轨道之间的交换积分和库仑积分。
所以你可以看出来,如果不告诉我们你要用这些积分干什么,或者说具体需要计算哪些轨道之间的积分,那么我们很可能给你推荐的是计算所有分子轨道之间的交换积分和库仑积分的方法,结果导致把内存、硬盘用爆掉了也算不完。计算一小部分交换积分和库仑积分,和计算所有的交换积分和库仑积分,是完全不同的两个问题。
作者
Author:
mayyLYF    时间: 2022-10-8 21:41
zjxitcc 发表于 2022-9-30 11:08
当你说出“算单分子在溶液下的交换积分和库仑积分”时,可能是因为你想研究某个问题,这个问题其实有更好 ...

我组织一下,缕一缕思路,非常感谢提醒
作者
Author:
mayyLYF    时间: 2022-10-8 21:41
hebrewsnabla 发表于 2022-9-30 14:01
并不是运行某个py文件就可以,要自己写python程序调用pyscf。对着手册从头学习吧,先学会做scf计算。

...

我再整理一下,感谢
作者
Author:
mayyLYF    时间: 2022-10-8 21:45
wzkchem5 发表于 2022-9-30 19:37
你算的是电子转移积分或能量转移积分吗?或者Hubbard耦合常数?
”交换积分和库仑积分“是两个非常广义 ...

不是您说的那两点,我想算激发能,然后我看到使用TDDFT计算激发能的过程用到了库伦积分和交换积分,就想知道可不可以算出来这些具体的值
作者
Author:
hebrewsnabla    时间: 2022-10-8 22:16
mayyLYF 发表于 2022-10-8 21:45
不是您说的那两点,我想算激发能,然后我看到使用TDDFT计算激发能的过程用到了库伦积分和交换积分,就想 ...

其实(ia|jb)这样的积分既不是库仑积分也不是交换积分。而且这些积分的数目有 占据轨道数目^2 * 虚轨道数目^2 那么多,你算出来有什么用呢?
作者
Author:
wzkchem5    时间: 2022-10-8 23:51
mayyLYF 发表于 2022-10-8 14:45
不是您说的那两点,我想算激发能,然后我看到使用TDDFT计算激发能的过程用到了库伦积分和交换积分,就想 ...

目前主流程序都不是直接按Casida方程的定义式来算的,而是通过AO算法,绕开MO积分的计算,这样只需要计算AO积分就够了。参见doi.org/10.1063/1.461995(这篇讲的是TD-HF,因为当时Casida方程还没有提出。不过显然很容易推广到TDDFT的情形)
作者
Author:
mayyLYF    时间: 2022-10-9 09:49
hebrewsnabla 发表于 2022-10-8 22:16
其实(ia|jb)这样的积分既不是库仑积分也不是交换积分。而且这些积分的数目有 占据轨道数目^2 * 虚轨道数 ...

确实没有太大的意义
作者
Author:
mayyLYF    时间: 2022-10-9 09:49
wzkchem5 发表于 2022-10-8 23:51
目前主流程序都不是直接按Casida方程的定义式来算的,而是通过AO算法,绕开MO积分的计算,这样只需要计算 ...

好的,文献我看一下




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