為什么我非常不建議購買和使用D摩3量子化學程序
為什么我非常不建議購買和使用D摩3量子化學程序
2019-Aug-26
重要提示:此文對D摩3的討論僅限于D摩3算孤立體系(分子、團簇),D摩3算周期性體系的情況不屬于本文的討論范疇。D摩3在算周期性體系上還是可以一用的,雖然也絕非好選擇。本文說的都是W$2018里D摩3的情況,對于未來的版本某些說法可能適用也可能不適用。
在網上討論交流的時候偶爾會看到有人想買、想用D摩3程序,或者有的人用D摩3還自我感覺良好,每次表態我對D摩3的強烈鄙視都得寫一堆文字,頗麻煩。撰寫本文的目的,是讓讀者全面了解到為什么我吐血不推薦用D摩3算分子體系,清醒認清到D摩3到底是個什么水準的東西,以及為什么我強烈不建議購買D摩3。本文有不少內容和《為什么我非常不建議購買和使用阿DF量子化學程序》(http://www.shanxitv.org/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://www.shanxitv.org/272)。
對于算弱相互作用問題,色散校正使用得非常普遍、廣泛,對于PBE、BLYP、B3LYP這種算色散作用幾乎或完全失敗的泛函更是必不可少的,相關知識看《談談“計算時是否需要加DFT-D3色散校正?”》(http://www.shanxitv.org/413)、《DFT-D色散校正的使用》(http://www.shanxitv.org/210)。D摩3雖然也支持色散校正,但僅僅支持如今已經過時的TS和DFT-D2。目前普遍用的都是DFT-D3,2010年就已經提出來了,比DFT-D2精度整體改進不少,而且支持的元素多得多,所有主流量化程序無一例外全都已支持DFT-D3,而到現在D摩3居然都還沒支持。ORCA等程序甚至都已經支持到DFT-D4了(見《DFT-D4色散校正的簡介與使用》http://www.shanxitv.org/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://www.shanxitv.org/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://www.shanxitv.org/multiwfn,是目前功能最全面的波函數分析程序,被使用非常廣泛,對實際化學問題的計算研究有極高的價值,相關信息看《Multiwfn FAQ》http://www.shanxitv.org/452、《Multiwfn入門tips》http://www.shanxitv.org/167、《Multiwfn波函數分析程序的意義、功能與用途》http://www.shanxitv.org/184、幻燈片《Multiwfn與波函數分析簡介》http://www.shanxitv.org/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://www.shanxitv.org/355),參加后可以迅速上手Gaussian計算。可以說在所有量子化學程序里,沒有比Gaussian更好學的了,絕對沒有比用Gaussian更快的上手捷徑了。前文提到的ORCA的基本使用也并不難學難用,怎么安裝ORCA在《量子化學程序ORCA的安裝方法》(http://www.shanxitv.org/451)里說了,怎么創建基本的輸入文件這里說了《詳談Multiwfn產生ORCA量子化學程序的輸入文件的功能》(http://www.shanxitv.org/490),怎么觀看結果在《OfakeG:使GaussView能夠可視化ORCA輸出文件的工具》(http://www.shanxitv.org/498)里說了,還給了演示視頻。
此外,給D摩3提供圖形界面的W$在顯示效果和設定靈活度方面被免費好用的VMD全面吊打,比如可以看看這些VMD顯示的效果:《在VMD里將cube文件瞬間繪制成效果極佳的等值面圖的方法》(http://www.shanxitv.org/483)、《通過獨立梯度模型(IGM)考察分子間弱相互作用》(http://www.shanxitv.org/407)、《使用Multiwfn+VMD快速地繪制靜電勢著色的分子范德華表面圖和分子間穿透圖》(http://www.shanxitv.org/443)、《使用Multiwfn+VMD快速繪制高質量分子軌道等值面圖》(http://www.shanxitv.org/447)、《巨大體系的范德華表面靜電勢圖的快速繪制方法》(http://www.shanxitv.org/481)、《使用Multiwfn+VMD以原子著色方式表現原子電荷、自旋布居、電荷轉移、簡縮福井函數》(http://www.shanxitv.org/425)。