Multiwfn入门tips

Multiwfn入门tips

文/Sobereva
First release: 2012-Nov-7   Last update: 2017-Jun-5



Multiwfn(主页为http://sobereva.com/multiwfn)是由北京科音自然科学研究中心(www.keinsci.com)主任卢天从2009年11月起主导开发的最为强大的量子化学波函数分析程序,功能极为广泛、十分高效、非常易于使用,并且开源免费,用户已遍及全世界多达50个国家,截止到2017年5月已近2000篇高水平研究论文所使用,包括Science、Nature Chemistry、JACS、Angew等顶尖刊物。Multiwfn也被很多顶尖理论化学工作者如Truhlar、Grimme、Perdew、Shaik等人的文章使用。写本文的目的是帮助刚接触Multiwfn的人能够在短时间内了解Multiwfn的基本原理以及如何使用。但此文并不讲解程序操作过程和原理,因为这些内容已经在诸多帖子、程序手册里有详尽描述和示例。本文着重谈一下应该优先看哪些资料,如何使用手册等问题,使读者明白Multiwfn虽然功能极其强大,但使用根本没有什么门槛。与此同时也提及一些量化刚入门的用户可能会忽略的要点或困惑的问题。

如果你不知道Multiwfn是干什么的话,建议先看《Multiwfn波函数分析程序的意义、功能与用途》(http://sobereva.com/184),这里面对Multiwfn的功能进行了系统的介绍。


1 对使用者的要求

对于量化初学者,Multiwfn当成一个工具作为黑箱来用也可以,但是我还是建议使用者具备一些最基本的理论知识,这样才能避免犯低级错误,才能更透彻地理解程序原理和输出信息的物理意义。使用者只要参加过北京科音办的初级量子化学培训班,或仔细读过Levine的Quantum chemistry第五版或第六版,或具有相同级别的知识,就已经足够了,结合手册中对各个功能的理论的讲解,就完全能够理解Multiwfn涉及的全部功能的原理了。

Multiwfn是基于量子化学程序输出的波函数信息来进行分析的程序。如果你是Gaussian程序的用户,那么可以使用Multiwfn的全部功能。但Multiwfn程序绝非是专为Gaussian而开发的,Multiwfn支持许多通用的记录波函数信息的格式,如.wfn、.wfx、molden文件,还支持GAMESS-US输出文件,还支持其它类型文件如.cub、.pdb、.xyz等。只要你用的量化程序能输出molden输入文件(如Molpro、ORCA、deMon2k),或者你是GAMESS-US用户,那么就能用上Multiwfn的大部分功能。如果你只能得到.wfn/.wfx文件,也至少能利用Multiwfn的半数以上的功能,例如AIM分析、ELF等实空间函数的分析和绘图等等。如果你是第一性原理的研究者,只用VASP、CASTEP之类的程序,那么Multiwfn中依赖于波函数的功能都暂时帮不上你(但是只需要提供几何结构的分析功能照样能做),以后Multiwfn有可能支持第一性原理的程序。

关于Multiwfn支持的输入文件以及如何产生,在此文有详述《详谈Multiwfn支持的输入文件类型、产生方法以及相互转换》(http://sobereva.com/379)。

绝大部分Multiwfn的功能运算效率都很高,而且支持并行,在普通个人双核机子上运行就已经挺快了,除非研究的体系很大或者用了很大的基组,否则没必要弄到服务器上去执行。


2 程序的下载、安装、执行和引用

Multiwfn的可执行文件、源代码和手册在Multiwfn官网的Download栏目里可直接下载。文件名上带bin的是已编译好的可执行文件,src代表源代码文件包,manual是手册。

在主页的Update history栏目中可以看到最新版本更新了哪些内容。在每个正式版本发布之前,通常也把正在开发的临时版本,即后缀带(dev)的挂在这个栏目上。临时版本未经全面测试,手册也没写全,但是已经实现了更新历史上提到的最新功能和改进。如果想尝鲜可以试试。

Multiwfn更新比较快。新版本中总会不断添加新的有用的功能、改善界面设计使之更好用、修复各种bug、提升运行效率。我强烈建议时常查看Multiwfn主页,更新到最新版本。老版本的一些bug可能造成结果是错的,但是没有经验的用户又察觉不出来,这种情况甚至有可能使文章的研究的结论有误,这将是很大问题。所以,即便新版本的功能用不到,也应当勤快更新至最新版本

Windows版Multiwfn程序解压后即可执行。如果是Linux/MacOS版则应当先按照手册2.1.2、2.1.3节对系统进行配置。不要解压到路径太长的文件夹里。解压后目录下的settings.ini里包含了各种运行参数,这些参数在Multiwfn启动时会被载入。这些参数平时使用时一般不需要调节。各个参数在文件中的//后面的注释中都有说明,大部分参数的用处在手册中会更详细地解释。有兴趣的话,不妨将每个参数的注释都看一遍,可能会发现对你有用的。这些参数中特别关键的一个是nthreads,当它设为n,则Multiwfn中并行化的代码部分运行时就会使用n个线程进行并行运算。如果你有较多的CPU核心,可以将它设大来加快计算。即便设得值超过了CPU核心数也没关系,此时实际有几个核心在并行时就会用几个核心。

如果是第一次使用Multiwfn,强烈建议使用Windows版,有多个原因:1. Multiwfn的开发、测试环境都在Windows下完成,所以Windows版比Linux/MacOS版更稳健(运算结果原则上不会有差别,运算速度也基本一致,因为都是用的相同的编译器和编译参数)。2. Linux/MacOS版Multiwfn的个别功能有限制,见手册开头的Linux and MacOS users must read部分的说明。3. Linux/MacOS版本使用时前需要对系统进行一些配置,有可能需要安装系统中没有预装的组件(见手册2.1.2、2.1.3节),而不像Windows版那样直接用就行,故略微麻烦。注意Linux版可以在纯文本环境下运行,但是在纯文本环境下一些功能所具备的图形界面就无法显示了(届时会直接导致程序退出)。

Multiwfn是命令行与图形界面混合的程序,大部分操作在命令行界面下完成,而需要可视化结果的地方才会提供图形界面,这样的设计是最佳、效率最高的。不设计成全图形界面的原因在此帖有说明《为什么我拒绝将Multiwfn做成全图形界面》(http://sobereva.com/236)。

程序启动后,会看到一个文本界面,先输入要载入的文件的路径。如果你缺乏计算机基本常识,都不知道怎么输入文件路径的话,看此文http://sobereva.com/237。然后根据屏幕上每个选项所表示的含义,选择相应选项,或输入相应内容即可。选项往往比较多(这是为程序的灵活性考虑),只要从选项的文字上觉得和自己的目的无关,就不必管它,这些暂时用不到的选项的用途日后会渐渐明白。使用Multiwfn的过程中一定要注意阅读和领会屏幕上的各种信息和提示,Multiwfn会尽可能在不至于信息过于冗长的情况下,直接在屏幕上告诉用户接下来应该输入什么,免得用户老得查阅手册、记忆操作过程。但若是遇到想不明白的地方,则应去手册里查阅相应功能对应的章节,看看是否能找到说明,或者查看教程部分,看看是否有示例。Multiwfn很多功能能够直接图形化显示结果,当出现图形界面时,想要关闭的话就点Return按钮,如果没有此按钮,在图上直接点右键即可返回。关闭程序直接点窗口右上角的X或者按Ctrl+C即可,人为退出时可能会显示几行出错信息,不必管它们。如果程序运行中突然关闭(对于Windows下直接双击程序图标来运行则表现为“闪退”),这是程序遇到错误导致的,通常是因为输入文件的类型不对、输入文件有毛病、敲入的命令不合格式规范、使用方式不对、内存不足等原因造成的,应仔细检查后再次尝试。

Multiwfn输出的电子密度、静电势等各种实空间函数的计算结果,以及几何坐标、键长等,如果输出信息中没写明单位,则一律是原子单位(a.u.)。

如果Multiwfn程序在研究文章中被使用,应引用Tian Lu, Feiwu Chen, J. Comput. Chem. 33, 580-592 (2012),绝对不要只引用程序网址。
另外,如果你用了Multiwfn的定量分子表面分析功能,请同时引用介绍这个功能具体算法的文章:Tian Lu, Feiwu Chen, J. Mol. Graph. Model., 38, 314-323 (2012)
另外,如果你用了Multiwfn的CDA功能,请同时引用介绍这个功能具体算法的文章:Meng Xiao, Tian Lu, Generalized Charge Decomposition Analysis (GCDA) Method, J. Adv. Phys. Chem., 4, 111-124 (2015) (in Chinese) http://dx.doi.org/10.12677/JAPC.2015.44013
另外,如果你用了Multiwfn做轨道成分分析,也建议同时引用这篇讨论分子轨道成分分析的文章:Tian Lu, Feiwu Chen, Calculation of Molecular Orbital Composition, Acta Chim. Sinica, 69, 2393-2406 (2011) (in Chinese)

3 程序手册

Multiwfn的各种功能涉及到的基本原理、选项的含义在程序手册里都有极其详尽描述。明白手册如何查阅对于使用程序是非常重要的,这样才能在400多页的手册中很快找到想要的信息。虽然Multiwfn的手册是英文版的,但写得简明易懂,对于量子化学研究者来说语言不会成为障碍。从2.0版开始,虽然随版本的更新手册的内容在不断扩充、完善、调整,但整体结构没有再发生变化。这里把手册的章节编排重点强调一下。pdf版手册只要在目录部分点击相应章节就能跳到相应章节去。另外每一章节在pdf文档的Bookmark中也都有,可以通过点击Bookmark的相应标题直接跳到相应章节,所以查阅很方便快捷。

手册第二页的内容是All users must read。这是一定要读的,所以把它放到手册最开头。第三页是Linux users must read,这是使用Linux版Multiwfn的用户一定要读的。

手册第一章是Multiwfn的特点、功能的整体概述。这一章务必要读。

手册第二章是关于Multiwfn程序自身的一些说明,包括Multiwfn的支持的文件格式、图像格式等等。这一章可以根据小节的标题有选择性地阅读。
*如果是Linux用户,务必阅读2.1.2节,按照其中的方法配置系统。
*Multiwfn在实空间函数的分析、绘制上是其强项之一,2.6节简明扼要地介绍了各种Multiwfn支持的实空间函数。如果要计算某实空间函数但是对它又不熟悉的话,应当阅读一下相应的介绍。另外,在实空间函数的计算上有一些可调设定会在相应位置说明,比如settings.ini文件里的laplfac参数,它控制电子密度拉普拉斯函数前面乘的系数,这个参数会在介绍拉普拉斯函数的地方说明。
*2.5节建议尽量完整阅读一遍,其中介绍了Multiwfn支持的各种文件格式,特别注意其中的表格列出了每种文件格式包含了哪类信息。Multiwfn的不同功能所需要的信息不同,必须得在程序运行一开始将含有相应信息的输入文件载入才行。如果输入文件类型不对,则执行功能时可能出错退出。

手册第三章是Multiwfn的各个功能的基本原理和选项的含义。这一章可以有选择地看,用到哪个功能就去看哪一节。刚进入Multiwfn并载入文件后,会看到一个主菜单,这个列表里的每一项被称为“主功能”,主功能里面有的会有很多子功能,子功能里可能又会有很多选项。在手册第三章中,每一个二级标题对应于一个主功能,二级标题末尾的括号里的数字就是对应的主功能在Multiwfn主菜单里的编号。比如3.10 Orbital composition analysis (8),这一节介绍的就是轨道成分分析功能,也就是Multiwfn的主功能8。这一节下面的各个三级标题对应了各种不同的轨道成份计算方法。Multiwfn的一些重要的、需要特别解释一下的选项会在手册相应章节里说明;而一些不重要的、从选项名字上一看就能明白的选项有的就不专门提及了。

特别注意第三章的每个章节末尾会看到类似这样的信息(以3.9节布居分析为例)
Information needed: Basis functions (MPA, Lowdin, MMPA), GTFs (Hirshfeld, VDD, Becke, ADCH, CHELPG, MK), atom coordinates
这就代表,如果要计算原子电荷,必须首先拥有原子坐标信息。若是计算MPA, Lowdin, MMPA这三种原子电荷,还需要基函数信息。若计算Hirshfeld, VDD, Becke, ADCH, CHELPG, MK这些电荷,则需要GTF(原始高斯函数)信息。从手册2.5节的表格可以看到,.wfn、.wfx、.fch、.molden等格式包含了原子坐标和GTF信息,因此计算Hirshfeld, VDD, Becke, ADCH, CHELPG, MK这些原子电荷时这几种文件都可以作为一开始的输入文件,只要产生它们的条件相同,则结果是一样的。从表格中也看到,由于只有.fch、.molden、.gms文件同时具备基函数和原子坐标信息,所以想计算MPA, Lowdin, MMPA原子电荷的话,就必须得用这几种格式作为输入文件。如果一开始载入的文件类型不含有某些功能所需要的信息,那么在Multiwfn的菜单中这些功能可能会消失不见,或者虽然能看见,但是选了之后就会出错终止。因此,使用Multiwfn的功能时如果不确定应该用什么类型输入文件,应当查看相应章节末尾的Information needed,看看这个功能需要什么信息,结合2.5节的表格来决定应该用什么输入文件。或者参考教程部分相应的例子也可以。关于如何正确选择输入文件,在此文有更详细的说明:《详谈Multiwfn支持的输入文件类型、产生方法以及相互转换》(http://sobereva.com/379)。

手册第四章的开头介绍了如何生成wfn和fch文件(Multiwfn大半部分的功能靠这两个文件作为输入),务必要看。之后是教程,包含了超过100个精心撰写例子,覆盖了Multiwfn的大部分重要的功能。学习Multiwfn的基本使用方法最好的方式就是看这些教程!我十分建议用户将第四章的例子从头到尾做一遍,这些例子涉及到的文件基本上在程序压缩包里的examples目录下都提供了,做完这些例子后对Multiwfn的基本使用就比较熟练了,同时也会了解很多波函数分析的知识。但如果某些例子和自己的研究实在关系不大,有选择性地跳过一些也无妨。在做这些例子的时候,应当特别注意揣摩Multiwfn程序的设计思想,领会各个功能、每一步操作的含义,这样才能达到举一反三的效果,从而对于教程中没有涉及到的功能也能很快理解用法,实现教程中没有涉及到的应用。

注意第4.x节的例子对应于Multiwfn的主功能x,因此通过二级标题编号就能明白例子的内容是对应于程序的什么主功能的。由于Multiwfn的功能很多,灵活度极高,大量功能、细节和高级应用限于篇幅都没能在第四章涉及到。因此,对于感兴趣的功能,务必阅读第三章的相应章节了解功能的原理、详情,并且结合手册里的解释自行尝试教程中未曾提到过的功能选项(由于Multiwfn的功能选项都尽量设计得简明易用,所以不会遇到什么障碍)。另外,第四章末尾的4.A节包含一些高级教程,以及一些专题,比如如何用Multiwfn分析弱相互作用、如何分析芳香性。

手册第五章是一些使用技巧,比如介绍如何通过silent模式单纯靠命令行执行以及批量执行分析任务;或者介绍一些重要,但又和程序本身原理、功能关系不很紧密的内容,比如从屏幕上直接拷贝Multiwfn输出信息到剪切板中。有很多次有人问我Multiwfn输出的信息较长,把命令行窗口的滑条拉到顶头也看不全应该怎么办。实际上这在5.5节已经说明了,也就是加大窗口缓冲区尺寸。

手册最后是附录。其中说明了怎么设定Gaussian运行环境(Multiwfn的个别功能会调用Gaussian计算原子波函数文件,执行这类功能之前必须先设定Gaussian运行环境),介绍了Multiwfn源代码中各个实空间函数名(主要用于自己编写自定义函数时作为参考,这属于相对高级的应用),还有其它很多信息,若想对Multiwfn了解多一些很建议看看。


4 帖子&资源

虽然Multiwfn的手册已经极其详细了,例子也极其丰富,但为了让国内的研究者们,尤其是量化初学者们能更容易地了解如何用Multiwfn解决一些实际问题,也算是对Multiwfn没有中文手册所作的弥补,我曾写了大量中文文章介绍Multiwfn的各个方面的应用或其它有关问题,其中不少内容和手册里的内容有交集。如果要抱怨Multiwfn没有中文的手册,那么请先把这些中文帖子看了!很多帖子属于专题讨论,内容比手册里的明显更深、更广。这些帖子最新版本都发在了笔者的blog中(http://sobereva.com,可以点击右侧的Multiwfn分类),后来写的也同时发在了笔者创立的计算化学公社论坛上(http://bbs.keinsci.com)。早期有些Multiwfn相关帖子在小毒虫上也能看到,但那些都是很老旧的版本从未更新过(我要是能删掉早就删了),故千万别在小毒虫上看!这里将目前已经写过的这些帖子列在下面。注意这些帖子是不同时期写的,当时的Multiwfn版本中的操作和目前的可能略有不同。还有一些其它的Multiwfn的相关资源也列在这里。


Multiwfn 2013年暑期培训班幻灯片(英文,800余页),下载地址 http://pan.baidu.com/share/link?shareid=759751855&uk=1074012119

幻灯片《Multiwfn与波函数分析简介》(不到300页,内容比较浅显,非常适合初学者入门!),下载地址 http://sobereva.com/239

《Multiwfn波函数分析程序的意义、功能与用途》(http://sobereva.com/184

截止至2016-Mar-14使用了Multiwfn的1010篇文章下载,可作为例子库:http://bbs.keinsci.com/forum.php?mod=viewthread&tid=2850

《使用Multiwfn绘制构象权重平均的光谱》(http://sobereva.com/383

《Multiwfn的轨道定域化功能的使用以及与NBO、AdNDP分析的对比》(http://sobereva.com/380

《详谈Multiwfn支持的输入文件类型、产生方法以及相互转换》(http://sobereva.com/379

《使用Multiwfn做自然跃迁轨道(NTO)分析》(http://sobereva.com/377

《使用Multiwfn考察轨道间重叠程度和质心距离》(http://sobereva.com/371

《使用DORI函数同时考察共价和非共价相互作用》(http://sobereva.com/367

《使用Multiwfn通过LOBA方法计算氧化态》(http://sobereva.com/362

《谈谈自旋密度、自旋布居以及在Multiwfn中的绘制和计算》(http://sobereva.com/352

《使用Multiwfn预测晶体密度、蒸发焓、沸点、溶解自由能等性质》(http://sobereva.com/337

《Multiwfn支持的弱相互作用的分析方法概览》(http://sobereva.com/252

《使用Multiwfn观看分子轨道》(http://sobereva.com/269

《利用Multiwfn计算倾斜、扭曲环的NICS_ZZ》(http://sobereva.com/261

《将文件快速载入Multiwfn程序的几个技巧》(http://sobereva.com/237

《使用Multiwfn基于完全态求和(SOS)方法计算极化率和超极化率》(http://sobereva.com/232

《使用Multiwfn分析Gaussian的极化率、第一超极化率的输出》(http://sobereva.com/231

《使用Multiwfn绘制红外、拉曼、UV-Vis、ECD和VCD光谱图》(http://sobereva.com/224

《利用Multiwfn计算Gaussian输出的激发态之间的跃迁偶极矩》(http://sobereva.com/227

《通过Multiwfn绘制等化学屏蔽表面(ICSS)研究芳香性》(http://sobereva.com/216

《通过键级曲线和ELF/LOL/RDG等值面动画研究化学反应过程》(http://sobereva.com/200

《谈谈分子半径的定义和计算方法》(http://sobereva.com/190

《使用Multiwfn研究分子动力学中的弱相互作用》(http://sobereva.com/186

《用Multiwfn+VMD做RDG分析时的一些要点和常见问题》(http://sobereva.com/291

《衡量芳香性的方法以及在Multiwfn中的计算》(http://sobereva.com/176

《制作动画分析电子结构特征》(http://sobereva.com/86

《电子定域性的图形分析》(http://sobereva.com/63

《使用Multiwfn图形化研究弱相互作用》(http://sobereva.com/68

《使用Multiwfn做拓扑分析以及计算孤对电子角度》(http://sobereva.com/108

《Multiwfn结合VMD绘制AIM拓扑分析图》(http://sobereva.com/207

《使用Multiwfn作电子密度差图》(http://sobereva.com/113

《使用Multiwfn绘制NBO及相关轨道》(http://sobereva.com/134

《谈谈轨道成份的计算方法》(http://sobereva.com/131

《使用AdNDP方法以及ELF/LOL、多中心键级研究多中心键》(http://sobereva.com/138

《使用Multiwfn绘制原子轨道图形、研究原子壳层结构及相对论效应的影响》(http://sobereva.com/152

《使用Multiwfn的定量分子表面分析功能预测反应位点、分析分子间相互作用》(http://sobereva.com/159

幻灯片《Predicting reactive sites (反应位点的预测)》(http://sobereva.com/234

《分子间轨道重叠的图形显示和计算》(http://sobereva.com/163

《绘制跃迁密度矩阵平面图分析电子跃迁》(http://sobereva.com/136

《使用Multiwfn做电荷分解分析(CDA)、绘制轨道相互作用图》(http://sobereva.com/166

《使用Multiwfn做电子密度、ELF、静电势、密度差等函数的盆分析》(http://sobereva.com/179

《使用Multiwfn结合VMD分析和绘制分子表面静电势分布》(http://sobereva.com/196

《通过Multiwfn计算各个轨道的偶极矩》(http://sobereva.com/251

《利用约化密度梯度考察AIM临界点的位置》(http://sobereva.com/267

《将分子结构图和Multiwfn绘制的平面图准确合并的方法》(http://sobereva.com/274

《使用Multiwfn计算超极化率密度》(http://sobereva.com/305

《杂谈Multiwfn从1.0到3.0版的开发经历》(http://sobereva.com/180

《回答一些关于Multiwfn的疑问以及未来Multiwfn的发展打算》(http://sobereva.com/107

笔者另有不少文章和Multiwfn有较大关系,如《谈谈分子体积的计算》(http://sobereva.com/102)、《AIM键临界点处电子密度拉普拉斯值符号判断相互作用类型失败原因的图形分析》(http://sobereva.com/161)、《从H到Lr所有元素的全电子波函数文件》(http://sobereva.com/235)等等,有兴趣可以看看。



5 求助

在Multiwfn中遇到问题时建议先查询手册来想办法解决,如果是程序出错应当先尝试使用最新版看看能否解决。如果疑问仍得不到答案,可以通过以下几种方式向开发者求助。求助时最好将完整的操作过程附上,如果输入文件不大的话最好也压缩后一起附上,以便于开发者检查是用户操作错误还是程序有bug。

(1) (最推荐)在笔者建立的计算化学公社论坛的Multiwfn讨论版咨询(http://bbs.keinsci.com/forum.php?mod=forumdisplay&fid=112),这是唯一官方指定的Multiwfn交流论坛,笔者基本每天都去看,看到后会立即详细回复。笔者不在其它任何论坛回复Multiwfn和计算化学相关问题。

(2) 在笔者建立的思想家公社QQ群里咨询,此群专门用于交流计算化学问题。群号码见sobereva.com上方的信息。如果在群里询问后一天内没有得到回复,可能笔者不在线,可以趁Sobereva在线时再次询问。因笔者十分忙碌,不建议私聊。

(3) 通过电子邮件咨询。开发者的邮箱是Multiwfn主页上给出的邮箱(和手册第一页、Multiwfn程序刚启动时显示的信息里的邮箱一致)。除非问题非常私密,否则不建议用此方式提问。


6 培训班

北京科音自然科学研究中心(www.keinsci.com)不定期举办《量子化学波函数分析暨Multiwfn程序使用培训班》(第二届的信息见http://bbs.keinsci.com/forum.php?mod=viewthread&tid=1601),由Multiwfn开发者卢天博士全面讲授波函数分析的理论基础并结合大量实例介绍Multiwfn的使用方法,感兴趣者可以关注计算化学公社上的消息和北京科音自然科学研究中心的主页,一般一年半左右一次,每次培训前大约2个月会发布消息。这是机会难得的一次性把波函数分析和Multiwfn都学透的最快最佳途径。

评论已关闭