计算化学公社

标题: Multiwfn中轨道定域化后不知能量是否正确 [打印本页]

作者
Author:
ghifi37    时间: 2020-10-5 00:41
标题: Multiwfn中轨道定域化后不知能量是否正确
采用Multiwfn对ORCA产生的MO进行定域化,同时按照手册3.21节的要求,提供了Fock matrix,Multiwfn在读取matrix时也显示成功加载。
因自己对这个变换不了解,因而不确定所获得的能量是否正确。
按照社长的描述:描述体系波函数的Slater行列式无论是由原先的MO所构成,还是由变换后的LMO所构成,所对应的体系各种可观测量,如体系能量、电子密度、静电势等等,都是不变的。
按照以上的说法,特别是体系能量的不变性,是否LUMO与HOMO的能量差也会保持固定?甚至变换前后的LUMO与HOMO能量也会保持不变?
所获得的MO:
Note: Orbital    33 is HOMO, energy:   -0.221538 a.u.   -6.028363 eV
       Orbital    34 is LUMO, energy:   -0.006987 a.u.   -0.190130 eV
       HOMO-LUMO gap:    0.214551 a.u.    5.838233 eV    563.303940 kJ/mol

所获得的LMO:
Note: Orbital    33 is HOMO, energy:  -97.550582 a.u.-2654.486332 eV
       Orbital    34 is LUMO, energy:  -96.727749 a.u.-2632.095902 eV
       HOMO-LUMO gap:    0.822833 a.u.   22.390430 eV   2160.348567 kJ/mol

HOMO或LUMO在变换前后能量差了很多,LUMO与HOMO的能量差也从5.8eV变成了22.4eV,相差太多,所以我怀疑我做变换所提供的matrix有问题。
不知道自己的理解是否正确,但又查不出是什么问题,请各位帮看下究竟是哪里出的问题,附件中的文件可以望文生义知道文件内容。感谢!



作者
Author:
sobereva    时间: 2020-10-5 00:59
轨道定域化并不保证gap不变,本身轨道能量就不是可观测量。你看到的情况没有什么异常。另外,定域化之后就没有HOMO、LUMO一说了。

为了确认你产生Fock_matrix.txt的方式绝对正确,可以找个简单体系比如甲醛,在HF/def2-SVP下,和Multiwfn定域化Gaussian产生的轨道的结果对比一下。

作者
Author:
ghifi37    时间: 2020-10-5 01:07
sobereva 发表于 2020-10-5 00:59
轨道定域化并不保证gap不变。你看到的情况没有什么异常。

为了确认你产生Fock_matrix.txt的方式绝对正确 ...

谢谢社长快速回复,我试一下!只是今天你还要开培训,现在都还没睡,这么弄身体可吃不消,不好不好……
作者
Author:
ghifi37    时间: 2020-10-6 00:34
本帖最后由 ghifi37 于 2020-10-6 01:09 编辑
sobereva 发表于 2020-10-5 00:59
轨道定域化并不保证gap不变,本身轨道能量就不是可观测量。你看到的情况没有什么异常。另外,定域化之后就 ...

在不加入Fock matrix的时候,Gaussian和ORCA定域化的轨道除了部分编号不同外,其它都很相似;加了matrix后,Gaussian的除了能量外,其它的都看不出明显变化;ORCA却连轨道形状都完全不一样了,看不出明显的sigma和pi的样子,应该是matrix有问题。我直接把matrix和47文件中的$Fock字段比较,数值大小的变化规律基本类似,但也有局部异常;matrix和ORCA的原始数据已确保一致。请教社长:
1,matrix会影响定域化轨道的形状吗?
2,matrix应该选择ORCA最后一步SCF的结果吧?


作者
Author:
zjxitcc    时间: 2020-10-6 11:19
本帖最后由 zjxitcc 于 2020-10-6 11:24 编辑
ghifi37 发表于 2020-10-6 00:34
在不加入Fock matrix的时候,Gaussian和ORCA定域化的轨道除了部分编号不同外,其它都很相似;加了matrix ...

HOMO/LUMO不是可观测量,且在局域轨道下也没有能级之说(即无HOMO、LUMO,更无HOMO-LUMO),可以说算符的期望值<i|F|i>,这个量随着局域轨道的不同而不同。目前局域化方法有数不清的种类(例如Multiwfn就支持PM和Boys至少两种),每种局域化方法都可以算出一套<i|F|j>。因此你可以算<i|F|j>这套值,但是不能说HOMO-LUMO,而且<i|F|i>-<a|F|a>会随着局域化方法的不同而不同,要让它与HOMO-LUMO一致,只能是“凑”,所以意义不大。

当然,这与你在上一层的问题是另一个范畴了。提供Fock matrix不会影响局域轨道,因为局域化过程用不到Fock矩阵。Fock矩阵用于局域化结束后最后算期望值<i|F|i>用的。

作者
Author:
ghifi37    时间: 2020-10-6 16:19
本帖最后由 ghifi37 于 2020-10-6 23:35 编辑
zjxitcc 发表于 2020-10-6 11:19
HOMO/LUMO不是可观测量,且在局域轨道下也没有能级之说(即无HOMO、LUMO,更无HOMO-LUMO),可以说算符的 ...

感谢回复,我也觉得加不加入Fock matrix不应该影响到定域化除能量外的结果,否则matrix就成了一个必要条件。
但对于Multiwfn 3.7 release而言,matrix的确会影响到定域结果。

个人理解,不管是只对占据轨道局域化还是所有轨道局域化,所获得占据轨道的能量应该相等。我比较了两种方法所获得的能量,具体情况如下,感觉所有轨道局域化后的能量应该有问题,而且轨道的形状也彻底变了(虽然轨道能量的变化会导致轨道排序发生变化,但我真找不到对应的形状),以上是基于ORCA + Fork matrix的结果。

Localizing both occupied and unoccupied orbitals separately 所获得的LMO能量:
#     1  Energy ( a.u.):     -2722.8648  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     2  Energy ( a.u.):     -2697.4136  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     3  Energy ( a.u.):     -2415.8051  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     4  Energy ( a.u.):     -2333.5098  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     5  Energy ( a.u.):     -2104.6511  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     6  Energy ( a.u.):     -2102.4196  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     7  Energy ( a.u.):     -1644.5237  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     8  Energy ( a.u.):     -1517.9043  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     9  Energy ( a.u.):     -1118.5267  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    10  Energy ( a.u.):     -1092.3626  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    11  Energy ( a.u.):     -1065.7985  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    12  Energy ( a.u.):     -1056.7763  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    13  Energy ( a.u.):      -748.5196  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    14  Energy ( a.u.):      -695.6840  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    15  Energy ( a.u.):      -694.6653  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    16  Energy ( a.u.):      -690.3616  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    17  Energy ( a.u.):      -613.3945  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    18  Energy ( a.u.):      -576.6571  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    19  Energy ( a.u.):      -567.3945  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    20  Energy ( a.u.):      -447.0402  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    21  Energy ( a.u.):      -381.0770  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    22  Energy ( a.u.):      -379.2151  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    23  Energy ( a.u.):      -373.8413  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    24  Energy ( a.u.):      -352.8576  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    25  Energy ( a.u.):      -249.4475  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    26  Energy ( a.u.):      -230.5835  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    27  Energy ( a.u.):      -161.4344  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    28  Energy ( a.u.):      -158.0176  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    29  Energy ( a.u.):      -132.5324  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    30  Energy ( a.u.):      -112.7427  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    31  Energy ( a.u.):      -103.9576  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    32  Energy ( a.u.):       -99.8544  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    33  Energy ( a.u.):       -98.3964  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    34  Energy ( a.u.):       -98.0091  Occ: 0.000  Str: 1.000  FWHM:  0.0500
#    35  Energy ( a.u.):       -96.7268  Occ: 0.000  Str: 1.000  FWHM:  0.0500
... ...

33轨道:



Localizing occupied orbitals only 所获得的LMO能量:
#     1  Energy ( a.u.):       -18.9868  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     2  Energy ( a.u.):       -18.9330  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     3  Energy ( a.u.):       -10.2962  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     4  Energy ( a.u.):       -10.2871  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     5  Energy ( a.u.):       -10.2630  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     6  Energy ( a.u.):       -10.2577  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     7  Energy ( a.u.):       -10.2548  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     8  Energy ( a.u.):       -10.2442  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#     9  Energy ( a.u.):       -10.2308  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    10  Energy ( a.u.):        -1.0866  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    11  Energy ( a.u.):        -0.7223  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    12  Energy ( a.u.):        -0.7157  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    13  Energy ( a.u.):        -0.5649  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    14  Energy ( a.u.):        -0.4779  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    15  Energy ( a.u.):        -0.4767  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    16  Energy ( a.u.):        -0.4765  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    17  Energy ( a.u.):        -0.4719  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    18  Energy ( a.u.):        -0.4668  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    19  Energy ( a.u.):        -0.4469  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    20  Energy ( a.u.):        -0.4367  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    21  Energy ( a.u.):        -0.3856  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    22  Energy ( a.u.):        -0.3790  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    23  Energy ( a.u.):        -0.3386  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    24  Energy ( a.u.):        -0.3366  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    25  Energy ( a.u.):        -0.2971  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    26  Energy ( a.u.):        -0.2842  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    27  Energy ( a.u.):        -0.2044  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    28  Energy ( a.u.):        -0.1965  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    29  Energy ( a.u.):        -0.1961  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    30  Energy ( a.u.):        -0.1896  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    31  Energy ( a.u.):        -0.1721  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    32  Energy ( a.u.):        -0.1618  Occ: 2.000  Str: 1.000  FWHM:  0.0500
#    33  Energy ( a.u.):        -0.1523  Occ: 2.000  Str: 1.000  FWHM:  0.0500

33轨道:


如果用Gaussian + 47,就不会出现这样的情况。
怀疑是不是有bug?
作者
Author:
zjxitcc    时间: 2020-10-6 16:35
本帖最后由 zjxitcc 于 2020-10-6 16:37 编辑
ghifi37 发表于 2020-10-6 16:19
感谢回复,我也觉得加不加入Fock matrix不应该影响到定域化除能量外的结果,否则matrix就成了一个必要条 ...

(1)不能对所有轨道进行局域化。只能对三者中任一者进行局域化:双占据轨道、单占据轨道、空轨道。超出范围进行局域化都是错误的。否则怎么会有占据和非占据的说法。
你不小心混合了占据轨道和空轨道,它就不是HF解了,连HF能量都不对了。

(2)不能说“轨道能量”,而应该说<i|F|i>值。
作者
Author:
ghifi37    时间: 2020-10-6 17:33
本帖最后由 ghifi37 于 2020-10-6 17:36 编辑
zjxitcc 发表于 2020-10-6 16:35
(1)不能对所有轨道进行局域化。只能对三者中任一者进行局域化:双占据轨道、单占据轨道、空轨道。超出 ...

的确是这样的,在Multiwfn中是分别对占据和非占据轨道做定域化,但占据轨道的<i|F|i>值与单独只做占据轨道定域化的完全不一样。
作者
Author:
sobereva    时间: 2020-10-10 01:42
是否让Multiwfn计算轨道能量不影响轨道形状,只影响轨道顺序,因为Fock矩阵是在轨道定域化之后才拿来求本征值的

我刚用Multiwfn手册4.19.1节的butadiene做了测试,对于当前版本,不管是只定域化占据轨道,还是定域化占据+空轨道,最终占据轨道能量和形状都是相同的

关于使用ORCA的Fock矩阵,有一点我之前忘说了,ORCA的基函数顺序和一般程序不一样,哪怕对于p壳层也是如此。Gaussian里,以及Multiwfn内部,p壳层的顺序都是X,Y,Z,而ORCA则是诡异的Z,X,Y,因此其输出的Fock矩阵元的顺序也和Gaussian(以及.47中的)不符,因此需要自行调整成Gaussian的顺序。

作者
Author:
sobereva    时间: 2020-10-14 08:07
好消息,Multiwfn已经可以直接从ORCA输出文件里读取Fock矩阵用于计算双杂化轨道的能量了,见http://bbs.keinsci.com/thread-19819-1-1.html
作者
Author:
ghifi37    时间: 2020-10-14 08:55
sobereva 发表于 2020-10-14 08:07
好消息,Multiwfn已经可以直接从ORCA输出文件里读取Fock矩阵用于计算双杂化轨道的能量了,见http://bbs.kei ...

太感谢社长了!没见过更新这么及时的!




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