计算化学公社

标题: Gaussian GTO基组,分子轨道归一化问题。 [打印本页]

作者
Author:
I10140317    时间: 2017-3-20 17:34
标题: Gaussian GTO基组,分子轨道归一化问题。
本帖最后由 I10140317 于 2017-3-20 18:10 编辑

大家好:
最近在写一个程序,涉及到计算分子轨道间的积分<X|Y>,写了一个查看是否归一化的小程序。
流程如下,
1. 提取MO coefficient,C,按占据和非占据轨道分为MO_OCC, MO_VIR
2. 提取基函数重叠积分S。
3. 分别利用C'SC=I,输出对角元计算是否归一化。
然而,在检查输出的时候,发现在分子轨道序号小于等于Gaussian的NFC数目时,可以完成归一化,而分子轨道系数大于NFC时,并没有完成归一化,我不太清楚这两者是有什么关系还是只是巧合。
如图示(189号轨道以下为NFC以内)。并且,在测小体系时(MBASIS=62),并没有出现类似问题。

利用iop(1/33=1),pop=full等打印出文件与提取的数据做了比较,数据提取应该没有什么问题,想知道可能是什么原因造成的。
计算归一化,用的fortran语言,S_OCC=MATMUL(MO_OCC,MATMUL(AO_OVERLAP,TRANSPOSE(MO_OCC)))。
维度为S_OCC(N_OCC, N_OCC),MO_OCC(N_OCC, MBASIS), AO_OVERLAP(MBASIS, MBASIS)。




作者
Author:
sobereva    时间: 2017-3-21 01:24
Gaussian输出的轨道都是归一化的
最好从fch里提取轨道信息,是全精度的
你再细致检查检查,并且建议让系数矩阵的列对应各个轨道,行对应各个基函数,这样和习俗一致。
C'SC=I在Multiwfn里可以很容易地验证,在wfn.f90中的!!!--------------------- Now everything start ---------------------!!!的前头增加一句call showmatgau(matmul(matmul(transpose(CObasa),Sbas),CObasa),"test",0),你会看到载入.fch文件后输出的矩阵是单位矩阵,非对角元的数值可忽略不计。其中CObasa是nbasis*nbasis矩阵(假定轨道数和基函数数目相同,列对应各个MO),Sbas是nbasis*nbasis尺寸的基函数间重叠矩阵。

作者
Author:
I10140317    时间: 2017-3-21 08:35
本帖最后由 I10140317 于 2017-3-21 10:20 编辑
sobereva 发表于 2017-3-21 01:24
Gaussian输出的轨道都是归一化的
最好从fch里提取轨道信息,是全精度的
你再细致检查检查,并且建议让系 ...

嗯,谢谢sob老师,我是用rwfdump 524R从rwf文件里提取的数据,这样精度应该和fch里提取的数据精度是一致的。我再仔细检查检查。改成您说的习俗一致的格式试试看,谢谢了。有疑问希望可以再请教。数值是以指数形式读进去的,精度real(kind=8),会影响结果吗?另外,我尝试了您说的用Multiwfn检查,版本为3.4,linux,no_GUI,在wfn.f90里加了call showmatgau(matmul(matmul(transpose(CObasa),Sbas),CObasa),"test",0),我直接编译后load .fch文件,会报Segment Default,是需要GUI吗?


作者
Author:
niobium    时间: 2017-3-21 09:50
NFC是什么
作者
Author:
I10140317    时间: 2017-3-21 09:55
本帖最后由 I10140317 于 2017-3-21 09:57 编辑
niobium 发表于 2017-3-21 09:50
NFC是什么

我计算用的是TD-CAM-B3LYP/6-31G*,会有这一项。
C:\Users\Administrator\Desktop\QQ图片20170321095424.png
作者
Author:
niobium    时间: 2017-3-21 10:34
哦,是frozen core
作者
Author:
niobium    时间: 2017-3-21 10:37
你只做HF,然后看看是不是归一化的呢
作者
Author:
I10140317    时间: 2017-3-21 10:47
本帖最后由 I10140317 于 2017-3-21 10:51 编辑
niobium 发表于 2017-3-21 10:37
你只做HF,然后看看是不是归一化的呢

嗯嗯,我刚刚好像找到点问题所在,可能是原子轨道重叠积分提取的有问题,我再看看,谢谢了。
作者
Author:
I10140317    时间: 2017-3-21 12:04
sobereva 发表于 2017-3-21 01:24
Gaussian输出的轨道都是归一化的
最好从fch里提取轨道信息,是全精度的
你再细致检查检查,并且建议让系 ...

问题已解决,但不清楚原因,我发现,之前在计算S_AO的时候,加了一个NOSYM,用这套原子轨道积分去算分子轨道积分就会出现问题。去掉之后,就是正交归一的了。
作者
Author:
I10140317    时间: 2017-3-21 12:20
非常非常感谢大家的提醒和帮助。




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