计算化学公社
标题:
关于RHF轨道梯度的疑惑
[打印本页]
作者Author:
Freeman
时间:
2022-11-4 13:17
标题:
关于RHF轨道梯度的疑惑
本帖最后由 Freeman 于 2022-11-4 13:26 编辑
大家好。
http://dx.doi.org/10.3390/molecules25051218
的第9节说RHF的轨道梯度等于MO基组Fock矩阵(Fmo)的填充轨道和空轨道的交叉项(再乘个系数),而Fmo是AO基组Fock矩阵(Fao)变换来的:Fmo=(C^T)*Fao*C。但是根据HFR矩阵方程
FaoC=SCE
两边左乘C^T,
C^T*Fao*C=C^T*S*C*E
左边就是Fmo,右边的C^T*S*C=1(Szabo上有一道习题是证明这个恒等式),于是
Fmo=E
所以Fmo其实就是轨道能量构成的对角矩阵,那么其非对角元不都是0了吗?轨道梯度又从何谈起呢?我按照以上的公式写了程序,发现确实连SCF刚开始时的轨道系数都全为0。
另外我看了PySCF的相关代码:
(, 下载次数 Times of downloads: 22)
上传 Uploaded
点击下载Click to download
好像是说变换的C矩阵不是完整的C矩阵,而是把填充轨道和空轨道分别切出来的矩阵。但文献里并没有提到要给C轨道切片呀。
是不是我哪里理解错了,请大家指教。
作者Author:
hebrewsnabla
时间:
2022-11-4 13:47
本帖最后由 hebrewsnabla 于 2022-11-4 14:01 编辑
当你的SCF收敛了的时候,轨道梯度就是0啊,没什么问题。没收敛的时候,也不满足HFR方程,此时(C^T)*Fao*C的OV block应该不是0,如果是0应该是你写错了。
作者Author:
Freeman
时间:
2022-11-4 16:46
问题解决了。SCF的一般流程是:C->F->C->F......计算梯度应该在F->C之间,而不是C->F之间,因为在后一阶段,现有的C和现有的F已经是是恰好符合HFR方程的,Fmo的非对角元肯定为0,而前一阶段则不然。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3