使用Multiwfn+VMD快速地绘制高质量AIM拓扑分析图(含视频)

注:本文有对应的视频演示,见:https://www.bilibili.com/video/av33724816/


使用Multiwfn+VMD快速地绘制高质量AIM拓扑分析图

文/Sobereva @北京科音  2018-Oct-13


1 前言

AIM(Atoms-In-Molecules)是Bader发展的极其知名、重要的考察电子结构的一套方法,相关信息见《AIM学习资料和重要文献合集》(http://bbs.keinsci.com/thread-362-1-1.html)。Multiwfn(http://sobereva.com/multiwfn)在AIM分析方面极度灵活、强大,已被大量研究文章广泛使用。Multiwfn目前的观看搜索出来的AIM临界点以及键径的界面中体系没法通过鼠标随意缩放和旋转,体系大的时候可能也不方便寻找感兴趣的临界点的序号。之前笔者写过一篇文章《Multiwfn结合VMD绘制AIM拓扑分析图》(http://sobereva.com/207)介绍了怎么把Multiwfn找出的临界点和键径放到强大而且免费的VMD程序中显示得到更好的效果,但是那篇文章手动操作步骤较多,估计一些用户嫌麻烦不愿意去实践,或者由于阅读理解能力差而无法成功实现。这里介绍一种基于脚本的将Multiwfn和VMD相结合的绘制AIM拓扑分析图(包括临界点、键径、分子结构)的做法,此方法绘图效果很好,过程极其简单,完全零基础的初学者应当也能瞬间学会。而且在VMD的图形窗口里找出自己感兴趣的临界点编号也很容易,之后就可以直接根据Multiwfn输出文件查询到选定的临界点上的各种属性。但也并不是说有了本文,之前那篇博文就没意义了,因为那里面详细交代了VMD里的操作细节,弄懂的话就可以根据自己需要调整显示效果。

本文使用2018-Oct-13更新的Multiwfn 3.6(dev)版,绝对不要用更老版本。不了解Multiwfn的话参看入门贴《Multiwfn入门tips》(http://sobereva.com/167)。本文使用VMD 1.9.3版,可在http://www.ks.uiuc.edu/Research/vmd/免费下载。这里假定用户使用的是Windows系统,笔者用的是Win7-64bit。如果读者没有用过Multiwfn做过AIM拓扑分析的话,强烈建议阅读《使用Multiwfn做拓扑分析以及计算孤对电子角度》(http://sobereva.com/108)了解基础知识。本文的做法在Linux下同样可以轻易实现,只不过需要适当的变通。


2 本文涉及的文件和准备工作

首先,把Multiwfn的examples\scripts目录下的AIM.bat和AIM.txt拷到Multiwfn可执行文件所在目录。编辑AIM.bat,把其中的1.fch设成你要做AIM分析的文件的实际路径。然后把AIM.vmd这个VMD绘图脚本文件拷到VMD目录下,在VMD目录下的vmd.rc文件末尾加入一行proc aim {} {source AIM.vmd},从而使得仅输入aim就可以调用AIM.vmd来绘图。准备工作就这些。

前述的AIM.bat是Windows下的批处理文件,会启动Multiwfn并按照AIM.txt里的命令对指定的文件进行计算。AIM.txt是输入流文件,里面每一行对应在Multiwfn的界面里要敲入的一个命令。如果你不知道Multiwfn怎么通过命令行调用的话,建议看手册5.2节,看了之后就会明白AIM.bat是如何工作的了。

AIM.txt指挥Multiwfn干的事有以下这些:
(1)进入拓扑分析功能,通过依次使用选项2、3、4、5来搜索临界点,绝大多数情况这样搜索后都可以找齐临界点。然后通过选项8产生拓扑路径。
(2)把找到的临界点导出到当前目录下的CPs.pdb,把产生的拓扑路径导出到当前目录下的paths.pdb。
(3)对找到的所有临界点计算各种属性(为省时间,静电势不被计算,如果想算的话把AIM.txt里的-1改为1),然后导出到当前目录下的CPprop.txt。
(4)将当前体系结构导出到当前目录下的mol.pdb。
AIM.bat会把这些产生的.pdb都自动拷到VMD目录下。

所有Multiwfn支持的含有波函数信息的文件都可以用作输入文件,见《详谈Multiwfn支持的输入文件类型、产生方法以及相互转换》(http://sobereva.com/379)。


3 例:Guanine-Cytosine二聚体

这里我们用Multiwfn文件包里examples目录下的GC.wfn作为例子。把这个文件拷到Multiwfn可执行文件所在文件夹,编辑VMD.bat,把里面的1.fch改为GC.wfn,然后双击VMD.bat。由于Multiwfn做AIM分析效率奇高,几秒钟就算完了,然后窗口也自动关闭了。如果当前目录下出现了CPprop.txt而且内容不为空就意味着正常算完了,这个文件里记录了每个AIM临界点的各种信息。然后启动VMD,在命令行窗口输入aim,此时AIM.vmd就被激活,它自动载入VMD目录下的CPs.pdb、paths.pdb和mol.pdb并显示出来,马上就看到了下图。注意下图不是直接从VMD的图形窗口中截的图,而是用VMD自带的Tachyon渲染器渲染的,这样有抗锯齿效果,Tachyon使用很简单,此文提了:《用Multiwfn+VMD做RDG分析时的一些要点和常见问题》(http://sobereva.com/291)。

上图中紫、桔黄、黄分别代表电子密度的(3,-3)、(3,-1)和(3,+1)临界点。此体系没有(3,+3)临界点,如果有的话是用绿球表示。桔黄色的曲线对应的是键径。如果你想修改临界点和键径的粗细、颜色,就编辑AIM.vmd即可,里面注释写得非常清楚。

实际上分子结构文件也被载入到了VMD,只不过没有显示出来。想显示的话,双击下面的D,使之变成黑色

然后分子结构也显示出来了,如下所示

如果想获知某个临界点的性质,比如上图中G-C之间最下面那个氢键对应的临界点,就先在VMD Main窗口里在paths.pdb左边的D标签上双击,从而取消显示键径以免碍事。然后激活VMD图形窗口,按键盘上的0键进入查询模式,点击那个临界点的中心,此时VMD的命令行窗口里就显示了以下信息
Info) molecule id: 0
Info) trajectory frame: 0
Info) name: N
Info) type: N
Info) index: 42
Info) residue: 0
...[略]
由于VMD的index是从0开始记的,因此这个临界点在Multiwfn中的序号应该是42+1=43。打开CPprop.txt,在里面找43号CP就看到这个临界点上的各种信息了,如下所示。初学者若看不懂这些输出的含义的话就仔细看Multiwfn手册2.6、2.7节关于实空间函数的介绍。
 ================   CP    43,     Type (3,-1)   ================
 Position (Bohr):    3.50762367463684   -2.05977861892542    0.00000000000000
 Density of all electrons:  0.2608153147E-01
 Density of Alpha electrons:  0.1304076574E-01
 Density of Beta electrons:  0.1304076574E-01
 Spin density of electrons:  0.0000000000E+00
 Lagrangian kinetic energy G(r):  0.2053077113E-01
 G(r) in X,Y,Z:  0.1152158405E-01  0.7936470033E-02  0.1072717046E-02
 Hamiltonian kinetic energy K(r): -0.1212608211E-03
 Potential energy density V(r): -0.2040951031E-01
...略

作为练习,大家可以自己算个C60,然后按照如上方法绘制拓扑分析图,应该得到如下效果


4 总结

本文介绍的方法使得绘制高质量AIM拓扑分析图变得超级简单,值得大力推广。而且单从做AIM拓扑分析的角度,此文也把传统流程大为简化,操作效率大为提高,给初学者解释起来能少费很多口舌。

对于大体系,如果想节约一些拓扑分析时间,可以把AIM.txt的第4、5行都给删掉,此时Multiwfn不会试图从每三个原子中心和每四个原子中心作为初猜去找临界点了(而只通过原子核位置和每两个原子中点作为初猜找临界点),这在少数情况下可能会导致漏掉个别临界点,但一般化学上感兴趣的临界点很少有可能会因此漏掉。

评论已关闭