简谈量子化学计算中DFT泛函的选择

简谈量子化学计算中DFT泛函的选择
A brief discussion on the choice of DFT functional in quantum chemistry calculations

文/Sobereva @北京科音

First release: 2014-Dec-29   Last update: 2024-Oct-23


1 前言

经常有人问怎么选择DFT泛函,或要求推荐一些专门讲各种泛函特点、适用场合的文章。这比较为难,要想详细剖析各类泛函的特点,那得长篇大论一番,几句话根本说不清楚。至于推荐文献,也真没什么和适合推荐的。虽然泛函的综述很多,专著也很多,但是极少有全面评述的,而且写这种文章的人多半是研究泛函且提出过泛函的,观点、内容取材总是很有偏向性,有失客观,一个人一个说法。而且新泛函不断出现,稍老一点的文章就会和主流形势相脱节,甚至对读者产生误导。所以,真想对泛函的选择搞得十分灵通的话,必须认真读读DFT专著打好基础,并且多关注主流文献,逐渐形成自己的认识。光是看几篇综述根本没用,看10篇也不够。这就像测试数据,测一次或几次可能会有很大误差,但测试得多了,平均值就会很接近实际值。

初学者切勿盲目效仿文献里对泛函的选用。已发表的文章里有大量是使用不合理的泛函的,也有很多文献过于老旧,完全脱离时下潮流。效仿这些文献容易吃大亏,被审稿人猛批。初学者更不要瞎做所谓的泛函的“标定”,这只会白浪费时间,结论还可能是荒谬的,注意看《谈谈量子化学研究中什么样的benchmark才有意义》(http://sobereva.com/554)。

下面罗列一下对于各种情况,结合笔者计算经验和大量测试文章给出的泛函选择建议。本文会不断更新以与时俱进、体现笔者最新的看法。这里只涉及量子化学计算,第一性原理计算不涉及。本文说的“有机体系”确切来说是指的由主族原子构成的体系,因此也包括含有碱、碱土金属的情况。而“过渡金属体系”在本文里也包含镧系、锕系的情况。本文为了打字省事,所有ω都写成了w。本文里管双杂化泛函以外的泛函统称为普通泛函。本文里凡是带DFT-D3校正的情况,如果你的程序支持DFT-D4,而且对相应的泛函定义了参数,那么都可以改用DFT-D4,对于有机类体系结果相对于DFT-D3不会有太大差别,但是对于计算过渡金属配合物的金属有机反应、弱相互作用的情况可能精度会有明显的改进。下文推荐的很多泛函不一定在你当前用的程序里能用,能用哪些仔细看手册的DFT部分,有些在Gaussian中不直接支持的泛函通过特殊方式可能可以用,参见《Gaussian中非内置的理论方法和泛函的用法》(http://sobereva.com/344)。

由于很多初学者缺乏一些常识,这里先明确一下,计算能量相关问题的精度的顺序通常是:CCSD(T)>双杂化泛函>恰当选用的普通泛函>MP2>HF>半经验方法。

这些方法的理论方面的知识介绍不在本文范畴内。在北京科音初级量子化学培训班(内容见http://www.keinsci.com/workshop/KEQC_content.html)里我会对本文涉及方法的背景知识进行系统性的介绍使读者更充分地了解他们。在北京科音中级量子化学培训班(内容见http://www.keinsci.com/workshop/KBQC_content.html)里我会进一步展开做更深入全面透彻的讲解,给出更丰富、更具体的推荐,非常欢迎参加。


2 双杂化泛函的选择

能用得起双杂化泛函而且要求计算精度较高时通常建议用双杂化泛函。这类泛函精度大多比普通泛函能提升一个档,更是甩MP2一条街,而耗时比MP2仅略高一丁点。不过,目前一些较新的普通泛函(如wB97M-V)的精度在一些情况下的精度能赶上甚至超越双杂化泛函中比较老、比较中庸的那些,所以不要简单认为双杂化泛函的精度就一定比普通泛函更好。各种双杂化泛函的精度好坏没有定论,和体系、计算的问题有极大关系,不同测试文章的结论出入很大。即便不算弱相互作用也应当加DFT-D3(BJ)以改善综合性能。双杂化泛函做几何优化,特别是振动分析,耗时远高于普通泛函,而在这方面比合适的普通泛函的精度优势并不大,所以若无特殊必要不要用双杂化泛函做这种任务,而适合在普通泛函做优化、振动分析后算单点。

值得注意的双杂化泛函:

• PWPB95-D3(BJ):稳健性高,整体精度也较好。对于计算金属-有机反应尤为适合优先考虑。算分子间弱相互作用在双杂化里属于排名较前的。ORCA等支持,Gaussian没法用
• B2PLYP-D3(BJ):历史最老,精度在双杂化泛函里平庸,甚至有时已经落后于后来发展的较好的普通泛函如wB97M-V。但被程序支持最广泛,稳健性还不错。如果是Gaussian用户的话仍可以考虑,但如果是ORCA用户的话建议则不建议用,因为PWPB95-D3(BJ)明显更好。
• DSD-PBEP86-D3(BJ)和DSD-BLYP-D3(BJ):在一些测试文章中表现很好,但也有不少令人大跌眼镜的时候,故使用风险大。G16已内置了DSD-PBEP86-D3(BJ),直接写DSDPBEP86即可
• revDSD-PBEP86-D3(BJ):2019提出,是DSD-PBEP86-D3(BJ)的改良,精度号称有不小提升,但是否对各种情况都表现得稳健还不好说。对于计算弱相互作用能、主族体系反应能来说是很推荐使用的,ORCA 6.0开始直接内置了。在Gaussian 16里截止到C.01版尚没有内置,但可以通过自定义泛函方式使用,见《Gaussian中非内置的理论方法和泛函的用法》(http://sobereva.com/344)。这是Gaussian用户的首选
• wB97X-2-D3(BJ):整体精度是双杂化泛函里非常好的,也很稳健,不过算分子间弱相互作用很一般(分子内弱相互作用算得则很好)。wB97X-2仅有ORCA、GAMESS-US、Q-Chem支持,至少ORCA 5.0和GAMESS-US里没直接内置其DFT-D3(BJ)色散校正参数,得自己去PCCP, 20, 23175 (2018)的补充材料里获得并在程序中定义才能用,ORCA用户可以按照http://sobereva.com/490说的直接用Multiwfn创建此泛函的输入文件
• wB97M(2):2018年提出,是双杂化泛函中性能最优秀的,从ORCA 6.0、Q-Chem 5.2后期版本开始支持

关于用双杂化泛函算激发态:局域激发和分子内电荷转移激发用DSD-PBEP86做TDDFT计算最理想,ORCA直接支持。分子间电荷转移激发用RS-PBEP86双杂化泛函基于SOS-CIS(D)形式计算最佳,这对于局域激发和分子内电荷转移激发描述得也较好,但目前只有MRCC程序支持。ORCA里算分子间电荷转移激发建议基于RSX-QIDH双杂化泛函做TDDFT,虽然略逊于RS-PBEP86/SOS-CIS(D)但远强于DSD-PBEP86做TDDFT。这些结论来自JCTC (2022) DOI: 10.1021/acs.jctc.1c01307的测试。


3 普通泛函的选择

对于普通泛函的情况,一般情况笔者推荐的选择如下:

• 计算垂直局域价层激发能:PBE0(指结合TDDFT,后同。平均误差约在0.3 eV,平均好于B3LYP一丝)
• 计算大共轭体系激发能、电荷转移/里德堡垂直激发:CAM-B3LYP、wB97XD。大共轭体系也可以考虑PBE38
• 计算激发态是三重态的激发能:M06-2X
• 计算各类激发能,只用一个泛函的情况,尝试:PBE0、CAM-B3LYP、PBE38、wB97XD
注:特别推荐、非常稳、普适性极好的是用w调控后的LC-wPBE,是对每个体系的每个结构专门优化最佳的w参数,见《优化长程校正泛函w参数的简便工具optDFTw》(http://sobereva.com/346),在《北京科音高级量子化学培训班》(http://www.keinsci.com/workshop/KAQC_content.html)里“交换-相关泛函的调控”一节做了特别全面深入的讲解并给了例子,但代价是需要额外花一些时间优化w参数。此外,用ORCA做基于DSD-PBEP86等双杂化泛函的TDDFT的精度和普适性也比用前述那些普通泛函整体好得多,值得尝试,但明显更耗时、更费内存。
• 计算极化率:PBE0或BHandHLYP(大共轭体系建议用后者)。双杂化里DSD-PBEPBE算极化率最佳,仅次于CCSD。
• 计算超极化率:wB97或LC-τHCTH。BHandHLYP和CAM-B3LYP也可以考虑。
注:计算极化率和第一超极化率几乎最理想的是用w调控后的LC-wPBE。
• 计算NMR:对碳谱、氢谱,推荐用B3LYP结合标度法计算,见《谈谈如何又好又快地计算NMR化学位移》(http://sobereva.com/354)。如果不用标度法而想用普通方法的话,用revTPSS结合pcSseg-1,看《revTPSS泛函结合pcSseg-1基组是计算NMR很好的选择》(http://sobereva.com/623
• 计算分子振动(谐振、非谐振都包括):B3LYP。对于色散作用严重影响体系构象的情况,用B3LYP-D3(BJ)
• 主族元素构成的体系结构优化:B3LYP。对于色散作用严重影响体系构象的情况,必须加DFT-D3(BJ)校正。如果是大范围显著共轭体系,用wB97XD更好。此文务必阅读:《谈谈量子化学研究中什么时候用B3LYP泛函优化几何结构是适当的》(http://sobereva.com/557
• 计算HOMO-LUMO gap:B3LYP。更多信息见《正确地认识分子的能隙(gap)、HOMO和LUMO》(http://sobereva.com/543
• 计算有机体系热力学数据(反应能、构型能量差、能垒等):首选wB97M-V,其次M06-2X
• 计算各种弱相互作用:wB97M-V>=wB97X-V>=PW6B95-D3(BJ)>=M06-2X(加D3后更稳健)≈wB97X-D3>=B3LYP-D3(BJ)。在ORCA中追求速度用r2SCAN-3c(可利用RIJ显著加速计算)
• 计算卤键:M06-2X
• 主族元素形成的原子团簇:PBE0或TPSSh。碳团簇用B3LYP也合适
• Cu、Ag、Au团簇:TPSS或TPSSh。用revDSD-PBEP86双杂化泛函明显更好
• 计算多参考特征很强的体系:r2SCAN、TPSS、MN15L
• 计算有机体系垂直电子亲和能、Fundamental gap:wB97X或wB97XD(用w调控的泛函更佳)
• 计算有机体系垂直电离能:M06-2X
• 计算电子密度分布:PBE0、TPSSh
• 计算偶极矩、多极矩、静电势:wB97M-V。TPSSh、B3LYP也还行。revDSD-PBEP86-D3(BJ)双杂化泛函表现明显更好

涉及过渡金属、镧系锕系配合物有关的情况:
壳层过渡金属-有机反应能和势垒(涉及到配位键的形成/断裂、多参考特征不很强的情况):首选wB97X-V或wB97M-V,其次PBE0-D3(BJ)和MN15。TPSSh-D3(BJ)也不赖。必须用纯泛函的话,用B97M-rV或差一点的B97M-D3(BJ),再其次是SCAN-D3(BJ)或TPSS-D3(BJ)。用r2SCAN-3c组合方法的话不仅便宜且精度大概率强于任何纯泛函+色散校正且结合大基组
壳层过渡金属-有机反应能和势垒(涉及到配位键的形成/断裂、多参考特征不很强的情况):首选TPSS0-D4,其次PBE0-D4(PBE0-D3(BJ)稍逊一丝)。纯泛函当中B97M-V表现最好,但用r2SCAN-3c组合方法的话不仅便宜且精度还强于B97M-V/def2-QZVPP
• 过渡金属-配位键键长优化:
3d金属:适合纯泛函或低HF成份泛函。首选TPSS或TPSSh。r2SCAN也不错
4d、5d金属:适合中等HF成份的泛函。PBE0最优
• 过渡金属/镧系锕系配合物的杂问题:PBE0(镧系优先考虑这个)、TPSSh(锕系优先考虑这个)、MN15、MN15L、r2SCAN都可以考虑。如果没有实验参照的话,建议同时用其中几个泛函都算算,尽量都加DFT-D3(BJ)或DFT-D4校正。算单点用wB97X-V或wB97M-V可能结果明显更好。算激发能不宜用纯泛函,应当用前文提到的其它的。B3LYP也不是不能用于算这类体系,但非常不推荐,因为表现很平庸
• 计算过渡金属之间通过d轨道形成的化学键(包括过渡金属团簇体系):由于静态相关非常强,必须用纯泛函,可考虑r2SCAN、TPSS、PBE。MN15L也可考虑
• 主族原子桥联过渡金属情况(如Fe-S-Fe):TPSSh
• 计算配合物不同自旋多重度能量差:MN15L(见JCTC,16,4416)、TPSSh

上面没列举的其它情况或模棱两可的时候首先尝试B3LYP-D3(BJ),若发现其结果不理想,可尝试wB97M-V、MN15。当然,如果能接受更大计算量,最好用双杂化泛函。

关于激发态、弱相互作用、NMR的计算笔者专门写过文章,上面只是十分简略地一说,强烈建议看看以下文章了解详情。

关于激发态计算:
乱谈激发态的计算方法
http://sobereva.com/265
几篇横测电子激发能计算精度的文章
http://bbs.keinsci.com/thread-470-1-1.html

关于弱相互作用计算:
谈谈“计算时是否需要加DFT-D3色散校正?”
http://sobereva.com/413
DFT-D色散校正的使用
http://sobereva.com/210
DFT-D4色散校正的简介与使用
http://sobereva.com/464
乱谈DFT-D
http://sobereva.com/83
大体系弱相互作用计算的解决之道
http://sobereva.com/214

关于NMR计算:
谈谈如何又好又快地计算NMR化学位移
http://sobereva.com/354
使用Multiwfn绘制NMR谱
http://sobereva.com/565


4 对一些泛函的评论

顺便说几句B3LYP。这把老骨头,从1994年到现在已过了30多年,依然还是量化界用得最多的泛函,也是多数人默认用的泛函,在《2021年计算化学公社论坛“你最常用的计算化学程序和DFT泛函”投票结果统计》(http://sobereva.com/599)的统计中就可看出来。尽管有很大程度上是因为大家用习惯了,但关键还是B3LYP整体来说很皮实,鲁棒性好。虽然目前有几百种泛函,不少都能在自己的专长的问题上秒杀B3LYP,但是很少有泛函在普适性上显著超过B3LYP,因此整体流行度、知名度和B3LYP也根本没法比。B3LYP主要有两个关键性软肋 1:范德华作用中的色散吸引部分完全没法描述,但加上色散校正如DFT-D3后可完全解决,这个校正也使B3LYP在热力学数据计算精度上有少量改进 2:电荷转移(CT)激发、里德堡激发计算很烂,但变体CAM-B3LYP也大体解决了这个问题(CAM-B3LYP用在其它场合往往明显比B3LYP差)。另外,B3LYP还有些其它相对次要的问题,比如静态相关强的体系描述不理想(杂化泛函的通病)、对某些过渡金属配合物高估了高自旋态稳定性(将HF成份从20%调低至15%可解决,见JCP,117,4729、TCA,107,48)、某些化学反应计算不好(如F+H2->HF+H没有预测出势垒)、对于大范围共轭体系有把体系描述成平面而且键长均等的倾向(详见http://sobereva.com/557)。但是,泛函无完泛函(除非是传说中的圣杯泛函,就算找到了估计也根本算不动),不能苛求B3LYP尽善尽美,或者说,B3LYP在一定程度上粗略地达到了一个平衡点,即如果再专为了改进A性质的精度而优化参数,那么B性质的计算精度就可能会下降。总之,除了色散作用主导的弱相互作用和CT/里德堡激发这两个绝对不能用B3LYP的问题以外,碰到一个新问题,若不知道用什么泛函合适同时又懒得去查文献找最适合的泛函,那么大可先用B3LYP算算试试。

作为B3LYP这种准万能泛函的潜在替代品有二,一个是M06-2X,一个是wB97XD,都是2008年诞生的,主流的量化程序如Gaussian也都支持。它俩整体都还不错,且不仅没有B3LYP那两根关键性软肋,这软肋反倒还成了它们的长处。M06-2X是通过拟合参数时考虑弱相互作用体系使得弱相互作用描述颇不错,而且由于HF成份高达54%,使得算CT、里德堡激发算得不错。wB97XD使用了DFT-D2色散校正使得弱相互作用计算精度不错,又引入了长程校正使得CT、里德堡激发也算得不错。这两个泛函都有个通病,就是计算速度慢,比B3LYP慢不少(不过,B3LYP算得动的,这两个泛函肯定也能算得动)。而且,M06-2X等明尼苏达系列泛函对DFT积分格点精度要求比普通泛函高很多,有时候因为格点不够精细导致几何优化和SCF不容易收敛、优化之后出现小虚频。提高积分格点精度可解决(如Gaussian 09里用int=ultrafine。极个别时候,诸如某些弱相互作用体系甚至需要int=superfine),但会明显增加耗时。另外,M06-2X是针对主族进行参数化的,对于含过渡金属、镧系锕系的体系非常不合适(几乎等于找死。除非研究的问题只涉及配体部分),这种问题非要用明尼苏达系列泛函的话可改用后来的MN15或MN15L。wB97XD和M06-2X一样也是给主族参数化的,但计算含过渡金属的体系却不至于像M06-2X总是那么差。由于wB97XD和M06-2X的HF成分都比B3LYP高得多,故对于静态相关的描述也糟得多,而且会非常显著高估HOMO-LUMO gap,对单重态局域价层激发能也产生了偏高的倾向。另外,根据JCTC,6,2115的测试,M06-2X计算非谐振频率极烂,wB97X也不咋地(因此其姊妹wB97XD这方面也应该不怎么样)。由于这些原因,特别是计算速度偏慢,导致它们还没法真正替代B3LYP成为默认的泛函,只能是在有确切需要的时候才用。M06-2X的一个鲜明优点是在有机体系反应能、异构化能、势垒等热力学量方面的计算精度很好,有时候接近双杂化泛函的精度(往往比一些垫底的双杂化泛函表现还好),这也跟拟合参数时引入了这类问题直接相关。总的来说,算有机体系热化学问题,用M06-2X的话可以不必担心被审稿人质疑。

M06系列明尼苏达系列泛函提出后,虽然又提出了很多新的明尼苏达系列泛函,但对于分子体系,精度都没有实质性的进步(泛函构建思想不行,就知道拟合来拟合去,显然很快就会陷入瓶颈),有的还明显不如M06系列,特别是M11系列搞得极差。2016年提出的MN15和MN15L可以稍微留意下,从Gaussian 16开始都支持了。MN15提出的目的是对过渡金属和主族可以描述得比较均衡,但是算主族比M06-2X没优势,算含过渡金属的体系有时不错有时一般(和体系关系很大),实际用处较有限。MN15L的提出意图是取代M06L的地位,但也没太实质性的进步。

wB97XD提出后,其中作者之一蔡政达又提出了wB97X-D3,把色散校正从DFT-D2改成了DFT-D3,也改了些其它参数。wB97X-D3的精度比wB97XD整体有所改善,包括热化学、弱相互作用等方面,只要程序能支持wB97X-D3(ORCA支持,但Gaussian不支持),那么前面说的wB97XD都建议改为wB97X-D3。

2016年提出的wB97M-V基本上是所有非双杂化泛函里算基态能量方面问题的平均精度最高的,比双杂化泛函里排名靠后的那些如B2PLYP精度还更高。虽然wB97M-V在参数化过程中主要考虑的是主族,但很多文章测试发现它对于含过渡金属的体系的表现也很好。但此泛函只有ORCA、Q-Chem等极少数程序支持,而最主流的Gaussian(截止到G16 C.02)尚不支持。ORCA挺好用,如果你肯用的话,那么在普通泛函的范畴里,很建议你计算能量的时候用wB97M-V,尽管它的耗时比B3LYP明显要高。不过如果你在ORCA里利用RIJCOSX技术加速的话,算较大体系时ORCA里用wB97M-V的耗时比Gaussian里计算B3LYP的耗时都低。注意ORCA从5.0开始虽然已支持了wB97M-V的解析梯度,但不支持解析Hessian,故振动分析极其昂贵。由于做优化之后通常需要做振动分析检验虚频,因此opt freq不建议用wB97M-V而建议用B3LYP-D3(BJ),速度又快结果通常又不错,容易收敛,还不容易有虚频(需要注意B3LYP局限性,看《谈谈量子化学研究中什么时候用B3LYP泛函优化几何结构是适当的》http://sobereva.com/557,很多情况用wB97XD会好得多)。wB97M-V至少在ORCA里有个问题就是SCF收敛难度往往较大,有时我发现改用比wB97M-V更早提出的wB97X-V更容易SCF收敛。wB97X-V各方面特征和wB97M-V相近,虽然整体精度稍逊一点(不过仍远好于更老的wB97XD),但在计算过渡金属体系上根据有的文章的测试还更好一点。PS:虽然wB97M带DFT-D3(BJ)或DFT-D4校正的版本可以算解析Hessian,但我还发现ORCA(至少是5.0)里wB97M-D3(BJ)或wB97M-D4做振动分析时候CPSCF往往很难收敛,而wB97X带色散校正的版本都没这个问题。故总的来说wB97M开头的泛函我建议只在算单点时候用,本来这类泛函做opt freq任务比起wB97XD或wB97X-D3也没什么明显优势。

Gaussian官方的Exploring那本书的第3版里从头到尾几乎都用APFD泛函,令初学者以为APFD万能,这真是超级坑爹!在诸多泛函的测试文章里,APFD无一例外表现都极其平庸,比B3LYP-D3(BJ)没有什么优势,目前文献里也极少有人用APFD,这是个绝对冷门泛函。如果你也用这个泛函,到时候审稿人问你为什么要用这个,你就傻眼了,根本找不到什么像样的文章能支持你用这个泛函。所以大家切勿被那本书误导!(那本书里错误太多了,初学者看了那本书可真是会被害惨。量子化学的学习正途见《谈谈学量子化学如何正确地入门》http://sobereva.com/355)。


5 DFT计算的几个经验和相关问题

下面我提及一些其它和方法选择有关的问题和实际计算经验方面的内容。

经常有人问算A问题和B问题用的泛函不相同能不能行。关于这点,我专门写过一篇博文,没看过者强烈建议一看:《量子化学研究中切换泛函应当注意的问题》(http://sobereva.com/415)。

如果是比较大的有机体系,特别是体系很柔的情况,虽然用算有机体系常用的M06-2X做优化的结果是挺好的,但是由于其本身泛函形式复杂而耗时比B3LYP高,再加上有时候需要用很高质量积分格点才能解决其几何优化难收敛、有细小虚频之类麻烦事,所以从实际角度,我明显更推荐用B3LYP-D3(BJ)做优化和振动分析,这样又便宜又好。而能量计算精度明显更好的M06-2X一般我建议只在计算能量的时候再用。关于什么时候很适合用B3LYP优化结构而什么时候不能用,我专门写过一篇很详细的文章进行讨论,见《谈谈量子化学研究中什么时候用B3LYP泛函优化几何结构是适当的》(http://sobereva.com/557),非常建议一看。

一般来说,除非研究的体系很小,否则一般都是建议用普通泛函做几何优化和振动分析,而算能量的时候才用双杂化泛函。双杂化泛函做优化,尤其是振动分析非常昂贵。优化和振动分析对计算级别的敏感度远低于能量计算,见《浅谈为什么优化和振动分析不需要用大基组》(http://sobereva.com/387),因此双杂化泛函比普通泛函在优化和振动分析方面的整体优势远低于算能量方面的优势。

如果你是Gaussian用户,希望改用ORCA来以显著更低的耗时达到相似的精度,或者以相仿佛的耗时达到明显更高精度,强烈建议读者看一下此文里面对ORCA中推荐使用的计算级别的详细介绍:《详谈Multiwfn产生ORCA量子化学程序的输入文件的功能》(http://sobereva.com/490),用上ORCA后你会打开新世界的大门。ORCA的安装见《量子化学程序ORCA的安装方法》(http://sobereva.com/451)。更多与ORCA有关的文章见http://sobereva.com右侧的ORCA分类。笔者在北京科音高级量子化学培训班(http://www.keinsci.com/workshop/KAQC_content.html)里对ORCA有全面详细的讲解、给了大量例子,可以快速上手并用得游刃有余,很推荐参加。

做双杂化泛函单点计算或优化任务时,尤其强烈建议用ORCA,因为ORCA利用RI技术,算双杂化泛函能量的耗时和内存/硬盘使用量远远低于Gaussian。有个性能较好的双路服务器的话,比如笔者的Intel 36核机子,ORCA开RI时用双杂化泛函结合def2-TZVPP算六十多个原子的有机体系六分钟左右就能完成,临时文件也就占3GB,而使用Gaussian则需要三个小时左右,rwf文件最多能占1TB硬盘(但可以用maxdisk关键词事先指定硬盘空余空间来避免实际占用那么多)。这样的级别用ORCA算两百个以内原子的有机体系都能应付得了,结合def2-QZVPP的话算一百个以内原子的体系也没问题,而用Gaussian是绝对不可能算得动的。更多信息看此文的对比测试:《大体系弱相互作用计算的解决之道》(http://sobereva.com/214)。

如果你要计算的体系含有几百个非氢原子,而且体系较为接近球形,最典型的就是很大的原子团簇、从晶体结构里抠出来的簇模型等,用CP2K是效率最高的选择,比ORCA还要快得多得多,普通双路服务器上对上千原子算单点能也完全不是难事(对于纯泛函甚至能算得动几千原子)。因为CP2K利用平面波作为辅助基,算这样体系的库仑作用耗时远低于量子化学程序。CP2K完全免费、功能强大,结合Multiwfn使用很容易上手,通过北京科音CP2K第一性原理计算培训班(http://www.keinsci.com/workshop/KFP_content.html)可以迅速掌握。

 

6 关于CCSD(T)

如果你想得到比双杂化泛函再高一个档次的结果,通常就是使用CCSD(T)。注意CCSD(T)不是什么情况都是非常理想的,碰到静态相关很强的情况结果并不令人满意,需要用多参考方法,诸如NEVPT2乃至更高级的MRCI。用CCSD(T)时通常是cc-pVTZ起步(起码不能低于def2-TZVP),此级别已经很昂贵了,对于没有对称性的有机体系来说,哪怕是用很好的服务器,一般最多也就能算得动不超过30个原子的体系。想算到更大的体系需要用低标度耦合簇方法,主流的是ORCA支持的DLPNO-CCSD(T),结合tightPNO选项用cc-pVTZ的话对于>70个原子也照样算得动(比如笔者36核机子算66个原子有机体系花了8个多小时,最多占耗硬盘117GB),而且精度和原版CCSD(T)差异甚微。在北京科音高级量子化学培训班(http://www.keinsci.com/workshop/KAQC_content.html)里专门有一节“低标度耦合簇方法”对此类方法做了全面讲解和示例。

对于CCSD(T)这样很高档次方法而言,从cc-pVTZ/def2-TZVPP进一步提升到cc-pVQZ/def2-QZVPP也对结果有不可忽视的改进,但CCSD(T)结合QZ档次基组耗时更是巨高,有两个降低耗时的策略:
(1)用显式相关F12计算。用CCSD(T)-F12结合cc-pVDZ-F12基组就能达到CCSD(T)/cc-pVQZ的精度而耗时低得多得多。北京科音高级量子化学培训班(http://www.keinsci.com/workshop/KAQC_content.html)里专门有一节“显式相关计算”对这种方法做了全面深入的讲解并给出了在ORCA中使用的示例。
(2)借助MP2来降低耗时。即CCSD(T)/cc-pVDZ(或TZ)加上MP2计算的cc-pVQZ相对于cc-pVDZ(或TZ)对电子相关能的改进量。这种做法很常用,但没有上一种做法优雅、稳健,《各种后HF方法精度简单横测》(http://sobereva.com/378)的第5节给了个例子。


7 不要用HF和MP2!

我不得不提一下Hartree-Fock (HF)。居然这年头,在网上答疑时,还时常看到初学者居然使用HF来做计算!用HF在现在来看完全就是在搞笑!这些初学者多半是被一些特别过时,或者作者水平很低劣的文章或书籍给严重误导。除非泛函选用得超级烂,否则DFT的结果绝对比HF强得多!而在Gaussian里,用普通泛函做DFT只比HF贵一点点而已,显然如今没有任何理由用HF。审稿人只要稍微有一丁点最基本的理论计算常识,几乎都不可能让使用HF计算的文章发表。自从DFT兴起之后,特别是90年代初B3LYP提出并立刻流行后,HF根本就无任何用武之地了。而且利用RIJ技术,纯泛函的耗时比HF还能更低,从计算耗时层面上也完全没有用HF的理由。

还有些初学者居然还用MP2,并且自我感觉良好,在这里也猛烈批评一下。MP2计算耗时显著高于普通泛函,尤其是对于大体系、较大的基组来说,而对于需要计算能量导数的情况耗时更是贼高,还特别耗内存、硬盘。随便选个稍微靠谱的泛函,结果都不比MP2差,如果泛函选好了,结果精度更是吊打MP2,这在《各种后HF方法精度简单横测》(http://sobereva.com/378)就已经清楚地体现出来。而且,双杂化泛函的耗时和MP2是同一档次,精度更是远远甩开MP2几条街。因此,这年头用MP2完全是是费力不讨好,耗时又高精度又烂,很容易糟有经验的审稿人和同行吐槽、批评、鄙视,被认为缺乏计算化学常识。对于算开壳层体系、过渡金属体系,MP2表现得更是垃圾。MP2倒也不是一点使用价值也没有,但少得可怜,也就这些:(1)计算氢键键能挺好(但必须结合足够大的基组如jul-cc-pVTZ,而且比起revDSD-PBEP86-D3(BJ)等很好的双杂化泛函并没额外优势) (2)计算NMR、超极化率比现有的各种普通泛函通常都要好(但双杂化泛函里有能超过MP2的) (3)可以借助MP2的数据以比较便宜的方式估算CCSD(T)/大基组的能量(此做法在前面已提到了)。