• 詳談Multiwfn產生ORCA量子化學程序的輸入文件的功能

    注:本文內容對應的總是目前Multiwfn官網上最新的版本,不要用老版本Multiwfn


    詳談Multiwfn產生ORCA量子化學程序的輸入文件的功能

    文/Sobereva@北京科音

    First release: 2019-Jun-23  Last update: 2022-Apr-26


    1 簡介

    ORCA量子化學程序如今的用戶越來越多,用戶數僅次于Gaussian(雖然還有一個數量級的差距),不僅免費,而且有很多Gaussian遠不能及的優點,支持很多Gaussian不支持的重要方法,并且由于充分利用了RI技術,使得DFT、TDDFT的效率極高,這點在《大體系弱相互作用計算的解決之道》(http://www.shanxitv.org/214)、《使用ORCA在TDDFT下計算旋軌耦合矩陣元和繪制旋軌耦合校正的UV-Vis光譜》(http://www.shanxitv.org/462)我都已經說過。ORCA的獲取和安裝方法見http://www.shanxitv.org/451

    波函數分析程序Multiwfn可以產生ORCA常見任務的輸入文件。這個功能并不復雜,但是實用性極高。產生的關鍵詞對于ORCA >=4.1版都是合適的,之后ORCA的關鍵詞用法若有變動,最新版Multiwfn里也會同步更新。最新版Multiwfn可以從主頁http://www.shanxitv.org/multiwfn免費獲取。

    Multiwfn的這個功能并不是那種類似GaussView產生Gaussian輸入文件的界面那樣可以充分指定各種各樣的選項,我覺得這種創建輸入文件的工具對于ORCA用戶而言并沒什么實際意義。實際上有很大一批人用ORCA只是沖著ORCA的那些長處、特色功能去的,特別常用的任務類型就那么些,他們沒精力也不需要把ORCA的所有細節都摸清楚。Multiwfn的這個產生ORCA輸入文件的功能更像是把當前載入的體系的坐標套入特定類型任務的關鍵詞模板里,之后用戶只需把內存使用量、核數等參數簡單地改一下,馬上就可以跑,這顯著拉低了ORCA的使用門檻,也使得ORCA用起來方便不少。另外,ORCA很多功能的速度之所以遠勝于Gaussian關鍵是靠著RI,然而如何正確地在ORCA里使用RI,給初學者可能三言兩語說不明白,而使用Multiwfn產生的ORCA輸入文件中與RI相關的設定總是最恰當的,使得初學者也可以輕松享受ORCA帶來的巨大優越。

    如果你的研究中使用了Multiwfn創建了ORCA輸入文件并給你帶來了便利,希望在寫文章的時候提及諸如The input files of ORCA program were prepared with the help of Multiwfn code并引用Multiwfn原文,這是對Multiwfn此功能開發最好的支持。


    2 產生ORCA輸入文件的界面

    可以用任意Multiwfn支持的含有結構信息的文件作為Multiwfn的這個功能的輸入文件,比如fch、molden、wfn、mol、mol2、pdb、xyz、gjf等。然后進入主功能100的子功能2中的選項12(更快速進入的方法是在主菜單里直接輸入oi),輸入要產生的ORCA輸入文件的文件名,之后就會看到以下界面。注意隨著Multiwfn的版本更新,這個界面也可能會有所變化,屆時筆者也會相應地更新本文。

    -100 Use template input file provided by user to generate new input file
    -11 Choose ORCA version compatibility, current: >ORCA 5.0
    -10 Set computational resources, core:   8 memory/core:  1000 MB
    -2 Toggle adding diffuse functions, current: No
    -1 Toggle employing implicit solvation model, current: No
    0 Select task, current: Single point
    1 B97-3c      1b r2SCAN-3c
    2 RI-BLYP-D3(BJ)/def2-TZVP
    3 RI-B3LYP-D3(BJ)/def2-TZVP(-f)     4 RI-B3LYP-D3(BJ)/def2-TZVP
    5 RI-wB97M-V/def2-TZVP
    6 RI-PWPB95-D3(BJ)/def2-TZVPP       7 RI-PWPB95-D3(BJ)/def2-QZVPP
    6b RI-wB97X-2-D3(BJ)/def2-TZVPP     7b RI-wB97X-2-D3(BJ)/def2-QZVPP
    6c RI-revDSD-PBEP86-D4/def2-TZVPP   7c RI-revDSD-PBEP86-D4/def2-QZVPP
    8 DLPNO-CCSD(T)/cc-pVTZ with normalPNO and RIJK
    9 DLPNO-CCSD(T)/cc-pVTZ with tightPNO and RIJK
    10 CCSD(T)/cc-pVTZ
    11 CCSD(T)-F12/cc-pVDZ-F12 with RI
    12 Approximated CCSD(T)/CBS with help of MP2 (cc-pVTZ->QZ extrapolation)
    13 DLPNO-CCSD(T)/CBS with tightPNO and RIJK (def2-TZVPP->QZVPP extrapolation)
    14 CCSD(T)/CBS (cc-pVTZ->QZ extrapolation)
    20 sTD-DFT based on RI-wB97X-D3/def2-SV(P) orbitals
    21 TDA-DFT RI-PBE0/def2-SV(P) with riints_disk (much faster than 22)
    22 TDDFT RI-PBE0/def2-SV(P)
    23 TDDFT RI-RSX-QIDH/def2-TZVP    231 TDDFT RI-DSD-PBEP86/def2-TZVP
    24 EOM-CCSD/cc-pVTZ                 25 STEOM-DLPNO-CCSD/def2-TZVP

    上述選項里,從1開始都是最常用的ORCA計算級別,20之前的都是基態計算任務,從20開始的都是激發態計算任務,都是序號越大精度越高但耗時也越高。選了之后就會生成ORCA輸入文件,關鍵詞是相應級別計算時最恰當的。之后用戶可以再根據實際需要把輸入文件里的基組、核數(%pal nprocs后面的值)、內存使用量(%maxcore后面的值)改成實際情況。

    由于ORCA不同大版本的情況不同,某些關鍵詞寫法相差甚大,為了兼容性考慮,界面里專門留了個選項-11可以用來切換ORCA版本。默認對應的是最新的ORCA版本。

    選擇計算級別前,可以先用選項0選擇任務類型。默認是單點,也可以選優化極小點、振動分析、優化極小點+振動分析、優化過渡態+振動分析、分子動力學、考慮counterpoise校正算結合能。對于振動分析任務,關鍵詞會自動加上tightSCF來使用更嚴格的SCF收斂限(而對于優化任務ORCA默認就是用tightSCF)。分子動力學任務默認設置對應的是控溫在298.15 K下用0.5 fs步長模擬500步。

    默認不使用溶劑,如果想用SMD溶劑模型表現溶劑環境,可以選擇選項-1,然后輸入溶劑名,之后導出的輸入文件里就帶著溶劑模型關鍵詞了。ORCA直接支持的SMD溶劑名詳見手冊(一搜1-HEXANOL就可以跳到對應的頁)。若在這個選項里輸入c,也可以用CPCM溶劑模型、自定義溶劑。

    如《談談彌散函數和“月份”基組》(http://www.shanxitv.org/119)中所述,很多情況用彌散函數是必須的,比如陰離子體系的單點等。如果你想把基組改成帶彌散函數的版本,就選擇一次選項-2將其狀態切換為Yes。此時cc-pVnZ系列基組都會被改為aug-cc-pVnZ,def2系列基組都會被改為ma-def2系列,不熟悉此基組的話見《給ahlrichs的def2系列基組加彌散的方法》(http://www.shanxitv.org/340)。與此同時,輔助基組也會改成恰當的。對于ma-def2系列,由于沒有標配的輔助基組,所以會自動用autoaux關鍵詞來自動構建。僅B97-3c、r2SCAN-3c和CCSD(T)-F12/cc-pVDZ with RI沒法加彌散函數。

    如果你載入進Multiwfn的文件是比如fch、wfn、molden這樣帶有波函數信息的,那么原本波函數對應的電荷和自旋多重度是多少,則產生的ORCA輸入文件里的值也是多少。如果載入的是諸如xyz、pdb這樣只含有結構信息的文件,那么別忘了需要根據實際情況自己改一下電荷和自旋多重度。

    注意有些方法和任務類型之間不兼容,比如對于ORCA 5.0版而言,PWPB95-D3(BJ)沒有解析梯度而無法直接用于幾何優化任務。也有些方法本身可以用于優化,比如TDDFT,但使用了SMD溶劑模型后就不再支持。這種情況請大家自行手動調整輸入文件里的關鍵詞,比如需要改用數值梯度、數值Hessian的自己分別寫上numgrad、numfreq

    輸入文件里的%maxcore控制ORCA并行計算時每個進程用的內存量(MB)的上限。因此比如你想8核并行,機子有32GB物理內存,若扣除操作系統、后臺任務占的內存,假設剩30GB(約30000MB),那么maxcore不應超過30000/8=3750,但鑒于ORCA計算時進程實際使用的內存量上限往往會超過maxcore,因此為保險起見此時maxcore建議設為3000。計算使用的CPU核數、maxcore設置既可以自己編輯Multiwfn產生的ORCA輸入文件,也可以直接在當前界面里用選項-10修改,默認的核數與Multiwfn的settings.ini里的nthreads參數等同。

    Multiwfn產生的ORCA輸入文件里都帶著noautostart miniprint nopop關鍵詞。ORCA會自動試圖從當前目錄下與當前任務同名的gbw里讀取結構和波函數作為初猜,noautostart代表要求不這樣干。miniprint代表避免輸出一些對普通用戶沒什么意義的中間信息。nopop代表不自動做布居分析,因為ORCA默認做的布居分析的輸出會導致輸出文件的信息量巨大,而這些信息沒太大意義而且格式還不好讀。真想要做布居分析討論電子結構,隨時可以用Multiwfn基于ORCA產生的molden文件來實現,又快又方便信息又容易讀,見《詳談Multiwfn支持的輸入文件類型、產生方法以及相互轉換》(http://www.shanxitv.org/379)以及Multiwfn手冊4.7節的布居分析例子。

    此界面里有個選項-100,選了之后用戶要提供一個ORCA模板文件,其中包含實際計算要用的所有設置,只不過坐標部分寫成[geometry],Multiwfn會將這部分替換為當前體系的坐標來產生ORCA輸入文件。通過這個功能可以完全自定義地創建ORCA輸入文件,還可以通過自寫簡單的腳本實現諸如把一大批xyz文件轉化為帶有特殊關鍵詞的ORCA輸入文件。一個模板文件的例子如下,用來產生DSD-BLYP雙雜化泛函級別的自然軌道(算完后產生的以.mp2nat為后綴的文件可自行改成.gbw后綴,然后就可以用orca_2mkl轉成.molden輸入文件,之后可以載入Multiwfn做波函數分析)。
    ! DSD-BLYP def2-TZVP tightscf miniprint
    %maxcore  6000
    %pal nprocs   10 end
    %mp2
    density relaxed
    NatOrbs true
    end
    * xyz   0   1
    [geometry]
    *


    3 使用Multiwfn產生ORCA輸入文件的簡單例子

    此例我們要用ORCA對甲醇在B97-3c級別下優化,之后用wB97M-V/def2-TZVP算單點,算單點時使用SMD模型表現乙醇環境。

    首先用GaussView(或其它建模程序)畫個甲醇,保存為gjf或mol或mol2或pdb文件,然后載入啟動Multiwfn,載入此文件,依次輸入
    100  //其它功能,Part 1
    2   //導出文件、產生量化程序輸入文件
    12  //產生ORCA輸入文件
    opt.inp   //輸出的文件名
    0  //選擇任務類型
    2  //優化
    1  //B97-3c
    現在當前目錄下出現了opt.inp,恰當設置里面的maxcore和nprocs,然后用ORCA運行之。

    算完后當前目錄下出現了opt.xyz,此為優化后的結構文件,將之載入Multiwfn,依次輸入
    100  //其它功能,Part 1
    2   //導出文件、產生量化程序輸入文件
    12  //產生ORCA輸入文件
    SP.inp   //文件名
    -1  //啟用SMD溶劑模型
    ethanol  //溶劑名
    5  //RI-wB97M-V/def2-TZVP
    然后將當前目錄下得到的SP.inp再次用ORCA運算即可。

    在《Simulating UV-Vis and ECD spectra using ORCA and Multiwfn》(http://www.shanxitv.org/485)一文中,筆者還演示了使用了Multiwfn創建ORCA輸入文件,然后通過ORCA做TDDFT計算,最后用Multiwfn產生電子光譜的全過程。在《基于ORCA量子化學程序對分子做優化、振動分析、觀看紅外光譜、觀看軌道的簡單演示》(https://www.bilibili.com/video/av59599938)視頻中,筆者演示了利用ORCA結合Multiwfn等程序,對有機小分子做一系列最常見的計算任務的基本操作。


    4 計算級別簡介和關鍵詞解讀

    下面解釋一下前述計算級別的特點以及解讀一下相關的關鍵詞,以便于讀者準確地認識這些計算級別的特點、什么時候適合用什么級別、為什么筆者令Multiwfn支持這些級別,以及理解為什么關鍵詞是那樣定義的。

    注意采用的基組沒有一個是Pople系列基組,因為如《談談量子化學中基組的選擇》(http://www.shanxitv.org/336)提到的,這套基組對于較好精度的計算沒有一個是劃算的,而對于便宜的級別,這套基組又沒有標配的給RI用的輔助基組,因此Pople系列基組在ORCA中幾乎是擺設。DFT相關的計算筆者配的都是def2系列,這非常適合DFT,而對于后HF類型計算用的都是Dunning相關一致性基組,但實際上改用檔次相當的def2系列基組也完全可以。

    從ORCA 5.0開始,對于雜化泛函默認就會用RIJCOSX,因此下面關鍵詞里面RIJCOSX對于ORCA >=5.0版做雜化泛函計算其實是多余的,但為了與老版本的兼容性考慮還是留著了。

    4.1 基態計算

    ? B97-3c。關鍵詞:B97-3c
    這是Grimme提出來的一個又便宜又快的組合式方法,用的是純泛函,基組是方法直接內定的,還帶了DFT-D3、SRB校正項。對于主族和過渡金屬體系都適用。在ORCA里的耗時僅略高于RI-BLYP/def2-SVP一點點,但結果肯定整體更好。更詳細介紹見《盤點Grimme迄今對理論化學的貢獻》(http://www.shanxitv.org/388)。我建議使用此方法去優化、計算大體系能量,或者粗略計算小體系用于初步篩選的目的,比如筆者在《gentor:掃描方式做分子構象搜索的便捷工具》(http://bbs.keinsci.com/thread-2388-1-1.html)的實例中就是這樣做的。根據筆者自己的一些研究,用Intel 36核機子用B97-3c在真空下優化一個160原子的弱相互作用顯著的有機體系,用了75步收斂,總共耗時才不到三個小時,比起在Gaussian下用算這種體系常用的B3LYP-D3(BJ)/6-311G*耗時低得多得多。之后在同樣條件下用B97-3c對這個體系做振動分析,耗時三個半小時,也完全可以接受。使用B97-3c時不需要寫與RI相關的關鍵詞和指定輔助基組,因為默認就會用RIJ和恰當的輔助基組加速計算。

    ? r2SCAN-3c。關鍵詞:r2SCAN-3c
    這是B97-3c的后繼者,基于2020年末提出的r2SCAN泛函弄的-3c方法。耗時比之高了百分之幾十,但精度全面提升了不少。因此如果不是特別窮的話,建議總是用r2SCAN-3c代替B97-3c

    ? RI-BLYP-D3(BJ)/def2-TZVP。關鍵詞:BLYP D3 def2-TZVP def2/J
    BLYP泛函平時用得不多,畢竟算有機體系精度遠不如雜化泛函,但是BLYP這樣的純泛函在ORCA下利用RIJ方式加速庫侖部分的計算后(記為RI-BLYP),對于稍大點的體系,速度能比Gaussian快一個數量級以上(振動分析除外)!。因此以BLYP為典型代表的純泛函還是很有存在意義的。關鍵詞里D3代表加上DFT-D3(BJ)色散校正,詳見《DFT-D色散校正的使用》(http://www.shanxitv.org/210)。對于算弱相互作用,根據GMTKN55測試集的測試,BLYP加上DFT-D3(BJ)后,在所有的“純泛函-D3”里是頂尖的。def2-TZVP雖然是一個中等偏上的基組,在Gaussian里算是偏貴的,但是在ORCA里利用RIJ加速后其實挺便宜的。使用RIJ技術加速需要指定輔助基組,關鍵詞中def2/J就代表使用對def2系列基組通用的用于RIJ目的的輔助基組。不需要特意寫RIJ關鍵詞,因為對純泛函默認會使用RIJ。注意BLYP-D3(BJ)/def2-TZVP的耗時比B97-3c稍高,但精度未必比B97-3c好。特別是從ORCA 5.0開始支持了r2SCAN-3c后,RI-BLYP-D3(BJ)/def2-TZVP這個組合其實就沒什么任何使用價值了。

    ? RI-B3LYP-D3(BJ)/def2-TZVP(-f)。關鍵詞:B3LYP D3 def2-TZVP(-f) def2/J RIJCOSX
    由于B3LYP便宜、穩健、被支持廣泛,雖然算熱化學方面的精度已經嚴重落伍,但即便到現在還是被使用得最多的泛函,結合DFT-D色散校正后又令它的生命周期進一步延長,相關信息看《簡談量子化學計算中DFT泛函的選擇》(http://www.shanxitv.org/272)。對于B3LYP這樣的雜化泛函,ORCA里可以用RIJK或RIJCOSX來加速,后者在ORCA里能用的特征更多,而且對于二、三十個原子以上的情況,通常RIJCOSX比RIJK明顯更快,RIJCOSX關鍵詞代表啟用之。def2-TZVP(-f)是在def2-TZVP基組的基礎之上把f極化函數閹割掉的結果,這可以顯著節約時間,而對精度損失不算特別嚴重,此時尺寸與6-311G(2d,p)相仿佛。雜化泛函結合RIJCOSX的耗時顯著高于純泛函結合RIJ,因此RI-B3LYP即便結合def2-TZVP(-f),耗時也比RI-BLYP/def2-TZVP高得多,且速度遠勝于在Gaussian里的計算速度(Gaussian對雜化泛函不支持RI)。對于主族體系各方面計算以及弱相互作用計算而言,B3LYP-D3(BJ)比上述的BLYP-D3(BJ)好是肯定的,因此是否適合使用B3LYP-D3(BJ)應當自行掂量。

    ? RI-B3LYP-D3(BJ)/def2-TZVP。關鍵詞:B3LYP D3 def2-TZVP def2/J RIJCOSX
    同上,只不過基組變成了完整的def2-TZVP

    ? RI-wB97M-V/def2-TZVP。關鍵詞:wB97M-V def2-TZVP def2/J RIJCOSX strongSCF
    根據Phys. Chem. Chem. Phys., 19, 32184 (2017)、Mol. Phys., 115, 2315 (2017)、J. Chem. Theory Comput., 15, 3610 (2019)等測試,ωB97M-V在除了雙雜化泛函以外的泛函中,無論算主族還是含過渡金屬的體系,無論算反應能、勢壘還是弱相互作用,性能都是頂級的,在《簡談量子化學計算中DFT泛函的選擇》我也提到了。雖然從ORCA 5.0開始支持了ωB97M-V的解析梯度,但沒有解析Hessian,因此不便于做振動分析檢驗虛頻情況,所以我不建議用這個泛函做優化,而且本身這個泛函也比B3LYP等更貴一些。另外,眾所周知,幾何優化耗時遠高于單點計算,而幾何優化用的級別可以比單點要低,因為幾何優化結果對計算級別敏感度遠低于能量計算,這點在《淺談為什么優化和振動分析不需要用大基組》(http://www.shanxitv.org/387)專門提了,因此推薦大家用相對便宜的r2SCAN-3c或RI-B3LYP-D3(BJ)/def2-TZVP(-f)來優化結構,最后用RI-wB97M-V/def2-TZVP來算單點。對于ωB97M-V這樣的非雙雜化泛函而言,對于一般問題用def2-TZVP就已經夠用了,要求更高的話也可以考慮def2-QZVPP。如果你要算弱相互作用能的話也推薦用def2-QZVPP,若結合counterpoise校正還能更好一點。由于ORCA的默認的SCF收斂限相對于wB97M-V的精度水平來說過于寬松了些,因此同時用了strongSCF來讓能量收斂到更高精度。

    值得一提的是雖然M06-2X很流行,很適合算主族體系,但在上面只字未提。這是因為M06-2X做幾何優化方面比B3LYP-D3(BJ)優勢并不明顯,而耗時明顯更高,對積分格點要求也高,還更難收斂。雖然M06-2X用于算主族體系的能量很不錯,但是和ωB97M-V比又明顯遜色,在速度上也沒優勢,故M06-2X在當前的ORCA中沒多大用武之地。

    ? RI-PWPB95-D3(BJ)/def2-TZVPP。關鍵詞:PWPB95 D3 def2-TZVPP def2/J def2-TZVPP/C RIJCOSX tightSCF
    PWPB95-D3(BJ)在《簡談量子化學計算中DFT泛函的選擇》中專門說了,是很穩健且精度很好的雙雜化泛函,精度介于ωB97M-V和CCSD(T)檔次之間。當前關鍵詞令PWPB95-D3(BJ)泛函的雜化泛函部分做SCF的過程中通過RIJCOSX加速來降低耗時,而在之后計算類似MP2部分的時候RI來顯著降低耗時(只要用了RIJCOSX關鍵詞,默認就會在MP2部分也用RI),這一步使用def2-TZVPP/C輔助基組。為了讓SCF部分盡量準確從而得到數值層面較準確的PWPB95-D3(BJ)的結果,因此用了tightSCF。筆者用Intel 36核服務器做過測試,對于168個原子的有機體系的單點,這樣的計算級別耗時不到三個小時,耗硬盤也不多,而如果用Gaussian的話根本沒戲,差不多80個原子就封頂了,還特別耗硬盤。對于66個原子的有機體系的單點,ORCA下用這個級別僅需六分鐘就能算完。總的來說,RI-雙雜化/def2-TZVPP用Intel三、四十核的服務器跑200原子以內的單點毫無壓力。另外,如果你希望耗時更低的話,可以手動加上float關鍵詞,代表通過單精度變量而非默認的雙精度變量儲存中間數據,耗時能節約一小半,而且還能省一倍硬盤。

    ? RI-PWPB95-D3(BJ)/def2-QZVPP。關鍵詞:PWPB95 D3 def2-QZVPP def2/J def2-QZVPP/C RIJCOSX tightSCF
    我之前在《談談量子化學中基組的選擇》(http://www.shanxitv.org/336)中說過,后HF、雙雜化泛函對基組的要求顯著高于普通泛函,因此為了充分發揮PWPB95-D3(BJ)的潛力,如果你能接受更大計算量的話,推薦結合def2-QZVPP。對于66個原子的有機體系的單點,在Intel 36核服務器下ORCA下用這個級別用了30分鐘算完。

    ? RI-wB97X-2-D3(BJ)/def2-TZVPP(RI-wB97X-2-D3(BJ)/def2-QZVPP與之類似)
    關鍵詞:wB97X-2 D3 def2-TZVPP def2/J def2-TZVPP/C RIJCOSX tightSCF noautostart nopop
    %method
    D3S6 0.547
    D3A1 3.520
    D3S8 0.0
    D3A2 7.795
    end
    ωB97X-2-D3(BJ)在PCCP, 20, 23175 (2018)的雙雜化泛函橫測當中表現出眾(不過在算分子間弱相互作用的測試上表現一般)。ωB97X-2從ORCA 5.0開始支持,但支持的只是2009年當時提出的原版,其搭配的DFT-D3(BJ)色散校正參數在PCCP, 20, 23175 (2018)的補充材料里才給出,沒有在ORCA里內置。因此Multiwfn產生的輸入文件里如上所示自動用%method ... end字段補充了色散校正參數。

    ? RI-revDSD-PBEP86-D4/def2-TZVPP(RI-revDSD-PBEP86-D4/def2-QZVPP與之類似)
    關鍵詞:D4 def2-TZVPP def2/J def2-TZVPP/C RIJCOSX tightSCF noautostart nopop
    %method
       Exchange X_PBE
       Correlation C_P86
       ScalHFX 0.69
       ScalDFX 0.31
       ScalGGAC 0.4210
       ScalLDAC 0.4210
       ScalMP2C 1.0
       LDAOpt C_VWN5
       D3S6 0.5132
       D3S8 0.0
       D3A1 0.44
       D3A2 3.60
    end
    %mp2
       DoSCS true
       PS 0.5922
       PT 0.0636
    end
    revDSD-PBEP86-D4在計算有機反應能以及弱相互作用能方面在現有的雙雜化泛函里都是頂級的,建議對這類問題使用。

    ? DLPNO-CCSD(T)/cc-pVTZ with normalPNO and RIJK。關鍵詞:DLPNO-CCSD(T) normalPNO RIJK cc-pVTZ cc-pVTZ/JK cc-pVTZ/C tightSCF
    CCSD(T)普遍被認為是計算靜態相關不是特別強的體系的金標準。DLPNO-CCSD(T)是ORCA中的黑科技,是一種對CCSD(T)的數值近似,可以把原本最多只能算得動20多原子的CCSD(T)的方法擴展到好幾十甚至上百原子,精度和耗時通過此方法中的一些閾值參數來控制。ORCA里有LoosePNO、NormalPNO、TightPNO三種標準,越往后越貴,但結果也越接近CCSD(T)。LoosePNO就有點太爛了,不建議用,而NormalPNO較有實用價值。用NormalPNO的時候精度就已經顯著超過PWPB95-D3(BJ)了,相對于CCSD(T)的誤差通常在1kcal/mol以內。DLPNO-CCSD(T)的HF計算部分可以用RIJK方法來加速,這是為什么關鍵詞里寫了RIJK,并且指定了cc-pVTZ/JK輔助基組。cc-pVTZ/C輔助基組是用于DLPNO-CCSD(T)的電子相關部分計算的。

    ? DLPNO-CCSD(T)/cc-pVTZ with tightPNO and RIJK。關鍵詞:DLPNO-CCSD(T) tightPNO RIJK cc-pVTZ cc-pVTZ/JK cc-pVTZ/C tightSCF
    DLPNO-CCSD(T)結合tightPNO的時候,根據J. Chem. Theory Comput., 11, 4054 (2015)的測試(注意此文里有很多在耗時方面的嚴重誤導性說法),與CCSD(T)的誤差在1 kJ/mol的程度,幾乎可認為沒有差別。tightPNO的耗時比NormalPNO通常高幾倍。在筆者的Intel 36核機子上,用當前級別計算66個原子的有機體系耗時約8小時,耗硬盤最多時候為120GB。如果你還想要更好的精度,建議將基組提升至cc-pVQZ,但也會貴非常多。如果不用RIJK,即去掉RIJK cc-pVTZ/JK關鍵詞,精度會有所改進,但對較大的體系,SCF部分的耗時會增加許多。

    ? CCSD(T)/cc-pVTZ。關鍵詞:CCSD(T) cc-pVTZ tightSCF
    這就是原版的CCSD(T)/cc-pVTZ,沒什么好說的。

    注:上述幾個計算級別中,如果有cc-pVTZ不支持的元素,把cc-pVTZ替換為質量差不多的def2-TZVPP。如果提示某些元素沒有對應的輔助基組,把cc-pVTZ cc-pVTZ/JK cc-pVTZ/C替換為def2-TZVPP def2/JK def2-TZVPP/C。

    ? CCSD(T)-F12/cc-pVDZ-F12 with RI。關鍵詞:CCSD(T)-F12/RI cc-pVDZ-F12 cc-pVDZ-F12-CABS cc-pVTZ/C tightSCF
    F12是顯式相關方法,可以結合到CCSD(T)、MP2等方法上。CCSD(T)-F12結合cc-pVDZ-F12基組時,耗時顯著低于CCSD(T)/cc-pVQZ,但精度則與之接近。因此如果你需要CCSD(T)/cc-pVQZ檔次的數據但算得很吃力的話,當前級別是個很好的選擇。計算過程中利用RI可以進一步顯著節約時間,所以寫了/RI。

    ? Approximated CCSD(T)/CBS with help of MP2 (cc-pVTZ->QZ extrapolation)。關鍵詞:ExtrapolateEP2(3/4,cc,MP2) tightSCF
    我在《談談能量的基組外推》(http://www.shanxitv.org/172)中專門介紹過基組外推的概念,這也叫CBS外推,即假定外推到了完備基組極限(CBS)。CCSD(T)檔次下最常用的外推就是基于cc-pVTZ和cc-pVQZ來外推,可以免費地得到更高一個檔次基組的結果,即大約cc-pV5Z的結果,這種計算方式常見于各種高精度小體系的研究文章當中。直接利用CCSD(T)結合cc-pVTZ和cc-pVQZ能量進行外推的話,后者耗時非常高,往往很難承受,因此可以借助MP2來進行“近似的外推”,即利用MP2/cc-pVTZ和QZ先外推出MP2/CBS相關能,然后CCSD(T)/CBS的相關能就近似可以估計為CCSD(T)/cc-pVTZ + MP2/CBS - MP2/cc-pVTZ,這就避免了直接做非常昂貴的CCSD(T)/cc-pVQZ計算了。這個近似精度很好,一般也就帶來0.1 kcal/mol左右程度的誤差,筆者在《各種后HF方法精度簡單橫測》(http://www.shanxitv.org/378)中專門做過測試,有興趣可以看看。ORCA提供了ExtrapolateEP2關鍵詞,可以直接實現上述CCSD(T)結合MP2的CBS外推。

    其實如果將這里的CCSD(T)改為tightPNO的DLPNO-CCSD(T),能以相近的精度算明顯更大體系,但可惜這沒法在目前的ORCA里通過一套關鍵詞直接實現。

    ? DLPNO-CCSD(T)/CBS with tightPNO and RIJK (def2-TZVPP->QZVPP extrapolation)。關鍵詞DLPNO-CCSD(T) tightPNO Extrapolate(3/4,def2) RIJK def2/JK tightSCF
    ? CCSD(T)/CBS (cc-pVTZ->QZ extrapolation)。關鍵詞:CCSD(T) Extrapolate(3/4,cc) tightSCF
    ORCA里可以用Extrapolate關鍵詞對任意后HF方法進行外推,以上兩個級別就用了這點。一個是直接用CCSD(T),算十個原子都已經極度吃力;另一個是便宜得多但結果也糙一些的DLPNO-CCSD(T) with tightPNO,同時為了節約SCF時間而用了RIJK。之所以改用了def2,是因為輔助基組層面的原因。


    4.2 激發態計算

    ? sTD-DFT based on RI-wB97X-D3/def2-SV(P) orbitals
    關鍵詞:wB97X-D3 def2-SV(P) def2/J RIJCOSX
    %tddft
    Mode sTDDFT
    Ethresh 7.0
    PThresh 1e-4
    PTLimit 30
    maxcore 6000
    end
    對于好幾百個原子的很大體系的電子光譜計算,往往要算幾百個態才夠覆蓋感興趣的波長范圍。用wB97X-D3/def2-SV(P)對這樣大小的體系算單點能往往算得動,但是用TDDFT算這么多態往往太困難。此時可以用Grimme提出的sTD-DFT方法,此方法基于DFT計算求解的軌道,通過對TDDFT矩陣元進行高度近似,只需要非常少的計算量就可以算出大量激發態(sTDDFT與TDDFT的耗時關系有點像半經驗方法與DFT的耗時關系)。但代價是精度有所降低,不過對于很大體系的粗放式研究來說夠用了。sTD-DFT功能已被內置于ORCA中,上面的關鍵詞就是先做RI-wB97X-D3/def2-SV(P)單點計算,再基于其軌道做sTD-DFT,可以算出激發能為7 eV以內的所有態(這是一般感興趣的電子光譜能量范圍)。用wB97X-D3泛函是因為根據Phys.Chem.Chem.Phys.,16,14408(2014)的測試,將它結合sTD-DFT來用對于大體系(通常有顯著電子共軛)結果較理想。PThresh和PTLimit用于控制納入考慮的組態函數的范圍,不寫它們的話會考慮所有組態函數,這對于大體系可能耗時較高,當前的PThresh和PTLimit設置可以避免這個問題,對精度的犧牲可忽略不計。注意sTD-DFT目前只能對單個結構做電子激發計算,而不能用于激發態優化、振動分析等目的。

    ? TDA-DFT RI-PBE0/def2-SV(P) with riints_disk
    關鍵詞:PBE0 def2-SV(P) def2/J def2-SVP/C RIJCOSX tightSCF
    %tddft
    nroots 10
    mode riints_disk
    end
    這是用PBE0結合大小與6-31G*差不多的def2-SV(P)做TDDFT計算,并且計算時用了TDA近似(此為ORCA的TDDFT的默認設定)。PBE0是TDDFT計算激發態常用的泛函,但碰見大共軛體系建議改為CAM-B3LYP等,詳見《亂談激發態的計算方法》(http://www.shanxitv.org/265)。def2-SV(P)對于計算中、大體系的電子光譜是很適合的,既不貴,精度也夠用,如果有余力且希望結果更好可把def2-SV(P)改為def2-TZVP(-f),把def2-SVP/C改為def2-TZVP/C。用TDA近似本身其實節約不了多少時間,但此時若結合riints_disk選項來使用基于MO的RI近似,耗時比直接做TDDFT能降低一倍左右,riints_disk需要用戶指定/C輔助基組。注意使用TDA近似后激發能精度不會降低,但振子強度、轉子強度準確性顯著降低,因此不適合之后模擬UV-Vis、ECD光譜的目的。關鍵詞里nroots 10代表計算10個激發態,當然需要根據實際情況進行調節,同Gaussian的TDDFT計算中的nstates,詳見《Gaussian中用TDDFT計算激發態和吸收、熒光、磷光光譜的方法》(http://www.shanxitv.org/314)。用tightSCF是為了降低數值層面的誤差。

    ? TDDFT RI-PBE0/def2-SV(P)
    關鍵詞:PBE0 def2-SV(P) def2/J RIJCOSX tightSCF
    %tddft
    nroots 10
    TDA false
    end
    同上,只不過關閉了TDA近似。這種級別下ORCA能比Gaussian16快一倍甚至更多。這里沒有用riints_disk結合/C輔助基組是因為實測發現此時此做法并不能有效降低耗時。

    ? TDDFT RI-DSD-PBEP86/def2-TZVP
    關鍵詞:DSD-PBEP86 def2-TZVP def2/J def2-TZVP/C RIJCOSX tightSCF
    (用TDDFT RI-RSX-QDIH/def2-TZVP則把上面的DSD-PBEP86改為RSX-QDIH)
    %tddft
    nroots 10
    TDA false
    end
    ORCA是為數不多的支持雙雜化泛函下做TDDFT的程序,此級別精度比普通泛函做TDDFT更高,但代價是耗時也明顯更高。計算時應當同時指定/C輔助基組。根據JCTC (2022) DOI: 10.1021/acs.jctc.1c01307的測試,在ORCA能用的雙雜化泛函中,DSD-PBEP86算局域激發和分子內電荷轉移激發最好,RSX-QDIH是算分子間CT激發的首選,所以Multiwfn給了兩個選項。用上述關鍵詞用對一個47原子的有機體系做TDDFT計算,筆者在Intel 36核機子上用不到20分鐘算完,可見耗時毫不夸張,算稍大一些的體系也能算得動。

    ? EOM-CCSD/cc-pVTZ
    關鍵詞:EOM-CCSD cc-pVTZ tightSCF
    %mdci
    nroots 3
    end
    EOM-CCSD計算激發態的精度算是很不錯了,比TD-雙雜化精度更高,也更穩健和普適,但耗時頗高,而且隨算的態數增加總耗時迅速增加,因此主要適合的是小體系的低階激發態的較高精度的研究。RI在EOM-CCSD計算時派不上用場,和Gaussian相比也沒有顯著優勢。

    ? STEOM-DLPNO-CCSD/def2-TZVP
    關鍵詞:STEOM-DLPNO-CCSD RIJK def2-TZVP def2/JK def2-TZVP/C tightSCF
    %mdci
    nroots 3
    end
    STEOM-CCSD方法的初衷是降低EOM-CCSD的耗時,但不應將STEOM-CCSD視為是EOM-CCSD的近似,而應當視為兩種不同方法。二者精度差不多,STEOM-CCSD對CT激發的結果往往比EOM-CCSD更好。EOM-CCSD明顯算不動的體系STEOM-CCSD照樣算不動,結合像樣的基組時一般頂多也就用于二十多個原子。DLPNO技術與STEOM-CCSD的結合誕生的STEOM-DLPNO-CCSD則可以用于大得多的體系,在def2-TZVP這樣的基組下甚至對超過60個原子的體系也能算(注意特別耗硬盤,沒有好幾個TB的剩余空間就別指望了)。

    久久精品国产99久久香蕉