计算化学公社

 找回密码 Forget password
 注册 Register
Views: 302|回复 Reply: 1
打印 Print 上一主题 Last thread 下一主题 Next thread

[其它] Molden/NBO47/wfn/wfx/mwfn等文件一个隐含的内部冲突及解决方案

[复制链接 Copy URL]

729

帖子

21

威望

5233

eV
积分
6382

Level 6 (一方通行)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 beefly 于 2025-1-31 16:57 编辑

首先以Molden格式为例,解释这个内部冲突是如何发生的。下面是HeH+分子HF/STO-3G计算产生的Molden文件(部分):

  1. [Molden Format]
  2. [Atoms] AU
  3.   He     1    2    0.0000    0.0000    0.0000
  4.   H      2    1    0.0000    0.0000    1.5117
  5. [GTO]
  6.     1    0
  7. S    3  1.0
  8.     0.6362421400D+01    0.1543289705D+00
  9.     0.1158923000D+01    0.5353281416D+00
  10.     0.3136497900D+00    0.4446345413D+00

  11.     2    0
  12. S    3  1.0
  13.     0.3425250900D+01    0.1543289707D+00
  14.     0.6239137300D+00    0.5353281424D+00
  15.     0.1688554000D+00    0.4446345420D+00

  16. [MO]
  17. Sym= 1.1
  18. Ene=     -1.61320000
  19. Spin= Alpha
  20. Occup=    2.00000000
  21.     1    0.8802
  22.     2    0.2018
  23. 【第二个MO,略】
复制代码
在这个Molden文件中,存在两个原子序号:一个在原子坐标[Atoms]部分,1是He,2是H;第二个位于基函数[GTO]部分:先是通过“1    0”给出了第一个原子He的STO-3G基函数,然后是“2    0” 给出第二个原子H的STO-3G基函数,各有1个s函数,仍然是He为1,H为2。接下来的[MO]数据部分中,给出了每个MO的因子。本计算采用的STO-3G基组导致两个基函数,故每个MO只有两个因子。上例显示了第一个MO在基函数1(也就是He的s函数)的因子0.8802,和在基函数2(H的s函数)的因子0.2018。

接下来,我们把两个基函数交换。根据Molden格式的要求,[GTO]部分要改成下面的形式:

  1. [GTO]
  2.     2    0
  3. S    3  1.0
  4.     0.3425250900D+01    0.1543289707D+00
  5.     0.6239137300D+00    0.5353281424D+00
  6.     0.1688554000D+00    0.4446345420D+00

  7.     1    0
  8. S    3  1.0
  9.     0.6362421400D+01    0.1543289705D+00
  10.     0.1158923000D+01    0.5353281416D+00
  11.     0.3136497900D+00    0.4446345413D+00
复制代码
先出现的原子对应[Atoms]中的H,后出现的原子对应[Atoms]中的He。也就是说,在[GTO]部分,1是H,2是He,与[Atoms]部分的原子顺序恰好相反。

问题来了:在[MO]部分,基函数1是He的s函数呢,还是H的s函数呢?换句话说,[MO]中的原子顺序遵从[Atoms]定义,还是[GTO]定义?Molden格式对此没有规定,于是就带来了歧义。

一般情况下,所有能输出Molden数据的量子化学程序都不会无聊到随意交换基组顺序,因此[GTO]中的原子顺序与[Atoms]的原子顺序应当保持一致,从而回避了上面的问题。但是有一种特例,就是当存在对称等价原子的时候,比如水分子H2O(两个H在计算中采用相同的基组),由于程序的内部缺陷或者程序作者的个人理解不同,导致两个H的坐标发生交换但是[GTO]部分的H原子编号没有换过来(或者相反),于是Molden文件就出现了上面的问题。目前已知存在问题的有Molpro(原子顺序遵从[GTO]定义),和CFour(原子顺序遵从[Atoms]定义)。【注:水分子在实际计算中是非常安全的。只有对称等价原子较多时,比如甲烷、乙烷,Molpro和CFour偶尔会遇到上面的问题。】

在NBO47、wfn、wfx、mwfn等其它格式的文件中,由于存在CENTER、<Primitive Centers>、$Shell centers等一类的字段,对应[GTO]中的原子编号,因此原则上也有出现上面冲突的可能性,只不过Molpro和CFour目前还不能输出上述格式【注:Molpro有NBO接口但未尝试】。

解决方法有两种,就是在数据格式的定义中加一些限制,只保留一种原子顺序:要么限制[GTO],规定原子序号必须是升序的,这样[Atoms]和[GTO]中的原子顺序始终一致;要么限制[MO],规定原子顺序遵从[Atoms]、[GTO]之一,其中[Atoms]中的原子顺序比较符合人类习惯。


评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
imasen + 5

查看全部评分 View all ratings

6万

帖子

99

威望

5万

eV
积分
120080

管理员

公社社长

2#
发表于 Post on 2025-2-1 16:38:26 | 只看该作者 Only view this author
当前这样交换的情况,轨道展开系数的顺序也需要交换,应遵循基函数的顺序
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-13 03:08 , Processed in 0.224053 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list