计算化学公社

标题: J_from_g03计算电荷转移积分 [打印本页]

作者
Author:
janeli1995    时间: 2016-11-14 07:01
标题: J_from_g03计算电荷转移积分
我用这个code:http://code.google.com/p/j-from-g03/计算热扰动下分子的转移积分。先做MD然后对每个snapshot用这个程序进行计算,其中gaussian计算用的是zindo。但是发现用HOMO和HOMO-1差的一半来估计,均值和标准差都比较接近文献,但是算出来的Non_degenerate_HOMO_coupling均值和误差都和文献相差很多,如果把每个转移积分取绝对值就差不多对了。可是转移积分应该是算出来正的就是正的,负的就是负的吧?请问一下出现这种情况的原因是什么呢?
谢谢!

作者
Author:
janeli1995    时间: 2016-11-14 09:22
这是文献:Troisi, A., Orlandi, G., Troisi, A., & Orlandi, G. (2006). Dynamics of the Intermolecular Transfer Integral in Crystalline Organic Semiconductors Dynamics of the Intermolecular Transfer Integral in Crystalline Organic Semiconductors. Phys. Chem, (1), 4065–4070. http://doi.org/10.1021/jp055432g
想知道为什么会出现用HOMO和HOMO-1差的一半来估计比较接近文献,而用这个code算的Non_degenerate_HOMO_coupling和文献相差很多呢?谢谢!
作者
Author:
sobereva    时间: 2016-11-14 10:40
具体细节我忘了,如果程序利用片段自身单独计算的MO来算的话,由于对MO的相位进行反转前后物理意义还是一样的,这样导致正负不同倒是无所谓,就看绝对值即可
作者
Author:
janeli1995    时间: 2016-11-15 01:15
sobereva 发表于 2016-11-14 10:40
具体细节我忘了,如果程序利用片段自身单独计算的MO来算的话,由于对MO的相位进行反转前后物理意义还是一样 ...

非常感谢!
请问什么是“片段自身单独计算的MO”?我不是很懂……

文献用的是unperturbed HOMOs of the two distinct molecules and the Fock operator of the system of the two
bases built using the unperturbed density matrix来计算的,算出来有正负号。
请问二者有什么区别呢?什么情况下正负号比较重要呢?谢谢!
作者
Author:
stecue    时间: 2016-11-15 02:46
楼主算的是中性分子吧?你如果要用中性分子来研究空穴的电子转移积分,那就是HOMO和HOMO-1。首先,你得打掉一个电子,才能形成一个空穴对吧?——那么你看出来了,研究空穴就是研究正离子。

然后考虑电子(或空穴)局域化的两个完全简并的diabatic states。假设电子转移前后未参与电子转移的轨道完全不变。那么,参与电子转移的那3个电子前后所占据的两个局域轨道之间的“电子转移积分”,就是我们想要求的这个“空穴”转移反应的转移积分。为什么是3个电子?因为本来这两个局域化轨道都是满电子的,也就是本来是4个电子。为了得到空穴,得敲掉一个电子形成正离子。受影响的两条轨道上就剩下3个电子了。

现在的问题就是,如何求得那个积分?如果直接求的话还要把分子轨道先进行酉变换为局域轨道,不合算。但是我们可以反过来考虑:那两个简并的局域轨道,对应于那些分子轨道?考虑到我们已经假定未参与电子转移的轨道完全不变了,而参与转移的电子们又是能量最高的,那么你不就知道在中性分子中这3个电子都在哪里了么——显然在HOMO和HOMO-1上啊。至于为什么是HOMO和HOMO-1的一半代表“空穴”能量转移积分,你只要把矩阵对角化一下就可以了。但是你也会发现,用“一半”来代表也有个前提:那那两个电荷局域化的diabatic states在能量上是完全简并的,否则误差很大。对于对称分子一半可以满足这一条,否则硬算可能还是最好的办法。

作者
Author:
stecue    时间: 2016-11-15 02:52
janeli1995 发表于 2016-11-15 01:15
非常感谢!
请问什么是“片段自身单独计算的MO”?我不是很懂……

那篇文献就是算空穴,所以是HOMO。

大部分情况下不需要知道电子转移积分的正负号,因为一般它配合着Fermi's Golden Rule使用,而在Fermi's Golden Rule中只需要耦合项的平方。

如果你需要知道正负号,就没法用MO能量差的方法。MO能量差只能给出绝对值。
作者
Author:
janeli1995    时间: 2016-11-15 05:15
stecue 发表于 2016-11-15 02:46
楼主算的是中性分子吧?你如果要用中性分子来研究空穴的电子转移积分,那就是HOMO和HOMO-1。首先,你得打掉 ...

谢谢您的详细解答!
我是打算用直接耦合法<HOMO | F | HOMO > 进行计算的,但是不太明白什么时候可以只看绝对值,什么时候要保留正负号……
作者
Author:
stecue    时间: 2016-11-15 06:24
本帖最后由 stecue 于 2016-11-15 06:30 编辑
janeli1995 发表于 2016-11-15 05:15
谢谢您的详细解答!
我是打算用直接耦合法 进行计算的,但是不太明白什么时候可以只看绝对值,什么时候 ...

你要用电子转移积分做什么呢?如果用它估算电子(或空穴)传递速率,只需要绝对值(的平方)。
但是你如果要计算一个模型的有效哈密顿量,用电子转移积分作为非对角元, 你选出来的那些 dibatic states 的能量作为对角元,那就需要计算正负号。
作者
Author:
wswrpd    时间: 2016-11-15 07:11
本帖最后由 wswrpd 于 2016-11-15 08:23 编辑
stecue 发表于 2016-11-15 06:24
你要用电子转移积分做什么呢?如果用它估算电子(或空穴)传递速率,只需要绝对值(的平方)。
但是你如 ...

给你点个赞,就是这样,所谓的局域轨道就是diabatic state,如果是兼并的,最后你观察到的能量差就是局域轨道之间的coupling 的两倍,这个用2-level system的模型是最明显容易理解的,site-energy 就是你兼并局域轨道的能量,Coupling就是耦合系数,而你观察到的去兼并能级就是这个矩阵的eigenenergy,一个是SiteEnergy+Coupling,一个是SiteEnergy-Coupling,所以最后你的delta E是2倍coupling。


作者
Author:
sobereva    时间: 2016-11-15 07:16
janeli1995 发表于 2016-11-15 05:15
谢谢您的详细解答!
我是打算用直接耦合法 进行计算的,但是不太明白什么时候可以只看绝对值,什么时候 ...


你计算某个分子的时候,用不同程序,或者同一个程序多次进行计算,得到的轨道相位往往是不同的,但这并不影响能量以及任何可观测性质,所以相位有任意性。
像<HOMO_A | F | HOMO_B>这种计算方式,A和B的HOMO的相位由于有上述任意性,所以这个积分值负号可正可负。
作者
Author:
janeli1995    时间: 2016-11-16 02:25
stecue 发表于 2016-11-15 06:24
你要用电子转移积分做什么呢?如果用它估算电子(或空穴)传递速率,只需要绝对值(的平方)。
但是你如 ...

非常感谢!!!
我是做的一个项目的一部分 要计算的是热扰动下转移积分的variance,并由此计算Peierls electron-phonon coupling。但是看到文献同样用<HOMO | F | HOMO > 计算,计算出的同一个dimer的转移积分波动有正有负,但是我取绝对值才比较接近他的结果……
我再研究研究,谢谢啦!

作者
Author:
janeli1995    时间: 2016-11-16 02:25
wswrpd 发表于 2016-11-15 07:11
给你点个赞,就是这样,所谓的局域轨道就是diabatic state,如果是兼并的,最后你观察到的能量差就是局域 ...

谢谢您!非常形象!
作者
Author:
janeli1995    时间: 2016-11-16 02:31
sobereva 发表于 2016-11-15 07:16
你计算某个分子的时候,用不同程序,或者同一个程序多次进行计算,得到的轨道相位往往是不同的,但这并 ...

谢谢老师,我明白了!
不过看到文献同样用<HOMO | F | HOMO > 计算,计算出的同一个dimer的转移积分波动有正有负(但是符号不同的点很少),但是我取绝对值之后才比较接近他的结果……不知道这是为什么呀?
作者
Author:
sobereva    时间: 2016-11-16 03:20
janeli1995 发表于 2016-11-16 02:31
谢谢老师,我明白了!
不过看到文献同样用 计算,计算出的同一个dimer的转移积分波动有正有负(但是符号 ...


如果构建F的时候已经隐含地考虑了单体轨道相位,那么这个积分的数值正负号是固定的,也有意义,也许文献是这种情况。
这跟具体程序实现有关。
作者
Author:
janeli1995    时间: 2016-11-16 05:41
sobereva 发表于 2016-11-16 03:20
如果构建F的时候已经隐含地考虑了单体轨道相位,那么这个积分的数值正负号是固定的,也有意义,也许文 ...

嗯嗯我懂了~谢谢!
作者
Author:
janeli1995    时间: 2016-11-16 08:01
sobereva 发表于 2016-11-16 03:20
如果构建F的时候已经隐含地考虑了单体轨道相位,那么这个积分的数值正负号是固定的,也有意义,也许文 ...

还有一个问题,如果想自己写程序解决这个问题的话,就是看MO里面轨道系数,如果负的系数较多就乘以-1让它变成反相的吗?
作者
Author:
sobereva    时间: 2016-11-16 08:19
janeli1995 发表于 2016-11-16 08:01
还有一个问题,如果想自己写程序解决这个问题的话,就是看MO里面轨道系数,如果负的系数较多就乘以-1让它 ...

不是简单的乘以个-1
如果你知道NBO的话,虽然NBO相位可以不同,见
简谈NBO间的相对相位问题
http://sobereva.com/191
但是靠以NBO为基的Fock算符得到的两个NBO间的E2能量则是确定的。
作者
Author:
janeli1995    时间: 2016-11-16 11:01
sobereva 发表于 2016-11-16 08:19
不是简单的乘以个-1
如果你知道NBO的话,虽然NBO相位可以不同,见
简谈NBO间的相对相位问题

好的!非常感谢!
作者
Author:
janeli1995    时间: 2016-11-19 07:53
sobereva 发表于 2016-11-16 08:19
不是简单的乘以个-1
如果你知道NBO的话,虽然NBO相位可以不同,见
简谈NBO间的相对相位问题

老师您好,看了这个博文 其中说“当发现如果轨道负值区域占主导,那么就给轨道系数都乘上-1来让它反转,使得所有AdNDP轨道都是以正相位为主。” 请问应该如何判断是正值还是负值区域占主导呢?我试了把轨道系数相加看正负,和看正负项哪个多,好像都不对……希望您不吝赐教!
作者
Author:
sobereva    时间: 2016-11-19 12:05
janeli1995 发表于 2016-11-19 07:53
老师您好,看了这个博文 其中说“当发现如果轨道负值区域占主导,那么就给轨道系数都乘上-1来让它反转, ...


有不同判断方式。比如可以把负值部分取平方加和,也把正值部分取平方加和,然后看哪边大
作者
Author:
janeli1995    时间: 2016-11-20 02:28
sobereva 发表于 2016-11-19 12:05
有不同判断方式。比如可以把负值部分取平方加和,也把正值部分取平方加和,然后看哪边大

谢谢老师!
作者
Author:
janeli1995    时间: 2016-11-20 04:54
sobereva 发表于 2016-11-19 12:05
有不同判断方式。比如可以把负值部分取平方加和,也把正值部分取平方加和,然后看哪边大

老师 我还有一个比较低级的问题……用<HOMO | F | HOMO >计算时,如果用dimer的重叠矩阵和轨道系数来计算fock算子:F=SCEC^-1,那么它的维度不是单个分子轨道的两倍吗(比如单个分子的HOMO是N*1那么fock是2N*2N)?请问这样怎么乘?我还没有完全搞懂,还希望老师见谅!
作者
Author:
sobereva    时间: 2016-11-20 06:58
janeli1995 发表于 2016-11-20 04:54
老师 我还有一个比较低级的问题……用计算时,如果用dimer的重叠矩阵和轨道系数来计算fock算子:F=SCEC^- ...

应该是把单体波函数投影到dimer的基下再乘
作者
Author:
janeli1995    时间: 2016-11-20 09:12
sobereva 发表于 2016-11-20 06:58
应该是把单体波函数投影到dimer的基下再乘

不好意思老师,我还是不太明白……‘dimer的基’是指什么呀?它为什么和单体维度一致呢?因为我记得投影要做内积,也是要求维度一致的……麻烦老师了,谢谢!!
作者
Author:
sobereva    时间: 2016-11-20 16:38
janeli1995 发表于 2016-11-20 09:12
不好意思老师,我还是不太明白……‘dimer的基’是指什么呀?它为什么和单体维度一致呢?因为我记得投影 ...

就是dimer的基函数
作者
Author:
wswrpd    时间: 2016-11-22 08:03
本帖最后由 wswrpd 于 2016-11-22 10:25 编辑

我看了你说的文章,感觉基本是应该理解了。
推荐你看这一篇文章
Modeling the Bacterial Photosynthetic Reaction Center 3: Interpretation of Effects of Site-Directed Mutagenesis on the Special-Pair Midpoint Potential†
Biochemistry 2000, 39, 16185-16189
里面的(2)式是抽象F operator(或者叫做F matrix)的表示。   
注意你提供的文章的(2)式子,phi_i^0和phi_j^0作用在我说的(2)式F里,正好得到的是coupling J,这就是两个分子之间的coupling

而实际进行计算时候用的是真正的F operator
当然用这个计算<phi_i^0|F|phi_i^0> 就是我提供文章里给出的E_L或者E_M了
如果有问题欢迎继续讨论
作者
Author:
wswrpd    时间: 2016-11-22 10:23
janeli1995 发表于 2016-11-20 09:12
不好意思老师,我还是不太明白……‘dimer的基’是指什么呀?它为什么和单体维度一致呢?因为我记得投影 ...

补充一下,所以你要算的是,固定两个分子之间的相对位置。
分别计算每一个分子单独存在时的波函数。我把他们称为phi_1和phi_2

然后你要做的就是计算这一个积分<phi_1|F|phi_2>这里的F就是我上面回帖里面的那个公式(不是参考文章里面的那个矩阵)

最后计算得到的结果当然有正有负,因为这个结果是有“相位”的,如果你要加入外加磁场说不定这个coupling 还会是复数呢。
作者
Author:
janeli1995    时间: 2016-12-12 02:15
wswrpd 发表于 2016-11-22 10:23
补充一下,所以你要算的是,固定两个分子之间的相对位置。
分别计算每一个分子单独存在时的波函数。我把 ...

谢谢您!我懂了~
作者
Author:
janeli1995    时间: 2016-12-12 02:16
sobereva 发表于 2016-11-20 16:38
就是dimer的基函数

谢谢老师!我找到一篇文章,Kirkpatrick, J. (2008). An approximate method for calculating transfer integrals based on the ZINDO Hamiltonian. International Journal of Quantum Chemistry, 108(1), 51–56. http://doi.org/10.1002/qua.21378 是把dimer投影到一个monomer构成的矩阵之后计算的,我已经按照这个方法算出结果了,谢谢您~
作者
Author:
stecue    时间: 2016-12-13 05:43
wswrpd 发表于 2016-11-22 08:03
我看了你说的文章,感觉基本是应该理解了。
推荐你看这一篇文章
Modeling the Bacterial Photosynthetic ...

就是Fock算符和Fock矩阵吧,为啥要省三个字母,不常见呢。
作者
Author:
wswrpd    时间: 2016-12-13 11:28
stecue 发表于 2016-12-13 05:43
就是Fock算符和Fock矩阵吧,为啥要省三个字母,不常见呢。

20,30年前的用法。。。直接照抄文章里的句子
确实就是Fock算符(矩阵)
作者
Author:
珊珊来迟    时间: 2017-8-22 22:47
janeli1995 发表于 2016-12-12 02:16
谢谢老师!我找到一篇文章,Kirkpatrick, J. (2008). An approximate method for calculating transfer i ...

前辈你好,最近想计算转移积分,关于直接耦合法甚是费解,希望前辈能指导一二,我有几个问题,前辈有时间的话可否帮我解答?
1.计算fock矩阵需要计算dimer的重叠积分,轨道系数,及本征值,可这三个参数具体用高斯怎么计算呢?http://muchong.com/html/201707/5016849.html这个帖子中有看到sob老师介绍的计算重叠积分的方法不知是否可用?
2.计算轨道系数需要什么关键词呢?输出文件在哪里找这个信息?
3.本征值我也不太清楚它的含义。。要怎么用高斯计算。。
4.最后这些参数都算出来了,这个公式<HOMO | F | HOMO >具体怎么用?我看的一头雾水。。
对于这方面的知识我实在是太欠缺了,所以问题都比较......或者前辈有什么可以参考的资料推荐我去自学一下。谢谢您!
作者
Author:
janeli1995    时间: 2017-8-29 03:37
珊珊来迟 发表于 2017-8-22 22:47
前辈你好,最近想计算转移积分,关于直接耦合法甚是费解,希望前辈能指导一二,我有几个问题,前辈有时间 ...

1. 高斯关键词示例:# b3lyp nosymm punch=mo iop(3/33=1) 具体泛函基组根据需要选择
2. 上述关键词会输出轨道系数 查一下orbital coefficient
3. 本征值就是每个轨道对应的能量值 输出文件里面的好像是eignevalue
4. 用J_from_g03代码计算即可
作者
Author:
珊珊来迟    时间: 2017-8-30 10:47
janeli1995 发表于 2017-8-29 03:37
1. 高斯关键词示例:# b3lyp nosymm punch=mo iop(3/33=1) 具体泛函基组根据需要选择
2. 上述关键词会输 ...

非常感谢前辈的耐心解答!在前辈帮助下我已经有点头绪了。在用J_from_g03程序计算时,第3步 (, 下载次数 Times of downloads: 44)
出现了问题,说没有读取到分子轨道的基组数目,前辈可以帮我看一下吗?下面是问题的贴图
(, 下载次数 Times of downloads: 37)
(2)另外关于第5步我没太读懂,需要在get_J.m 添加MOs数目和单分子HOMO的注释说明,具体是需要怎么操作呀?
(, 下载次数 Times of downloads: 51)
再次感谢您的帮助!

作者
Author:
janeli1995    时间: 2017-8-31 01:01
珊珊来迟 发表于 2017-8-30 10:47
非常感谢前辈的耐心解答!在前辈帮助下我已经有点头绪了。在用J_from_g03程序计算时,第3步
出现了问题 ...

这个可能是输出文件和程序读取的方式不吻合,需要修改程序
作者
Author:
珊珊来迟    时间: 2018-1-14 22:20
楼主您好,关于用这个小程序计算转移积分,我想请教您两个问题:1) example文件中的xxx_1.com     xxx_2.com    xxx_pair.com三个文件是怎么产生的呢?

(, 下载次数 Times of downloads: 35)
2) 请问教程中的第5步是什么意思呀?
(, 下载次数 Times of downloads: 42)
非常期待您的回复,谢谢!~


作者
Author:
Puying    时间: 2018-5-9 00:05
珊珊来迟 发表于 2018-1-14 22:20
楼主您好,关于用这个小程序计算转移积分,我想请教您两个问题:1) example文件中的xxx_1.com     xxx_2.com ...

.com文件是gaussian的输入文件。
octave是一个程序,类似于matlab。get_J.m是一段octave的源代码,放在matlab里面也能跑。第五步就是用octave运行get_J.m,同时需要上一步产生的文件。。
作者
Author:
让你变成回忆    时间: 2018-5-9 11:14
本帖最后由 让你变成回忆 于 2018-5-9 11:18 编辑
珊珊来迟 发表于 2017-8-22 22:47
前辈你好,最近想计算转移积分,关于直接耦合法甚是费解,希望前辈能指导一二,我有几个问题,前辈有时间 ...

1.Fock矩阵的计算:
这里的Fock矩阵指的是dimer的Fock矩阵,根据公式:F * C = S * C * E,因此,有:F = S * C * E * C^-1,因此需要知道的信息有:重叠矩阵,轨道系数构成的矩阵。至于如何具体计算,就是得从log文件或者fchk文件里提出这些信息以及调用一些现成的库去计算矩阵的逆、乘积等等;  这部分内容请看sob老师有一篇博文,题目叫《从Gaussian和GAMESS-US中提取电子积分》。然后这里的轨道系数C,指的应该是monomer的C。
2. 从fchk文件中可以提取出精度较高的分子轨道系数,具体关键词是:Alpha MO coefficients。fch文件的格式以及如何去读数据,请看sob老师的另一篇博文,题目为:wfn和fch文件的转换(具体题目可能有些差异)。
3.本征值对于正则分子轨道而言,就是轨道能量,可以从fch文件中找到Alpha MO energy关键词读取。
4.这是一个积分的表达式,不过采用具体的基组以后,就可以转换为矩阵乘积的形式。
如果我没理解错,你计算的应该是这篇文献里计算转移积分的方法:10.1021/ja061827h ,所谓格点能修正方法。
PS:想要知道fch文件包含的信息,一个不错的方式是去读Multiwfn的源代码的FileIO.f90中readfch这个子程序,就是讲如何读fch文件的。

作者
Author:
yaochuang    时间: 2020-7-16 12:02
sobereva 发表于 2016-11-15 07:16
你计算某个分子的时候,用不同程序,或者同一个程序多次进行计算,得到的轨道相位往往是不同的,但这并 ...

sob老师,我在看J_from_g09这个程序时,发现其末尾存在这样的内容“5-fold HOMO
average”和“5-fold LUMO average”,我的理解是用了前5个轨道的平均;也有只用了单个HOMO或LUMO轨道的。我想请问一下这个什么时候用前5个轨道平均,什么时候用单个轨道呢?还有就是这个平均出来是有什么物理意义吗?谢谢 (, 下载次数 Times of downloads: 26)




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