计算化学公社

标题: molpro 算单点能报错求助 [打印本页]

作者
Author:
李二蛋    时间: 2021-12-27 15:45
标题: molpro 算单点能报错求助
各位大佬,帮忙小菜鸟看看,需要用如下方法/基组计算该点的单点能,如下报错如何解决!十分感谢!

作者
Author:
zjxitcc    时间: 2022-2-5 22:50
本帖最后由 zjxitcc 于 2022-2-5 23:11 编辑

结构很奇怪,我就假设你结构没错进行分析了。
表层解释:你算的ROHF轨道能量里,SOMO+1轨道能量 比 SOMO轨道能量 还低,这是反常的,即空轨道能量比占据轨道能量还低,程序不允许这种情况,所以就报错了。
解决方法:若你坚持使用UCCSD(T)-F12,可尝试是否能找到更合理的ROHF解(能量更低、且波函数稳定)。若你不坚持使用UCCSD(T)-F12,建议你采用Molpro的里的MRCI-F12,这种体系有多参考特征,直接上多参考方法才是最保险的。

Molpro多参考方法做得不错,但HF我认为做得比较一般。这个结构下ROHF能量-919.13706335 a.u.是个不稳定波函数。用高斯可以算出稳定的、能量更低的ROHF解,输入文件如下
  1. %chk=a_frag_rohf.chk
  2. %mem=32GB
  3. %nprocshared=16
  4. #p ROHF/aug-cc-pVTZ nosymm int=nobasistransform guess(fragment=3)

  5. title

  6. 0 2 0 2 0 2 0 -2
  7. Cl(fragment=1)   8.0   0.0   0.0
  8. H(fragment=2)   0.0   0.0   0.0
  9. Cl(fragment=3)   7.51754097   2.73616115   0.0

  10. --Link1--
  11. %chk=a_frag_rohf.chk
  12. %mem=32GB
  13. %nprocshared=16
  14. #p ROHF/aug-cc-pVTZ nosymm int=nobasistransform guess=read geom=allcheck scf(vshift=300)
复制代码

算得ROHF能量为-919.398726456 a.u.,比Molpro的低很多。高斯能算出更低的ROHF解,却不支持检验ROHF波函数稳定性,于是我们改用PSI4。当然,我不想在PSI4里重算一遍,而且能否轻易算出这个低能解也未可知,所以我用我写的fch2psi小程序从fch文件生成PSI4输入文件
  1. formchk a_frag_rohf.chk a_frag_rohf.fch
  2. fch2psi a_frag_rohf.fch
复制代码

生成的a_frag_rohf_psi.inp就是PSI4的ROHF输入文件,a_frag_rohf.A文件是从高斯传过来的轨道。打开inp文件在末尾花括号上方加一行语句,用于检验ROHF波函数稳定性
  1. STABILITY_ANALYSIS check
  2. }
复制代码

交上去算。由于我们是传轨道给PSI4的,几秒算完,2圈收敛。看PSI4输出文件里的波函数稳定性分析
  1.     Lowest ROHF->ROHF stability eigenvalues:
  2.        A 0.053831         A 0.053831         A 0.086264         A 0.086264
  3.        A 0.147301         A 0.187910         A 0.206307         A 0.206366
  4.        A 0.206441         A 0.215934         A 0.253275         A 0.260443
  5.        A 0.262572         A 0.262924         A 0.267073
复制代码

没有负的本征值,说明波函数稳定。接下来我们用fch2com小程序把这套轨道传给Molpro,即运行
  1. fch2com a_frag_rohf.fch
复制代码

得到a_frag_rohf.com和a_frag_rohf.a文件,打开.com文件在末尾追加3行内容,表示我们要做UCCSD(T)-F12计算
  1. basis=avtz
  2. HF
  3. CCSD(T)-F12a
复制代码

原则上只需要加一行CCSD(T)-F12a,但我发现Molpro读取自定义基组时没法自动指定辅助基,所以再一次指定了基组为avtz,再算一次HF,这并不耗时,1圈就会收敛,这样程序就懂得自动分配辅助基了。这次就没问题了,可以在Molpro输出文件里看到SOMO+1轨道能量高于SOMO
  1. HOMO     18.1    -0.499265 =     -13.5857eV
  2. LUMO     19.1    -0.138972 =      -3.7816eV
  3. LUMO-HOMO         0.360293 =       9.8041eV
复制代码

你可能有疑问,为何我不直接在高斯、PSI4输出文件里直接看轨道能量,那里早就算好了,却要到Molpro输出文件里看。这就涉及到ROHF轨道能量定义至少有两种方式,不同程序可能采取不同的方式(但总的电子能量是一样的),所以必须到Molpro看,才跟最终的UCCSD(T)-F12a计算直接相关。

PS1:文中涉及的fch2psi, fch2com小程序开源免费,自己下载编译即可https://gitlab.com/jxzou/mokit
PS2: 如何证明-919.13706335 a.u.是个不稳定波函数:利用xml2fch, fch2psi等小程序将轨道从Molpro传到PSI4里,做个波函数稳定性分析,会看到很多负本征值,感兴趣的话当作课后作业。
PS3:当前结构 附近的结构,可能也存在ROHF波函数多解性问题,如果要算的话也要注意。


作者
Author:
dlldwtz    时间: 2022-6-23 16:12
zjxitcc 发表于 2022-2-5 22:50
结构很奇怪,我就假设你结构没错进行分析了。
表层解释:你算的ROHF轨道能量里,SOMO+1轨道能量 比 SOMO轨 ...

您好,我用命xml2fch 1.xml 1.fch时,提示我“ERROR in subroutine require_file_exist: file does not exist!”是因为什么呢?1.fch不是我寻求的输出文件吗,为什么会提示我不存在呢?
作者
Author:
zjxitcc    时间: 2022-6-23 16:28
本帖最后由 zjxitcc 于 2022-6-23 16:33 编辑
dlldwtz 发表于 2022-6-23 16:12
您好,我用命xml2fch 1.xml 1.fch时,提示我“ERROR in subroutine require_file_exist: file does not e ...

目前xml2fch无法生成fch文件,只能由用户提供一个fch文件(xml2fch将里面的轨道覆盖掉)。因此做法是:先用fch2com小程序从fch文件生成Molpro输入文件,做你想要的计算,然后使用xml2fch将轨道传回fch文件。

你可能会疑惑,那第一个fch文件从何而来?答案:算个秒出的高斯任务即可。举个例子,我要在Molpro里算CCSD(T)/cc-pVTZ,那么这个秒出的gjf写为
  1. #p RHF/cc-pVTZ nosymm int=nobasistransform guess(only,save)

  2. tile

  3. 0 1
  4. [坐标]
复制代码

only表示不做电子结构计算,生成SCF初猜后退出程序,因此是“秒出”。注意:自己额外单独算一个fch文件(没用到fch2com小程序,也没用到自动生成的Molpro输入文件),是不能使用xml2fch传回轨道的,因为基组详细数据不一样。

作者
Author:
dlldwtz    时间: 2022-6-23 19:16
zjxitcc 发表于 2022-6-23 16:28
目前xml2fch无法生成fch文件,只能由用户提供一个fch文件(xml2fch将里面的轨道覆盖掉)。因此做法是:先 ...

老师您好,我按照您的步骤用psi4检验稳定性,psi4 1_psi.inp 1_psi.out -n 1,然后报错如下

Traceback (most recent call last):
  File "/home/tzwang/soft/psi4conda/bin/psi4", line 269, in <module>
    exec(content)
  File "<string>", line 218, in <module>

AttributeError: 'psi4.core.ROHF' object has no attribute 'to_file'

这是为什么呀?
作者
Author:
zjxitcc    时间: 2022-6-23 19:20
dlldwtz 发表于 2022-6-23 19:16
老师您好,我按照您的步骤用psi4检验稳定性,psi4 1_psi.inp 1_psi.out -n 1,然后报错如下

Traceback ...

说明一下你的PSI4版本号、你用的什么版本MOKIT(Win版还是Linux版,具体什么日期)中的fch2psi小程序,最好还能上传PSI4输入文件(如果体系未发表,可以不给坐标)
作者
Author:
dlldwtz    时间: 2022-6-23 19:27
zjxitcc 发表于 2022-6-23 19:20
说明一下你的PSI4版本号、你用的什么版本MOKIT(Win版还是Linux版,具体什么日期)中的fch2psi小程序,最 ...

psi4应该是v1.2,mokit应该是1.2.3,都是linux版本的,inp文件已上传
作者
Author:
zjxitcc    时间: 2022-6-23 19:31
dlldwtz 发表于 2022-6-23 19:27
psi4应该是v1.2,mokit应该是1.2.3,都是linux版本的,inp文件已上传

这样我没法测试,fch2psi会产生.inp和.A至少两个文件,你没上传.A文件
作者
Author:
dlldwtz    时间: 2022-6-23 19:32
zjxitcc 发表于 2022-6-23 19:31
这样我没法测试,fch2psi会产生.inp和.A至少两个文件,你没上传.A文件

不好意思,1.A已上传
作者
Author:
zjxitcc    时间: 2022-6-23 19:42
dlldwtz 发表于 2022-6-23 19:27
psi4应该是v1.2,mokit应该是1.2.3,都是linux版本的,inp文件已上传

我用PSI4 1.3.2和1.5运行都没有问题。建议你运行psi4 --version查看一下版本,如果是1.2,那是古董了,建议使用较新的版本,所有版本都在http://vergil.chemistry.gatech.edu/psicode-download
安装教程见《PSI4程序安装及运行

作者
Author:
dlldwtz    时间: 2022-6-23 19:43
zjxitcc 发表于 2022-6-23 19:42
我用PSI4 1.3.2和1.5运行都没有问题。建议你运行psi4 --version查看一下版本,如果是1.2,那是古董了,建 ...

好的,我下载新的版本试试,非常感谢老师!




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