如何计算轨道重叠对Mayer键级的贡献

首先应注意Mayer bond order的定义如下:

catch4642_11-04-22-47-15_.jpg

其中

ADF中,可以使用EXTENDEDPOPAN关键词,给出每个角动量对Mayer键级(以及Mulliken atom-atom布居)的贡献:

Engine ADF
    Basis
        Type DZP
        Core None
    End
    XC
        GGA PBE
    End
    Relativity
        Level None
    End
    BondOrders
        TypeForAMS Mayer
    End
    ExtendedPopan Yes
EndEngine

另外,on the resulting adf.rkf(dmpkf adf.rkf > ASCII.txt命令转化为文本文件,TAPE15需要类似转化为文本文件) one can find the density matrix on AO (SCF%Pmat_A,此处指上一行为SCF,下一行为Pmat_A,A%SFO类似), the SFO coefficient in AO, in case of symmetry NOSYM, they are stored in A%SFO. If one includes SAVE TAPE15 in the ADF part of the input one can find the overlap matrix on AO on TAPE15 (Matrices%Smat). On adf.rkf one can also find the SCF orbitals, etcetera. I think all the information on the binary result files is in principle enough to recalculate bond-orders. AOs are also called BAS or primitive STOs

从这个角度,应该是可以计算SFO对Mayer键级的贡献的。

密度矩阵与重叠矩阵的存储顺序:

Smat and Pmat are symmetric stored in packed storage mode, meaning consecutively: (1,1), (1,2), (2,2), (1,3), (2,3), (3,3)

Suppose one has nsfo SFOs and nbas basis functions (AOs,BAS) A%SFO is stored as coef(nbas,nsfo), where

SFO_i = sum_j coef_ij bas_j, and first all coefficient for SFO_1, etcetera. Note that one has to take into account the so called npart indices, which are stored in A%npart in case of symmetry NOSYM, the npart indices are indices that give for each of the nbas functions, the number of the basis function in the list of all basis functions.