NBO程序安装及运行示例

2022-03-31 21:15:25 浏览数 (2)

自然键轨道(natural bond orbital, NBO)理论是由Wisconsin大学的Frank Weinhold教授等人提出的一种分析分子体系电子结构的方法。目前的量子化学计算大多基于分子轨道理论,得到的分子轨道往往是离域在整个分子上,与传统的化学键、孤对电子等概念无法对应。NBO方法使用标准量子化学计算得到的密度矩阵,通过一系列转化,得到自然原子轨道(natural atomic orbital, NAO)、自然杂化轨道(natural hybrid orbital, NHO)、自然键轨道(NBO)和自然局域分子轨道(natural localized molecular orbital, NLMO)等,并使用这些轨道进行自然布居分析(natural population analysis, NPA)、NBO能量分析以及其他波函数分析。本文我们简单介绍NBO7.0程序在Linux服务器上的安装配置并通过一个示例来展示最基本的NBO分析。

NBO程序有两种形式,一种为ESS(electronic structure system)形式,通过量子化学程序来调用执行,所需的信息由量子化学程序传入。主流的Gaussian、ORCA等程序均可与NBO程序对接。Gaussian程序自带NBO程序的3.1版本,就是通过这种形式实现。3.1版本比较古老,但可以做基本的分析。另一种形式是独立的GENNBO程序,需要一个.47文件作为输入,其中记录了波函数信息,可由一些量化程序生成,也可用Multiwfn程序生成。不过相比ESS版本,它有部分功能无法实现。

一、安装

NBO程序为商业程序,最新版本为7.0.10,价格不高,预编译版本个人版为100美元。可在NBO官网填写相关信息,付款后就可以收到下载码。下载的压缩包为nbo7.0-bin-linux-x64.tar.gz,我们将其安装在/opt目录。解压后即可得到nbo7目录。

进入/opt/nbo7/bin目录,打开gaunbo7文件,找到setenv BINDIR一行,将后面的路径改为/opt/nbo7/bin,若使用的Gaussian版本为Gaussian 09,则还要将setenv GAUNBO一行后面的值改为g09nbo。

在.bashrc中加入环境变量

代码语言:javascript复制
export PATH=/opt/nbo7/bin:$PATH

重新进入终端后即可使用NBO程序。

二、示例

此处以官方手册中的第一个例子——甲胺分子为例(结构如下所示),展示NBO分析的内容。笔者所用Gaussian版本为Gaussian 16 C.01,NBO版本为7.0.10。

输入文件如下:

代码语言:javascript复制
#p B3LYP/6-31G* pop=nbo7
 
CH3NH2
 
0 1
 C  0.745914  0.011106  0.000000
 N -0.721743 -0.071848  0.000000
 H  1.042059  1.060105  0.000000
 H  1.129298 -0.483355  0.892539
 H  1.129298 -0.483355 -0.892539
 H -1.076988  0.386322 -0.827032
 H -1.076988  0.386322  0.827032
 

使用pop=nbo7关键词来调用NBO程序进行NBO分析。

在进行完常规的DFT计算后,开始进入NBO分析,以下我们逐一分析输出文件的各部分内容。

首先输出版本信息以及程序的引用方法:

代码语言:javascript复制
 *********************************** NBO 7.0 ***********************************
             N A T U R A L   A T O M I C   O R B I T A L   A N D
          N A T U R A L   B O N D   O R B I T A L   A N A L Y S I S
 ***************************** Zhigang Ni (S102046) ****************************
  (c) Copyright 1996-2021 Board of Regents of the University of Wisconsin System
      on behalf of the Theoretical Chemistry Institute.  All rights reserved.

          Cite this program [NBO 7.0.10 (8-Feb-2021)] as:

          NBO 7.0.  E. D. Glendening, J. K. Badenhoop, A. E. Reed,
          J. E. Carpenter, J. A. Bohmann, C. M. Morales, P. Karafiloglou,
          C. R. Landis, and F. Weinhold, Theoretical Chemistry Institute,
          University of Wisconsin, Madison, WI (2018)

下面进入NPA分析,首先输出NAO信息:

代码语言:javascript复制
 NATURAL POPULATIONS:  Natural atomic orbital occupancies

  NAO Atom No lang   Type(AO)    Occupancy      Energy
 -------------------------------------------------------
   1    C  1  s      Cor( 1s)     1.99999     -10.19561
   2    C  1  s      Val( 2s)     1.10204      -0.18372
   3    C  1  s      Ryd( 3s)     0.00127       1.15105
   4    C  1  s      Ryd( 4s)     0.00003       4.21505
   5    C  1  px     Val( 2p)     1.21856      -0.06885
   6    C  1  px     Ryd( 3p)     0.00067       0.61600
   7    C  1  py     Val( 2p)     0.90208      -0.03866
   8    C  1  py     Ryd( 3p)     0.00164       0.53016
   9    C  1  pz     Val( 2p)     1.23726      -0.07535
  10    C  1  pz     Ryd( 3p)     0.00100       0.60396
  11    C  1  dxy    Ryd( 3d)     0.00151       1.93285
  12    C  1  dxz    Ryd( 3d)     0.00100       2.04478
  13    C  1  dyz    Ryd( 3d)     0.00076       1.94924
  14    C  1  dx2y2  Ryd( 3d)     0.00135       2.19210
  15    C  1  dz2    Ryd( 3d)     0.00121       2.09022

  16    N  2  s      Cor( 1s)     2.00000     -14.30171
  17    N  2  s      Val( 2s)     1.43474      -0.44047
  18    N  2  s      Ryd( 3s)     0.00040       1.37966

限于篇幅,仅列出前一部分。此处会依次列出每个原子的自然原子轨道,其中Cor、Val、Ryd分别表示Core、Valence和Rydberg,前两者一般有较高的占据数(第7列,即该轨道上占据的电子数)和较低的能量(第8列),它们构成了该原子的自然极小基(natural minimum basis, NMB),而Rydberg轨道的出现是由于量化计算中使用扩展基,它们往往占据数低,能量高,没有确切的化学意义。

接下来是自然布居分析:

代码语言:javascript复制
 Summary of Natural Population Analysis:

                                     Natural Population
             Natural    ---------------------------------------------
  Atom No    Charge        Core      Valence    Rydberg      Total
 --------------------------------------------------------------------
    C  1   -0.47039      1.99999     4.45994    0.01045     6.47039
    N  2   -0.89816      2.00000     5.88122    0.01694     7.89816
    H  3    0.18974      0.00000     0.80840    0.00186     0.81026
    H  4    0.21920      0.00000     0.77988    0.00091     0.78080
    H  5    0.21920      0.00000     0.77988    0.00091     0.78080
    H  6    0.37021      0.00000     0.62823    0.00156     0.62979
    H  7    0.37021      0.00000     0.62823    0.00156     0.62979
 ====================================================================
 * Total *  0.00000      3.99999    13.96580    0.03420    18.00000

第3列给出了每个原子上的NPA电荷(用核电荷数减去每个原子上的自然布居数得到),4~7列给出了每个原子上每种类型的轨道和总的布居数。

后面则是对布居分析的统计汇总,并由此得到的自然电子组态:

代码语言:javascript复制
                                 Natural Population
 ---------------------------------------------------------
   Core                       3.99999 ( 99.9998% of    4)
   Valence                   13.96580 ( 99.7557% of   14)
   Natural Minimal Basis     17.96580 ( 99.8100% of   18)
   Natural Rydberg Basis      0.03420 (  0.1900% of   18)
 ---------------------------------------------------------

    Atom No         Natural Electron Configuration
 ----------------------------------------------------------------------------
      C  1      [core]2s( 1.10)2p( 3.36)3d( 0.01)
      N  2      [core]2s( 1.43)2p( 4.45)3p( 0.01)3d( 0.01)
      H  3            1s( 0.81)
      H  4            1s( 0.78)
      H  5            1s( 0.78)
      H  6            1s( 0.63)
      H  7            1s( 0.63)

下一部分是NBO轨道搜索的结果:

代码语言:javascript复制
 NATURAL BOND ORBITAL ANALYSIS:

                            Occupancies       Lewis Structure    Low   High
         Max    Occ     -------------------  -----------------   occ   occ
  Cycle  Ctr   Thresh    Lewis   non-Lewis     CR  BD  nC  LP    (L)   (NL)
 ============================================================================
    1     2     1.90    17.93549   0.06451      2   6   0   1     0      0
 ----------------------------------------------------------------------------

 Structure accepted: No low occupancy Lewis orbitals

 -------------------------------------------------------
   Core                      3.99999 (100.000% of   4)
   Valence Lewis            13.93549 ( 99.539% of  14)
  ==================      =============================
   Total Lewis              17.93549 ( 99.642% of  18)
  -----------------------------------------------------
   Valence non-Lewis         0.05135 (  0.285% of  18)
   Rydberg non-Lewis         0.01316 (  0.073% of  18)
  ==================      =============================
   Total non-Lewis           0.06451 (  0.358% of  18)
 -------------------------------------------------------

该体系结构比较简单,仅1圈即完成了NBO搜索。对于更复杂的体系,NBO轨道搜索可能要多圈才能完成。表中CR、BD、nC和LP分别表示Core、2-center bond、n-center bond和lone pair,这些轨道往往占据数比较高,构成自然Lewis结构(natural Lewis structure, NLS)。而占据数较低的轨道,包括反键轨道(BD*)和Rydberg轨道(RY),则称为non-Lewis轨道。上表中给出了Lewis轨道和non-Lewis轨道的占据数。最后两列为低占据的Lewis轨道和高占据的non-Lewis轨道的数量。此例的non-Lewis比例很小,表示所得到的Lewis结构能较好地描述该体系。

以上是最基本的NBO分析,接下来还会具体输出所有NBO轨道的详细信息,再后面则是自然杂化轨道的方向分析和二阶微扰能量分析,这些内容我们留待以后再介绍。

在最后,会输出一个$CHOOSE字段:

代码语言:javascript复制
$CHOOSE
   LONE 2 1 END
   BOND S 1 2 S 1 3 S 1 4 S 1 5 S 2 6 S 2 7 END
$END

BOND部分的S表示单键。这段描述了该体系的Lewis结构,我们可对其进行修改,让NBO程序按照自定义的结构进行NBO搜索,这在自然共振分析部分会用到。

本文简单介绍了NBO7程序的配置以及NBO分析输出结果的简单解读,没有涉及过多的原理,若有不明或不当之处,敬请留言,后续我们将推送更多NBO的原理和使用教程。

0 人点赞