|
本帖最后由 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)。
|
|