计算化学公社

标题: 关于molcas中Orb系数的疑问,revec和wrvec [打印本页]

作者
Author:
铭律凉    时间: 2020-4-25 18:16
标题: 关于molcas中Orb系数的疑问,revec和wrvec
最近一直在想把各种形式的文件(例如fch,molden)等转为.Orb给molcas用,自己也想写一个程序试试看
看了看Multiwfn读取的molden文件,一号轨道下用了15个GTF表示第一个碳原子:
Basis func:     1  Cen:    1(C ) Shell:    1 Type: S     Coeff:  0.00000281
Basis func:     2  Cen:    1(C ) Shell:    2 Type: S     Coeff:  0.00001441
Basis func:     3  Cen:    1(C ) Shell:    3 Type: S     Coeff: -0.00026256
Basis func:     4  Cen:    1(C ) Shell:    4 Type: X     Coeff:  0.00000359
Basis func:     5  Cen:    1(C ) Shell:    4 Type: Y     Coeff:  0.00000113
Basis func:     6  Cen:    1(C ) Shell:    4 Type: Z     Coeff:  0.00000149
Basis func:     7  Cen:    1(C ) Shell:    5 Type: X     Coeff: -0.00012566
Basis func:     8  Cen:    1(C ) Shell:    5 Type: Y     Coeff:  0.00009135
Basis func:     9  Cen:    1(C ) Shell:    5 Type: Z     Coeff: -0.00005250
Basis func:    10  Cen:    1(C ) Shell:    6 Type: XX    Coeff: -0.00000009
Basis func:    11  Cen:    1(C ) Shell:    6 Type: YY    Coeff: -0.00000058
Basis func:    12  Cen:    1(C ) Shell:    6 Type: ZZ    Coeff:  0.00000465
Basis func:    13  Cen:    1(C ) Shell:    6 Type: XY    Coeff: -0.00000329
Basis func:    14  Cen:    1(C ) Shell:    6 Type: XZ    Coeff: -0.00000021
Basis func:    15  Cen:    1(C ) Shell:    6 Type: YZ    Coeff:  0.00000173
对应的Orb文件前15个系数为(括号里为我找到对应的系数)
2.80849764893570E-06(S)  1.44104682395232E-05(S)-2.62559643608102E-04(S) 3.59437280870038E-06(X) -1.25663682331075E-04(X)  
1.12518211854537E-06(Y)  9.13494565769266E-05(Y)  1.48715669307664E-06(Z)-5.25013284836823E-05(Z)-5.21476623544462E-08(?)
-3.29410630388188E-06(XY)-2.07858329459358E-07(XZ)-3.32391981352076E-07(?) 1.73410527043768E-06(YZ) 2.68384380302782E-06(?)
就是XX,YY,ZZ找不到,今天从别人那了解到基组的相关知识,猜测是molden用的是6D,molcas用的是5D,就是x^2-y^2、3*z^2-r^2,然后我用以下关系算了一下
D 0=-0.5*XX-0.5*YY+ZZ=4.985*10^-6
D+1=XZ
D-1=YZ
D+2=√3/2*(XX-YY)=4.2435*10^-7
D-2=XY
对应不上
我又发邮件问过molcas的开发人,避免这层楼太长我把他的回信放在楼下
他提到两个关键词rdvec和wrvec不知道是什么意思?



作者
Author:
铭律凉    时间: 2020-4-25 18:17
第一封:我发邮件问他有没有办法把molden转化为Orb,以下是他的回信
Hi,
The question about converting molden files to orbitals format was never discussed before, but it is rather trivial task and it requires a very little programming efforts (especially if symmetry is not used). The format of orbital files is self explanatory. But even simpler to use wrvec routine, which takes as parameters - matrices of coefficients, charges and energies, and writes them into orbital file.
If you would like to write such utility I will be happy to guide you if needed.


   Best regards,
       Valera
作者
Author:
铭律凉    时间: 2020-4-25 18:19
第二封:我说需要他的指导并且阐述了我阅读molden和Orb文件的发现,就是以那15个GTF 系数为例,询问是怎么样的转换关系,然后他的回信如下
Hi,
(the reason why I hate molden format - there is no documented spec for this format, and so different programs can and do use it differently). I suggest you to have a look at molden_interface.f
in properties_utils
It uses rdvec (opposite to wrvec) routine, which picks up the data from Orbital file.

  Best,
    Valera
里面提到了两个词就是rdvec和wrvec,不知道是怎么样的
作者
Author:
sobereva    时间: 2020-4-26 02:20
从名字一猜就知道rdvec是从文件里读取数据到数组(read vector)、wrvec是写入到文件(write vector)
这俩肯定都是molcas源代码里的子程序
作者
Author:
铭律凉    时间: 2020-4-26 10:04
sobereva 发表于 2020-4-26 02:20
从名字一猜就知道rdvec是从文件里读取数据到数组(read vector)、wrvec是写入到文件(write vector)
这 ...

请问sober老师知道这三个系数是怎么根据XX、YY、ZZ变换过来的?
还有有什么程序能够将fch、molden等基组的形式从6D和5D相互转换  7F和10F互相转换?
作者
Author:
sobereva    时间: 2020-4-27 01:35
铭律凉 发表于 2020-4-26 10:04
请问sober老师知道这三个系数是怎么根据XX、YY、ZZ变换过来的?
还有有什么程序能够将fch、molden等基组 ...

用Multiwfn读入球谐函数的fch或molden时,把settings.ini里的iloadasCart设为1,则载入后将处于笛卡尔型基函数状态,之后可以用Multiwfn导出成笛卡尔基函数的fch或molden等文件。
反着转换目前没有现成的工具

molcas的情况我不清楚,molcas的molden文件也无法被Multiwfn正确载入,也许用了特殊规则,建议你查看molcas那部分源代码了解具体情况。

作者
Author:
铭律凉    时间: 2020-4-27 08:58
sobereva 发表于 2020-4-27 01:35
用Multiwfn读入球谐函数的fch或molden时,把settings.ini里的iloadasCart设为1,则载入后将处于笛卡尔型 ...

molcas的molden文件无法被Multiwfn正确载入?我之前用这个查看轨道形状分析轨道成分都感觉挺好的,是什么部分出了问题?
作者
Author:
sobereva    时间: 2020-4-28 07:38
铭律凉 发表于 2020-4-27 08:58
molcas的molden文件无法被Multiwfn正确载入?我之前用这个查看轨道形状分析轨道成分都感觉挺好的,是什么 ...

能载入不代表一定正确地载入。因为不同程序的molden文件内容格式千奇百怪,这也是为什么我特意定义了一个新的名为mwfn格式(https://doi.org/10.26434/chemrxiv.11872524)的原因。
经过测试Multiwfn能完美支持的产生molden文件的程序在手册2.5节molden部分专门注明了。对于其它程序,都应当按照Multiwfn手册附录5的做法检验是否真正合理载入了
记得以前有过molcas的molden文件没有正确载入的情况,也可能是我记错了,反正只要能通过测试就可以用。实际上现在的Multiwfn版本也有自动检测机制,如果molden无法被正确载入,往往在载入时就会被发现并提示。

作者
Author:
铭律凉    时间: 2020-4-28 10:39
sobereva 发表于 2020-4-28 07:38
能载入不代表一定正确地载入。因为不同程序的molden文件内容格式千奇百怪,这也是为什么我特意定义了一个 ...

关于molcas的molden文件是否能被Multiwfn正确载入的问题
我参考了您写的http://sobereva.com/379,需要通过Molden2AIM转换为标准的molden形式才能被正确载入
同时也看了Multiwfn附录5的检验方式

但是
却发现转换前(也就是molcas生成)的molden文件两种方式都能检验通过
通过Molden2AIM转换的molden文件1000检验方式绝对通不过
100检验结果也不如原molden文件好(体系358个电子,原molden检验358.0000x,新molden文件357.77xxx)
麻烦sober老师检查一下这个情况
作者
Author:
sobereva    时间: 2020-4-29 02:50
铭律凉 发表于 2020-4-28 10:39
关于molcas的molden文件是否能被Multiwfn正确载入的问题
我参考了您写的http://sobereva.com/379,需要 ...

这得问molden2aim的开发者

既然molcas的molden文件直接能通过Multiwfn检测,你就放心用就好了
作者
Author:
beefly    时间: 2020-6-28 10:46
我把molden2aim升级了。第一次运行的时候会产生m2a.ini文件,把其中的carsph设为1。在新产生的molden文件里,就会把分子轨道因子从直角函数转成球函数。
前提是产生molden的量子化学计算也必须用球函数,否则转化没有意义
作者
Author:
zjxitcc    时间: 2020-6-28 10:51
beefly 发表于 2020-6-28 10:46
我把molden2aim升级了。第一次运行的时候会产生m2a.ini文件,把其中的carsph设为1。在新产生的molden文件里 ...

向老师推销一下
我开源了个MOKIT(https://gitlab.com/jxzou/mokit),里面的fch2inporb可以从fchk文件生成OpenMolcas输入文件和轨道文件




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