用NWChem做SODFT在DFT計算中考慮旋軌耦合效應
1 前言
眾所周知,對重原子構成的體系,尤其是從第五周期開始(H,He算第一周期,下同),需要考慮相對論效應,否則結果可能嚴重錯誤。相對論效應分為標量和旋軌耦合兩部分。標量相對論效應好考慮,用相對論贗勢時即可等效體現,多數主流量化程序如Gaussian也支持標量相對論哈密頓,結合專為標量相對論計算優化的全電子基組即可(見《在贗勢下做波函數分析的一些說明》http://www.shanxitv.org/156)。
比較棘手的是旋軌耦合的考慮,本文只說單個態的旋軌耦合問題。最直接的考慮方式是做二分量相對論計算,但比較耗時,且支持它的ADF、Turbomole都是收費的,而免費的Dirac等程序則比較小眾且功能局限性大。Gaussian里有個DKHSO方法可以在單點計算時考慮旋軌耦合效應,但是只能用于HF,因此沒什么實用性。一種常用的又便宜又好的考慮旋軌耦合的做法是使用相對論贗勢,但不僅要包含我們平時常用的標量勢,還同時要考慮旋軌勢,這種方式做DFT稱為Spin-orbit DFT (SODFT),Molpro、Turbomole、NWChem都支持。本文介紹使用其中免費的NWChem程序做SODFT的方法,并會以TlCl和HgI的解離能計算做為例子。在NWChem中,SODFT有解析梯度,因此能夠容易地優化分子結構,不過Hessian只有數值的(只考慮標量勢的話倒是有解析Hessian)。NWChem的SODFT還一個不足之處是沒法利用對稱性加速計算。
NWChem的安裝方法看此文:《NWChem 6.6編譯方法》(http://www.shanxitv.org/270)。本文使用NWChem 6.6版。
2 SODFT計算時贗勢和贗勢基組的選擇
贗勢包括標量勢、旋軌勢和核極化勢。標量勢部分是我們最常使用的,所有相對論贗勢都提供了標量勢,但不是所有贗勢都給出了旋軌勢。給出了旋軌勢的贗勢比較常見的有Stuttgart贗勢和CRENB贗勢,對周期表覆蓋得都比較全面。后者很老,精度也不比前者好,所以本文將會用前者。Stuttgart贗勢也分多種,包括HF系列(贗勢不體現相對論效應),WB系列(基于Wood-Boring準相對論計算的數據搞的)和DF系列(基于Dirac-Fock全相對論計算的數據搞的),我們一般都用M版(擬合贗勢時考慮多個價電子),如MDF。
除贗勢外還要考慮贗勢基組。基于Stuttgart贗勢的常用的幾種選擇有:
1 Stuttgart贗勢的標配基組。缺點是對于大多數元素,不像下面幾種給出了不同檔次基組的定義,選擇余地小。
2 cc-pVnZ-PP系列:結合的是Stuttgart小核MDF贗勢
3 def2系列:從第五周期開始是贗勢基組,結合的是Stuttgart小核贗勢,對s、d、鑭系元素用的是MWB,對p元素用的是MDF
4 dhf系列:和def2都是Weigend主要搞的,只定義了五、六周期的s和d族元素,p族元素和def2定義相同。此系列分為dhf和dhf-2c兩種,前者主要用于做一分量計算(即常規的贗勢下的計算),把def2對s、d元素用的標量勢從MWB改為MDF并重新調整了贗勢基組定義,由此使結果略好了一點點;后者在前者基礎上增加了額外的p,d基函數,使得帶著旋軌勢做計算時結果更好
以上贗勢基組中,做SODFT時能用dhf-2c就用dhf-2c,畢竟是給此目的專門優化的。對于本文要考察的元素,Tl、Hg、I都可以用dhf-2c,我們用其中TZVP級別的就夠了,即dhf-TZVP-2c。雖然也有更好的dhf-QZVP-2c,但對于DFT計算升到QZ級別意義并不大。對于Cl,由于相對比較輕,其引起的旋軌耦合效應不會給結果帶來明顯影響,所以我們不對它用贗勢,而對它用def2-TZVP全電子基組。
3 計算TlCl
本文我們要嘗試重復下面圖中的TlCl和HgI的數據,數據來自Theor. Chem. Acc., 130, 633-644 (2011)。圖中BDE是鍵解離能,單位是kcal/mol。鍵解離能的計算是用解離后的原子的焓減去分子的焓。圖中BDE下面的列是文中只考慮標量相對論的計算結果,BDE+SO是考慮旋軌耦合后的。

我們先算TlCl。由于文中用的是PBE0,所以我們也用PBE0,此泛函對這類體系是比較合適的。我們用的鍵長直接取實驗值,大量雙原子分子的實驗平衡距離可以在NIST網站http://webbook.nist.gov/chemistry/上很容易地查到,注意勾選Constants of diatomic molecules,之后數據頁面里r_e就是平衡距離了,對此分子是2.484826埃。
首先我們得獲取贗勢和贗勢基組定義。def2和dhf系列在Turbomole基組庫http://www.cosmologic-services.de/basis-sets/basissets.php里是最全的(EMSL上的不僅不全,而且沒有旋軌勢)。在此網站里面選上Tl,然后選dhf-TZVP-2c,輸出格式就用默認的Turbomole(沒直接提供NWChem的比較可惜)。給出的數據包括基組部分、標量勢部分和旋軌勢部分。
PS1:值得一提的是,當選擇dhf-TZVP-2c的時候,對于非第五、六周期的元素,自動給出的是def2對應檔次基組的定義
PS2:此網站輸出格式里只有選Turbomole或Molpro這兩種支持旋軌勢的程序時輸出內容才有旋軌勢,我們這里不選Molpro是因為沒有Turbomole的格式那么容易手動改成NWChem的格式
然后我們把Turbomole格式的基組、標量勢和旋軌勢的定義都改成NWChem的格式,不知道NWChem的格式怎么寫就RTFM。一個較大區別是Turbomole里把收縮系數放在第一列,指數放在最后一列,和NWChem的順序是反過來的。最終TlCl的SODFT任務的輸入文件如下
start
PRINT low
geometry noautosym
Tl 0.00000 0.00000 0.00000
Cl 0.00000 0.00000 2.484826
end
basis "ao basis" spherical
Cl library def2-TZVP
Tl s
729.65038145 0.13672829828E-03
46.665548707 0.60443439951E-02
20.970448726 -0.20022066697
14.149588677 0.40801678488
Tl s
20.730134285 -0.71861135918E-01
6.1527631309 0.98057508445
Tl s
1.5757324480 1.0000000000
Tl s
0.74980169458 1.0000000000
Tl s
0.19536816194 1.0000000000
Tl s
0.70878767298E-01 1.0000000000
Tl p
15.383852616 0.61717949180
14.814929544 -0.72859235151
6.7261253658 0.40438195364
Tl p
1.9626182149 0.43157661160
1.0331857851 0.39230403853
0.53837445996 0.14007406820
Tl p
0.24446611676 1.0000000000
Tl p
0.90785377260E-01 1.0000000000
Tl p
0.33401321498E-01 1.0000000000
Tl d
57.606819928 0.16054811114E-03
9.7368866667 0.24456562496E-01
6.9256201679 -0.69914775031E-01
2.1396230731 0.19496269490
1.0836187110 0.29731629705
0.52356298209 0.23728708102
Tl d
0.23842309375 1.0000000000
Tl d
0.95000000000E-01 1.0000000000
Tl f
0.28435 1.0000000000
Tl f
0.95 1.0000000000
Tl p
32.0 -0.0005
16.0 -1.0
Tl p
8.0 -1.0125
4.0 0.7450
Tl p
2.0 1.0
Tl d
3.0 1.0
END
ECP
Tl nelec 60
Tl ul
2 1.00000000 0.00000000
Tl s
2 12.16780500 281.28466300
2 8.29490900 62.43425100
Tl p
2 7.15149200 4.63340800
2 5.17286500 9.34175600
2 9.89107200 72.29925300
2 9.00339100 144.55803700
Tl d
2 7.13021800 35.94303900
2 6.92690600 53.90959300
2 5.41757000 10.38193900
2 5.13868100 15.58382200
Tl f
2 5.62639900 15.82548800
2 5.54895200 21.10402100
2 2.87494600 2.91512700
2 2.82145100 3.89690300
Tl g
2 6.67905700 -7.49453400
2 6.70683500 -9.54057500
2 7.20928400 -7.79799200
2 7.07096400 -9.25952400
END
SO
Tl p
2 7.151492 -9.266817
2 5.172865 9.341756
2 9.891072 -144.598506
2 9.003391 144.558037
Tl d
2 7.130218 -35.943039
2 6.926906 35.939729
2 5.417570 -10.381939
2 5.138681 10.389215
Tl f
2 5.626399 -10.550326
2 5.548952 10.552010
2 2.874946 -1.943418
2 2.821451 1.948451
Tl g
2 6.679057 3.747267
2 6.706835 -3.816230
2 7.209284 3.898996
2 7.070964 -3.703809
END
dft
xc pbe0
end
task sodft
輸入文件還是很容易理解的,照常定義基組部分,ECP段落指定標量勢部分,SO字段指定旋軌勢部分,最后task里寫上SODFT就行了。noautosym寫不寫無所謂,由于SODFT不支持對稱性,不寫它時程序也不會利用對稱性來加速。
然后我們運行此任務,輸出文件里這部分即是SODFT能量:
Total DFT energy = -632.863447528456
在筆者的Intel 4核i7-2630QM機子下,做這個計算耗時是20.8s,若只考慮標量勢是10.8s,可見考慮旋軌勢還是會增加不少耗時,不過一般完全承受得起,總比做二分量相對論計算來考慮旋軌耦合效應便宜得多。
之后我們把TlCl的文件分別改寫為Tl和Cl的文件,二者都是二重態,所以在dft字段里面要寫上mult 2。算出的結果是Tl=-172.724034492809,Cl=-459.997396831618。因此基于單點能算的鍵解離能是627.51*(-459.997396831618-172.724034492809+632.863447528456)=89.116 kcal/mol。
到此還沒完,我們還得計算焓的熱校正量對解離能的修正。我們就不用SODFT算頻率了,就直接在Gaussian里用# PBE1PBE/def2TZVP opt freq scale=0.982關鍵詞對TlCl優化和做振動分析就完了,這里0.982是ZPE校正因子(為了省事我們不單獨考慮升溫對焓影響那部分的校正因子)。實際上我們查不到PBE0/def2-TZVP級別的校正因子,但由于J. Phys. Chem. A, 111, 11683 (2007)中給出PBE0結合6-311+G(2df,p)這樣不錯級別基組的校正因子是0.9824,所以有理由認為0.982對于PBE0結合def2-TZVP是基本合適的。計算后得到的焓的熱校正量輸出為
Thermal correction to Enthalpy= 0.004388
對于Tl和Cl沒必要做振動分析,因為單個原子只有平動對焓有貢獻,且是精確已知的,即5/2*RT,常溫下對應0.002360 Hartree。所以常溫下焓的熱校正量對TlCl鍵解離能的貢獻可以計算為627.51*(0.002360+0.002360-0.004388)=0.208 kcal/mol。
最后,得到TlCl的常溫下鍵解離能是89.116+0.208=89.324 kcal/mol,這和前面貼出來的實驗值88.1 kcal/mol相符極好!(對普通DFT泛函來說能達到1kcal/mol程度誤差著實難能可貴)
4 計算HgI
HgI是二重態,解離后會生成單重態的Hg和二重態的I。HgI的鍵長在NIST上查不到,雖然某些文獻里估計能查到,但這里不深究,就直接用PBE0/def2-TZVP級別來優化鍵長,之后再做單點計算。優化后鍵長是2.75663埃。(當然,若要求更精確,可以直接用SODFT優化。筆者也試了下,i7-2630QM上耗時336s,結果是2.76379埃。可見對此體系是否考慮旋軌耦合對結構影響很小,對TlCl測試過也是如此)。
我們使用上一節的方式,獲取Hg和I的dhf-TZVP-2c贗勢基組定義以及對應的標量勢和旋軌勢,寫成HgI的PBE0的SODFT任務的單點輸入文件,如下所示:
start
PRINT low
geometry noautosym
Hg 0.00000 0.00000 0.00000
I 0.00000 0.00000 2.75663
end
basis "ao basis" spherical
I s
5899.5791533 0.24188269271E-03
898.54238765 0.15474041742E-02
200.37237912 0.42836684457E-02
31.418053840 -0.39417936275E-01
15.645987838 0.96086691992
I s
11.815741857 0.57815778954
6.4614458287 0.37374293124
I s
2.3838067579 1.0000000000
I s
1.1712089662 1.0000000000
I s
0.32115875757 1.0000000000
I s
0.12387919364 1.0000000000
I p
185.43362455 0.83127824000E-03
20.091408146 0.63991653000E-01
9.7577022390 -0.27791138000
I p
13.068307912 -0.49793790382E-01
3.5818714205 0.38212490511
2.0282441852 0.70447564804
1.0181492146 0.33781067803
I p
0.46673773115 1.0000000000
I p
0.19242597960 1.0000000000
I p
0.74508878495E-01 1.0000000000
I d
124.20341062 0.65671747209E-03
34.587311801 0.51648185674E-02
12.767328064 -0.19881371307E-01
4.7745100133 0.21386794109
2.4582209028 0.43405444707
1.1923708147 0.37850637882
I d
0.52883971906 1.0000000000
I d
0.17008164307 1.0000000000
I f
0.44141808 1.00000000
I f
2.18 1.0000000000
I p
12.0 -0.3
6.0 1.0
I d
2.0 1.0
Hg s
48.013786990 0.58613168385E-02
21.239875095 -0.17590367988
15.876100879 0.35780354753
Hg s
5.4837607070 1.0000000000
Hg s
1.5480592128 1.0000000000
Hg s
0.72425230437 1.0000000000
Hg s
0.16369906863 1.0000000000
Hg s
0.57211615334E-01 1.0000000000
Hg p
23.291760168 -0.83564430982E-02
13.028969569 0.83703058587E-01
6.5100040792 -0.31023833705
Hg p
1.8167935815 1.0000000000
Hg p
0.90079391013 1.0000000000
Hg p
0.41304090835 1.0000000000
Hg p
0.11845879331 1.0000000000
Hg p
0.36084184656E-01 1.0000000000
Hg d
15.176302343 0.60654575178E-02
6.7004896493 -0.59880306300E-01
1.9144256118 0.31411145584
0.88641552102 0.45081091161
Hg d
0.38364767725 1.0000000000
Hg d
0.14936891490 1.0000000000
Hg f
0.79569 1.0
Hg p
19.3582 0.0635
8.7992 -0.4607
Hg p
3.9996 0.8853
Hg d
2.7000000000 1.0000000000
END
ECP
I nelec 28
I ul
2 1.000000 0.000000
I s
2 40.033376 49.989649
2 17.300576 281.006556
2 8.851720 61.416739
I p
2 15.720141 67.416239
2 15.208222 134.807696
2 8.294186 14.566548
2 7.753949 28.968422
I d
2 13.817751 35.538756
2 13.587805 53.339759
2 6.947630 9.716466
2 6.960099 14.977500
I f
2 18.522950 -20.176618
2 18.251035 -26.088077
2 7.557901 -0.220434
2 7.597404 -0.221646
Hg nelec 60
Hg ul
2 1.0000000 0.0000000
Hg s
2 12.4130710 275.7747970
2 6.8979130 49.2678980
Hg p
2 11.3103200 80.5069840
2 10.2107730 161.0348240
2 5.9398040 9.0834160
2 5.0197550 18.3677730
Hg d
2 8.4078950 51.1372560
2 8.2140860 76.7074590
2 4.0126120 6.5618210
2 3.7953980 9.8180700
Hg f
2 3.2731060 9.4290010
2 3.2083210 12.4948560
Hg g
2 4.4852960 -6.3384140
2 4.5132000 -8.0998630
END
SO
I p
2 15.720141 -134.832478
2 15.208222 134.807696
2 8.294186 -29.133096
2 7.753949 28.968422
I d
2 13.817751 -35.538756
2 13.587805 35.559839
2 6.947630 -9.716466
2 6.960099 9.985000
I f
2 18.522950 13.451079
2 18.251035 -13.044039
2 7.557901 0.146956
2 7.597404 -0.110823
Hg p
2 11.31032000 -161.01396700
2 10.21077300 161.03482400
2 5.93980400 -18.16683200
2 5.01975500 18.36777300
Hg d
2 8.40789500 -51.13725600
2 8.21408600 51.13830600
2 4.01261200 -6.56182100
2 3.79539800 6.54538000
Hg f
2 3.27310600 -6.28600100
2 3.20832100 6.24742800
Hg g
2 4.48529600 3.16920700
2 4.51320000 -3.23994500
END
dft
mult 2
xc pbe0
end
task sodft
之后稍作修改,得到Hg和I的PBE0-SODFT任務輸入文件。計算后將能量求差,得到基于電子能量的BDE:
627.51*(-295.746562477964-153.684090186717+449.448365018831)=11.115 kcal/mol
如前面的圖所示,HgI的解離能的三個不同來源的實驗值為7.8、8.1、8.9 kcal/mol,當前算的和哪個都想差甚遠,因此PBE0對此體系不夠給力。對這種情況,我們可以在DFT級別計算出旋軌耦合對BDE的校正,然后加到CCSD(T)/def2-QZVP這樣只考慮標量相對論的高計算級別得到的解離能上。為此,我們把上面用的HgI、Hg、I輸入文件里的sodft改成dft(之后SO段落可以刪掉,不刪也無所謂),這樣計算就只利用標量勢部分了,旋軌耦合效應就不考慮了。結果為
627.51*(-295.697077663054-153.500765444841+449.222674994391)=15.582 kcal/mol
因此,旋軌耦合對BDE的校正量為11.115-15.582=-4.467 kcal/mol。
在CCSD(T)/def2QZVP級別算的HgI解離過程的電子能量變化:
627.51*(-153.2231386-297.2662532+450.5085777)=12.039 kcal/mol
用Gaussian在PBE0/def2-TZVP下做振動分析,得到常溫下焓的熱校正量對HgI鍵解離能的貢獻:
627.51*(0.002360+0.002360-0.004277)=0.278 kcal/mol
put together,得到HgI的常溫下的BDE:
12.039-4.467+0.278 = 7.85 kcal/mol
可見結果和實驗符合得極好!
5 SODFT方式計算BDE總結
前面HgI的例子很有代表性,說明想準確計算重原子的鍵解離能,最簡單省事的過程就是:
1 用較合適的泛函,在def2-TZVP或相似級別的結合相對論贗勢的贗勢基組(如cc-pVTZ-PP,但不劃算)下進行優化和做振動分析,得到焓的熱校正量對BDE的影響。注意應考慮ZPE校正因子
2 用較合適的泛函,在1的結構下用dhf-TZVP-2c贗勢基組與配套的MDF標量勢+旋軌勢做SODFT計算,再去掉旋軌勢做普通DFT計算,利用差值得到旋軌耦合對BDE的影響
3 基于1的結構,在盡可能高的級別下計算考慮了標量相對論效應的單點,由此得到基于電子能量算的BDE。體系很小時計算級別一般用CCSD(T)結合def2-QZVP或cc-pVQZ-PP贗勢基組,贗勢只考慮標量勢部分。可以把結果再外推到CBS。
最后把1、2、3相加,就得到了特定溫度下的鍵解離能。
上面說的是體系只含第五、六周期s,d,p族元素的情況。對于體系存在其它元素時,筆者認為應當這樣考慮:
對前三周期的元素,就用全電子基組就行,不需要考慮相對論效應。
對第四周期元素,考慮相對論效應有益。分為兩種情況:
(a)Cu之前的:Stuttgart贗勢沒有給出這些元素的旋軌勢,cc-pVnZ-PP也沒有給出這些元素的定義,def2對這些還是全電子基組。要考慮相對論效應就用Stuttgart贗勢結合其標配贗勢基組就完了。非要也考慮旋軌耦合那就用CRENB標量勢+旋軌勢結合CRENBL贗勢基組吧。
(b)Cu~Kr:用cc-pVnZ-PP贗勢基組,結合對應的MDF標量勢和旋軌勢。從EMSL上取cc-pVnZ-PP定義的時候贗勢部分只有標量勢部分,旋軌勢得從Stuttgart贗勢的官網http://www.tc.uni-koeln.de/PP/clickpse.en.html上自行取,輸出格式必須選molpro,要選小核的MDF版本(比如Br要選ECP10MDF)。輸出的贗勢里前幾行是標量勢(和EMSL上cc-pVnZ-PP直接帶的一致),后幾行是旋軌勢。
對于鑭系、錒系及一些第七周期的元素,就用Stuttgart贗勢官網上小核標量勢+旋軌勢結合標配的贗勢基組。情況較復雜。有的有MWB有的有MDF有的都有(優先用后者),有的有旋軌勢有的沒有旋軌勢(沒有的話就沒轍了)。
另外,上面說的第1步的優化+振動分析,如果求準確,可直接用SODFT來做,但是由于SODFT只有半數值頻率,體系稍大一點就會極為吃力。對于第3步高精度的考慮標量相對論的單點,不是必須用相對論贗勢,用高質量全電子基組并使用較好的標量相對論哈密頓(LUT-IOTC、DKH3等)也可以,只不過耗時會高不少而且精度也未必更好。