为什么我非常不建议购买和使用D摩3量子化学程序
为什么我非常不建议购买和使用D摩3量子化学程序
First release: 2019-Aug-26 Last update: 2023-Dec-21
提示:此文对D摩3的讨论仅限于D摩3算孤立体系(分子、团簇),D摩3算周期性体系的情况不属于本文的讨论范畴。但即便算周期性体系也是我很不推荐用D摩3的,速度远慢于免费且功能更强大、更灵活的CP2K,而且CP2K的使用并不困难,通过北京科音CP2K第一性原理计算培训班(http://www.keinsci.com/workshop/KFP_content.html)可以很快顺利上手。
在网上讨论交流的时候偶尔会看到有人想买、想用D摩3程序,或者有的人用D摩3还自我感觉良好,每次表态我对D摩3的强烈鄙视都得写一堆文字,颇麻烦。撰写本文的目的,是让读者全面了解到为什么我吐血不推荐用D摩3算分子体系,清醒认清到D摩3到底是个什么水准的东西,以及为什么我强烈不建议购买D摩3。本文有不少内容和《为什么我非常不建议购买和使用阿DF量子化学程序》(http://sobereva.com/489)的内容是相同的,因为这俩程序在很多方面上的严重缺点是共通的。笔者写这样的文章,关键是因为对暴利的东西历来看不惯,其次希望一些糊涂的量化研究者们能早日看清真相,免得白给人大把送钱结果还耽误了前程。
简单一句话,只要你会用Gaussian和ORCA,那么D摩3算孤立体系对你而言完全是垃圾,没有丝毫使用和购买价值,我认为形容成这种程度没有丝毫过分和夸张。如果你是明知如此、又不是没有学习Gaussian和ORCA的能力,还要花大笔科研经费去购买又孱弱又贼贵的D摩3,糟蹋老百姓的纳税钱,我觉得性质就比较恶劣了(除非你是自掏腰包购买)。
下面我就依次说说D摩3为什么弱爆了,每个问题都是不得不说的严重硬伤,而各种小缺点限于篇幅我都不提了。
1 非主流
从《2018年度计算化学公社杯最常用的量子化学程序和DFT泛函投票结果统计》(http://bbs.keinsci.com/thread-10100-1-1.html)的投票就可以清楚看出来,D摩3的用户数目仅有Gaussian的一个零头。据官方统计,如今每年使用D摩3的文章才区区六、七百左右(其中算孤立体系的估计也就两百),而且没有增长趋势。在计算化学公社论坛、各种专业的量子化学QQ群里你也极少看到有D摩3用户的讨论,在网上也很少有介绍D摩3使用经验的帖子。本来D摩3的相关学习资源就很少,如果你还是个初学者,碰上D摩3的问题基本都找不到同行能给你解答。
在我来看,D摩3就像一个外星异类。如果你是一个初学者,从D摩3开始起步,那你就完全脱离大部队了,未来将会孤单无助,前途坎坷,发文章很费劲。
2 价格高昂
W$(具体来说是W$ visualizer)给D摩3提供了图形界面,D摩3是W$里的一个模块,一般买D摩3都是和W$捆绑购买。我没买过这程序,具体卖多少钱我不知道确切数字。买W$的费用取决于要买的模块,根据我所知道的W$模块售价的大致价位(随便买买就几十万),把W$和D摩3一起买了的话,应该不会少于10万。相比之下,目前最知名、最流行、用户数占绝对主导性的Gaussian程序,价钱才只有W$+D摩3的几分之一(具体看买Gaussian的什么版本。即便买最贵Linux 64bit、不限核数、全学院都能用的site license版,价格也绝对达不到W$+D摩3的一半),而Gaussian的价值比D摩3不知道高哪去了。和Gaussian比起来,D摩3简直就像是玩具般的存在。对于所有常用功能,Gaussian的水准都有绝对压倒性的优势。那些买昂贵玩具的量化研究者,我真不知道是什么心态。而D摩3还完全没有奢侈品的范儿,能做的都是些简单低级粗暴的东西。拿D摩3算孤立体系,很可能会被不少量化内行(也可能包括你未来的审稿人)看不起,反正我是在心里对D摩3持嘲讽、鄙视态度。
3 支持的理论方法和任务非常狭隘
D摩3支持的理论方法极其有限。D摩3仅仅支持做DFT计算,虽然对GGA、meta-GGA这个档次支持的泛函不算很少,但杂化泛函仅仅支持B3LYP这一个!就更别提M06-2X等meta-杂化泛函,以及CAM-B3LYP、wB97XD、HSE等范围分离泛函了。要知道,如今算有机体系,根本没人用纯泛函 。虽然B3LYP结果比GGA泛函普遍更好,但对于算有机体系的反应能、势垒这些能量相关问题B3LYP已经完全过时了,现在一般都用结果好得多的M06-2X(08年提出),而免费的ORCA程序还支持更好的2016年提出的wB97M-V。当追求更高档次精度的时候,如今大家则普遍用双杂化泛函,而D摩3对双杂化泛函更是连一个都不支持!不懂这些DFT泛函选择常识的话看《简谈量子化学计算中DFT泛函的选择》(http://sobereva.com/272)。
对于算弱相互作用问题,色散校正使用得非常普遍、广泛,对于PBE、BLYP、B3LYP这种算色散作用几乎或完全失败的泛函更是必不可少的,相关知识看《谈谈“计算时是否需要加DFT-D3色散校正?”》(http://sobereva.com/413)、《DFT-D色散校正的使用》(http://sobereva.com/210)。D摩3虽然也支持色散校正,但仅仅支持如今已经过时的TS和DFT-D2。目前普遍用的都是DFT-D3,2010年就已经提出来了,比DFT-D2精度整体改进不少,而且支持的元素多得多,所有主流量化程序无一例外全都已支持DFT-D3,而到现在D摩3居然都还没支持。ORCA等程序甚至都已经支持到DFT-D4了(见《DFT-D4色散校正的简介与使用》http://sobereva.com/464)。
可见,D摩3的发展已经与时代完全脱节,被主流量化程序甩了十万八千里,基本上就是在等死,靠忽悠来续命。如果你坚持用D摩3,就如同井底之蛙,落后理论化学领域发展十几年。这年头还用那些过时、落后、粗劣的理论方法,就等着被审稿人批吧。也因为D摩3这样的水准,光靠D摩3只能做一些粗放的研究,很难拿得上台面。
4 杂化泛函速度极慢
有人用D摩3是因为觉得它速度快,真是如此么?下面用coumarin153染料分子(C16H14F3NO2,36原子)做一个单点计算的对比测试,在Intel i7-2630QM(四核八线程CPU)上四核并行计算,体系不牵扯对称性。下面,***是某知名商业量子化学软件16版,计算时用了fine积分格点(默认的积分格点精度过高,一般完全没必要那么高),并且用的是conver=6的标准(因为默认收敛标准对于能量计算而言过于严格,完全没必要)。ORCA是4.2版,为了对比公平而用了nofinalgrid关键词,计算时顺便对比了开和不开RI时的速度差异,RI相关知识看《详谈Multiwfn产生ORCA量子化学程序的输入文件的功能》(http://sobereva.com/490)。D摩3用的是W$2018中的版本,计算时用的是默认的Quality: Medium选项。测试数据中cyc是迭代到收敛的圈数。由于D摩3算杂化泛函时是先用纯泛函部分做迭代,等迭代差不多了再改成杂化泛函继续迭代,所以迭代圈数比其它情况明显要高。
首先测试较小基组的情况。由于D摩3用的基组和主流量化程序不同,这里用DNP(4.4版)基组和其它量化程序支持的与之大小相近的def2-SVP进行对比。
D摩3,PBE/DNP:35s 14cyc
D摩3,M06L/DNP:83s 14cyc
D摩3,B3LYP/DNP:11m35s 25 cyc
***, PBE/def2-SVP:4m28s 15cyc
***, PBE/def2-SVP 开密度拟合:4m7s 15cyc
***, M06L/def2-SVP:8m46s 16cyc
***, B3LYP/def2-SVP:4m27s 12cyc
ORCA, PBE/def2-SVP 开RIJ:31s 13cyc
ORCA, M06L/def2-SVP 开RIJ:36s 12cyc
ORCA, B3LYP/def2-SVP 开RIJCOSX:2m40s 12cyc
ORCA, B3LYP/def2-SVP 不用RI:4m15s 12cyc
从上面的数据可见,D摩3算PBE这样的GGA泛函确实很快,远远快于***,但这绝对不足以成为用D摩3的理由,因为免费的ORCA程序利用RIJ后速度比D摩3还快一点,买D摩3干嘛?D摩3算M06L这样的meta-GGA泛函速度比算GGA泛函慢得多得多,速度已远远被ORCA甩下去了。再看杂化泛函B3LYP,D摩3已经慢到毫无使用价值,比***慢两倍多,比开了RIJCOSX技术的ORCA更是慢了4倍!本身D摩3对杂化泛函就仅仅支持B3LYP一个,跑起来还远远远远慢于主流量化程序,所以几乎可以认为D摩3算不了杂化泛函。D摩3的用户真是太可怜了。
还是用coumarin153分子和上面的计算条件,但是对比更大基组的情况。D摩3里的TNP和def2-TZVP档次相仿佛。
D摩3,PBE/TNP:2m10s 14cyc
ORCA, PBE/def2-TZVP 开RIJ:1m39s 11cyc
***, PBE/def2-TZVP 开密度拟合:17m56s 15cyc
可见用更大的基组,在GGA泛函下,D摩3比免费的ORCA照样占不到任何便宜(别拿***的纯泛函耗时说事,经常用纯泛函跑大体系的人没有理由不用ORCA)。
上面的测试充分体现出,D摩3算纯泛函速度比不过ORCA,杂化泛函更是被ORCA彻底吊打,也显著慢于***,因此在速度上D摩3一无是处。上面的测试虽然没有考虑更大体系,但还是能在很大程度上说明问题的。
5 没有解析Hessian,振动分析巨慢
做振动分析需要计算Hessian矩阵。而D摩3的一个巨大软肋是不支持解析Hessian,必须靠有限差分获得半数值Hessian,这就意味着名义上来说算Hessian矩阵的耗时是算单点的"6*原子数"倍,即便是基于GGA泛函,算大点的体系也根本算不动。这里就只用一个小体系苏氨酸(17原子)作为振动分析的耗时测试,计算细节同上(注:ORCA计算时用了tightSCF关键词),数据如下:
D摩3,PBE/DNP:10m35s
***, PBE/def2-SVP:38s
***, B3LYP/def2-SVP:38s
ORCA, PBE/def2-SVP 开RIJ:3m13s
ORCA, PBE/def2-SVP 不用RI:7m26s
ORCA, B3LYP/def2-SVP 开RIJCOSX:5m1s
ORCA, B3LYP/def2-SVP 不用RI:13m32s
***无论结合PBE还是B3LYP,都仅仅需要38秒就能算完的结果,而D摩3结合PBE愣是算了10分半,多花了15倍时间!这还只是对小体系,要是体系再大点,和***的耗时能相差两个数量级。换句话说,D摩3对稍微大点的体系做振动分析根本没戏。对于D摩3结合B3LYP做振动分析连测都不用测,哪怕这么小的体系,也得算N个小时,可想而知要是算六七十个原子体系得算到猴年马月去!从上面也可以看到,ORCA虽然算单点上比***速度有明显优势,但是振动分析不是***的对手,不过还是比D摩3强得多,特别是开RI的时候,好歹ORCA有解析Hessian。
6 功能少、弱、烂
相比于Gaussian和ORCA支持的丰富的功能、支持计算的属性,D摩3实在太弱了,那些细枝末节的且不提,一些很重要的都不支持,比如:
·一般计算激发态都是用杂化泛函,然而D摩3做TDDFT算激发态却不支持杂化泛函。纯泛函做TDDFT的结果基本没有意义,比如激发能通常都明显低估,算电荷转移激发、里德堡激发的话更是离谱,因此D摩3几乎等同于算不了电子激发问题
·杂化泛函下没法算(超)极化率。然而用纯泛函算这个又基本没意义,一般会严重高估
·算不了任何与磁沾边的属性。NMR、磁化率、ECD、VCD一概算不了
·无法做势能面扫描
·算Raman活性不支持解析方式计算,必须做有限差分。本来做振动分析就比Gaussian甩开几条街,再考虑这点,那差距就更是遥不可及了
·搜索过渡态方面方法笨拙、麻烦。用提供反应物和产物近似结构的Complete LST/QST方法需要算的结构的次数显著高于Gaussian的QST2,而最后给出的TS还挺不准确,得再用EF方法进一步优化。直接给出过渡态初猜结构找过渡态的方法只支持EF,用户还得手动指定跟踪的模式,麻烦(事先还得先做振动分析,而且如前所述D摩3做振动分析极慢)
·没法产生IRC。D摩3虽然有一个基于NEB的TS Confirmation功能,但只能验证TS连的是什么极小点而已而无法产生IRC,而且过程颇为耗时,使用之前还得先跑LST/QST任务得到轨迹,难用极了
7 不支持主流的高斯型基组
D摩3用的是极为罕见的数值型基函数,然而要知道,如今几乎所有量子化学程序用的都是GTF(Gaussian型函数)作为基函数。大家平时在文章里看得到的那些基组,比如6-31G*、def2-TZVP、cc-pVTZ等等,无一例外也全都是基于GTF的基组。你如果用了D摩3,那些常见基组你一个也用不了!你想重复已有文章里的数据根本没法严格重复!审稿人若建议你用某个基组来做计算,你届时都根本没法算!D摩3用的基组都是那些作者自己搞的,简直就像一个闭关锁国的国家,与外界完全不兼容。
而且,不同的主流GTF型基组的质量如何内行心里都有数,因为大家平时用的都是GTF型基组,也有大量文章进行对比测试。而你用D摩3的数值型基组,如果审稿人对基组质量、精度、可靠性有所质疑,到时候你都很难答复。还有些特殊问题需要有特定特征的基组,比如众所周知准确计算超极化率需要带大量弥散函数的基组组aug-cc-pVTZ甚至d-aug-cc-pVTZ。而虽然D摩3里也有DNP+,相当于2-zeta带弥散,但计算超极化率的精度水准如何,你难以找到相关测试文章,因此心里也没数。
8 没法结合Multiwfn做波函数分析
做应用性量子化学计算研究,光是会算是不够的,只是给出能量、结构、光谱这些数据,往往会显得很肤浅、文章很不充实。只有在分析讨论下功夫,才能让文章充实、挖掘出各种有化学意义的信息,这就需要做波函数分析。Multiwfn应当很多人都听说过,主页是http://sobereva.com/multiwfn,是目前功能特别全面的波函数分析程序,被使用得非常广泛,对实际化学问题的计算研究有极高的价值,相关信息看《Multiwfn FAQ》http://sobereva.com/452、《Multiwfn入门tips》http://sobereva.com/167、幻灯片《Multiwfn与波函数分析简介》http://sobereva.com/239。
然而,D摩3由于用的是数值型基函数,而Multiwfn则不支持这种非主流类型的基函数(而且永远也不会支持),因此D摩3的用户将丧失结合Multiwfn做波函数分析的机会。看着Gaussian、ORCA等主流量化程序的用户在文章里做各种漂亮、上档次的分析,D摩3的用户只有眼馋的份儿。虽然D摩3也不是不支持波函数分析,但它带的那点分析功能比Multiwfn差远了。
9 总结
除上述外,D摩3相对于最主流的Gaussian程序的缺点还一大堆。比如D摩3都不支持PCM溶剂模型,其支持的COSMO相当于PCM的最糙的近似,而Gaussian支持的IEFPCM则是PCM最理想的实现。再比如使用W$+D摩3看HOMO、LUMO以外的轨道的过程也颇为麻烦。D摩3各种各样的缺点太多,限于篇幅就不再多提了。由于笔者平时研究从来不用D摩3,所以可能还有更多的硬伤上面没有提及。
在我来看D摩3真是黑得要命,以这个程序的真实水准,打1折我看还差不多,而对我来说,白给我我也绝对不用,做得实在太差了。D摩3属于典型的高度商业化的程序,完全向钱看,这类程序就是专门推销给那些人傻钱多的外行人。那些人还完全没有入门、没有基本的知识和辨别能力,然而他们往往又急着算出点东西。高度商业化程序就瞄准了这些人,积极给他们推销,把程序包装得光鲜无比,灌输给他们一种“D摩3是最好用的量化程序”的错觉,显然总有些新人会上钩。你去随便问问长期做量化的内行,或者你去主流计算研究的期刊看看(比如JCTC、JCC、PCCP、JPCA),能找到几个用D摩3的?实际上,只要你稍微会点Gaussian、ORCA、Multiwfn,你就会觉得D摩3实在是全方位弱爆了,难以理解为什么卖那么贵还有人买(相比之下,另一个被我痛批的黑心程序阿DF还算有一点干货,而D摩3真的是一无是处)
D摩3程序本身,以及D摩3的死忠粉,在我来看都是异类。如果有D摩3的用户问我计算化学问题,我肯定不爱搭理,除非弃用D摩3,改邪归正、弃暗投明。
有的人可能觉得,反正我经费多的是,不差钱,买就买了,买了不用也无所谓,别人没理由说三道四。但你想想,你的这些科研经费都是老百姓的血汗钱,拿这些钱养肥了那些暴利的程序,良心不会痛么?
附:初学者适合D摩3?
有人以为D摩3的W$的图形界面好,对初学者来说很容易上手,因此初学者应该学D摩3,这是大错特错!!!Gaussian御用的图形界面GaussView好用得很,D摩3的图形界面W$在建模方面远不如GaussView好用,在很多界面上也明显不及GaussView用着方便(比如观看振动模式、光谱的界面)。而且Gaussian的输入文件是所有量化程序里最简单的,没有之一,直接手写Gaussian关键词极其容易。而在W$的图形环境下使用D摩3极不灵活,比如批处理就很麻烦;而如果你通过命令行方式直接用D摩3来试图追求灵活,自写关键词又颇为费劲。顺带一提,北京科音每年都开设初级量子化学培训班,详见《谈谈学量子化学如何正确地入门》(http://sobereva.com/355),参加后可以迅速上手Gaussian计算。可以说在所有量子化学程序里,没有比Gaussian更好学的了,绝对没有比用Gaussian更快的上手捷径了。前文提到的ORCA的基本使用也并不难学难用,怎么安装ORCA在《量子化学程序ORCA的安装方法》(http://sobereva.com/451)里说了,怎么创建基本的输入文件这里说了《详谈Multiwfn产生ORCA量子化学程序的输入文件的功能》(http://sobereva.com/490),怎么观看结果在《OfakeG:使GaussView能够可视化ORCA输出文件的工具》(http://sobereva.com/498)里说了,还给了演示视频。
此外,给D摩3提供图形界面的W$在显示效果和设定灵活度方面被免费好用的VMD全面吊打,比如可以看看这些VMD显示的效果:《在VMD里将cube文件瞬间绘制成效果极佳的等值面图的方法》(http://sobereva.com/483)、《通过独立梯度模型(IGM)考察分子间弱相互作用》(http://sobereva.com/407)、《使用Multiwfn+VMD快速地绘制静电势着色的分子范德华表面图和分子间穿透图》(http://sobereva.com/443)、《使用Multiwfn+VMD快速绘制高质量分子轨道等值面图》(http://sobereva.com/447)、《巨大体系的范德华表面静电势图的快速绘制方法》(http://sobereva.com/481)、《使用Multiwfn+VMD以原子着色方式表现原子电荷、自旋布居、电荷转移、简缩福井函数》(http://sobereva.com/425)。