计算化学公社
标题:
ORCA的ECP积分是如何归一化的?
[打印本页]
作者Author:
Freeman
时间:
4 day ago
标题:
ORCA的ECP积分是如何归一化的?
本帖最后由 Freeman 于 2026-2-12 15:46 编辑
大家好,我想问问ORCA的ECP积分是如何归一化的。
事情的起因是我想实现带ECP的SCF计算,这就要用到ECP积分。我不想自己写ECP积分了,就调了个库libecpint(
https://github.com/robashaw/libecpint/
)。实现它自带的例子之后,我发现它的结果跟G16算出来的ECP积分不符。问了原作者,他说libecpint的结果符合Molpro和ORCA,之所以不符合G16,大概是因为libecpint并没有对基函数做归一化,但他实在没时间研究这个归一化问题了。
于是我把对于primitive gaussian归一化的contraction coefficient(从libint2得到)喂给了libecpint,发现那些只有一个primitive gaussian的shell对应的矩阵元,libecpint和G16是对得上的,但是多个primitive gaussian的shell仍然对不上。我可以肯定归一化的contraction coefficient没错,因为基于它们实现的DFT格点积分计算的能量都是对的。所以我觉得,可能要做的是另一个层面的归一化,而不单单是primitive gaussian的归一化。鉴于作者说libecpint的结果符合Molpro和ORCA,而Molpro是收费的,我就想问问ORCA对未归一化的ECP积分到底做了什么处理,使得它们可以和密度矩阵缩并并给出正确的能量呢。
非常感谢!!
作者Author:
beefly
时间:
4 day ago
Molpro底层调用Molcas的seward积分代码,你可以下载OpenMolcas的代码看看
作者Author:
Freeman
时间:
4 day ago
beefly 发表于 2026-2-12 16:24
Molpro底层调用Molcas的seward积分代码,你可以下载OpenMolcas的代码看看
谢谢提醒。我看到这个代码
https://github.com/Molcas/OpenMo ... sorb/fmod1n.F90#L95
,意思是说先算一个未归一化的重叠矩阵,再以这个矩阵的对角元的倒数平方作为归一化因子。
下一步我就要去libint2那儿提问,如何计算未归一化的重叠矩阵,毕竟libint2给出的直接就是归一化的各种积分了。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3