昨天發的版本,漏掉了一個重要公式,給讀者和作者帶來不便,非常抱歉,今天特別把公式補上重發一次,希望亡羊補牢為時未晚。
前言
DFT(Density Functional Theory,密度泛函理論)是計算材料學中的重要理論,說是基石之一也不為過。三年前的初春我第一次接觸到DFT這個詞,並從國防工業出版社出版的那本著名綠色小冊子入手推開了新世界的大門。那年盛夏,玻色子帶著我在實驗室的地下搭了一臺伺服器,著手做了一些簡單的計算。深冬,我寫了這篇小文做了個總結。三年後再看當時對DFT的理解,不禁譁然失笑。這篇小文理解淺薄,但總歸是敝帚自珍。正好小範邀稿,於是仍厚著臉皮公布出來,請諸君指點!
從解薛丁格方程說起
Schrodinger方程固然是可以解決一切化學問題和大多數物理問題的方程,但是前提是必須得解開它才行。Schrodinger方程中最討厭的是加和項,對於多電子體系(除氫外幾乎全部中槍)這個方程的維度動輒可以達到數十維,比如一個水分子擁有10個電子,其全波函數是30維的。而對於一個蛋白質分子...呵呵噠。為了間接的解開Schrodinger方程,將全波函數化為每個電子波函數乘積的形式——即為Hartree乘積,雖然並沒有什麼可見的實際作用但是至少將方程降維了...當然與此同時,因為交換關聯能的存在,使得每個電子的波函數都與其他電子波函數相關從而增加了複雜度。我們應當記得,在大學物理中學習波函數時老師講過波函數自身沒有物理意義,波函數的平方才具有表示概率的物理意義,和這個概率相關的物理量是電荷密度n(r):n(r)=2∑Φ∗(r)Φ(r)(2表示每個單電子波函數能被不同自旋的兩個電子所佔據)。n(r)是可以測出的物理量,而且它也包含了Schrodinger方程的解的信息,所以n(r)可以說是連接已知與未知的橋梁。這裡引出了DFT的第一個詞:(charge)density——電荷密度。把波函數的問題變成電子密度的問題是(我所認為的)DFT的基本思想。
理論的基石
我們應當常常在教科書上看到「by solving like-Schrodinger『s Kohn-Sham equation」這樣的話(如果你經常讀固體物理的話),這裡要引出三個人:Kohn(科恩),Hohenberg(霍亨博格),Sham(LuJeu Sham,沈呂九,祖籍福州,1938年出生於香港,加州大學聖地牙哥分校物理系主任。話說老爺子都快入土了怎麼還不得諾獎...)。他們幾個推演的方程和定理是DFT的基石。Kohn-Hohenberg第一定理:從Schrodinger方程得到的基態能量是電荷密度的唯一函數。也可以理解為:基態能量E可以表示成E[n(r)]的形式。——這裡引出了DFT的第二個詞:functional——泛函。還可以理解為:基態電荷密度唯一決定了基態的所有性質,包括能量和波函數。Kohn-Hohenberg第二定理:使整體泛函最小化的電荷密度就是對應於Schrodinger方程完全解的真實電荷密度。Kohn-Sham方程:
其中Veff(r)包含三個勢能項V,VH,VXC,V:一個電子與所有原子核間的相互作用——包括四項(1)電子動能,(2)電子與原子核間的庫倫相互作用,(3)電子間庫侖相互作用,(4)原子核間庫倫相互作用。VH:Hartree勢能——單電子與所有電子的總電荷密度間的庫倫排斥作用,顯然所用電子的電荷密度也包含了這個電子自己的,所以這一項中有電子與自身的庫倫排斥作用,這在物理上沒有意義。VXC:與交換關聯能有關的函數,VXC=δEXC(r)/δn(r),這一項中包含了對VH中自作用的修正。這個方程和Schrodinger很像,但是纏人的加和項沒有了~
那麼我們現在知道了解決Schrodinger的方法:(1)將Schrodinger方程轉化為Kohn-Sham方程,使得求波函數的問題變成求電子密度的問題。(2)V是比較好求的,至少以我們現有的知識可以理解V,但是VH和VXC是難求的,我們必需要知道電子密度n(r)...好吧,數學老師告訴我們循環求解是沒用的...但是物理老師教會了我們迭代法啊!通過嘗試一個初始的n(r),我們或許可以用迭代的方法解出穩定的n(r)——這個「或許」是數學問題。好了,現在解Schrodinger方程對我們而言已經不是難事了,我們的任務是利用DFT去攻略具體的結構,發現未知的現象,解決已有的難題。出徵吧~目標星辰大海~
DFT的短板
DFT很強大,但是應用DFT軟體包解決問題時仍會遇到許多困難,有些是DFT自身的缺陷,有些是計算機算力的限制,這裡列舉幾個:(1)計算成本上的缺陷:即使是簡化了的Schrodinger方程,也是很難解出來的。我在開始寫這篇筆記之前掛了一個As摻雜的Si,計算結構鬆弛和鬆弛後的自洽能(別笑,我就這水平==),現在還沒算完呢..對於上百個原子的複雜體系,即使是超算也會吃不消。然而這也是考驗智商的時刻——如何使用幾個到幾十個原子的小體系去模擬宏觀體系?可不是等比例縮小就行了。這個不能說多了,一來這個問題很難想;二來就算想出來了我也不會說啊(2)計算精度上的缺陷:在對於電子激發態/帶隙/van der Waals力的計算上,DFT存在著不可忽視的誤差——即使使用很高精度的計算也是如此——我是說,這個誤差是理論所導致的系統誤差。在帶隙上,我是由切身體驗的:在DFT中,帶隙是被低估的,而且低估了很多!與波色子合作利用Materials Studio計算能帶時,我們發現無論是帶隙為3eV的ZnO還是1eV的Si,在DFT中都只有0.6eV...不過這個好歹還是半導體,更慘的是把窄帶隙半導體算成導體,當然這也不是一次兩次了...sad
2015.12.13