密度泛函理论 （英語：density functional theory，简称DFT）是一种研究多电子体系电子结构的量子力学方法。密度泛函理论在物理和化学上都有广泛的应用，特别是用来研究分子和凝聚态的性质，是凝聚态物理和计算化学领域最常用的方法之一。


理论概述 电子结构理论的经典方法，特别是Hartree-Fock方法和后Hartree-Fock方法，是基于复杂的多电子波函数的。密度泛函理论的主要目标就是用电子密度取代波函数做为研究的基本量。因为多电子波函数有 
  
    
      
        3
        N
      
    
    {\displaystyle 3N}
  
 个变量（
  
    
      
        N
      
    
    {\displaystyle N}
  
 为电子数，每个电子包含三个空间变量），而电子密度仅是三个变量的函数，无论在概念上还是实际上都更方便处理。
虽然密度泛函理论的概念起源于Thomas-Fermi模型，但直到Hohenberg-Kohn定理提出之后才有了坚实的理论依据。Hohenberg-Kohn第一定理指出体系的基态能量仅仅是电子密度的泛函。
Hohenberg-Kohn第二定理证明了以基态密度为变量，将体系能量通過變分得到最小值之后就得到了基态能量。
HK理论最初只适用于没有磁场存在的基态，现在已经被推广。最初的Hohenberg-Kohn定理仅仅指出了一一对应关系的存在，但是没有提供任何这种精确的对应关系。正是在这些精确的对应关系中存在着近似（这个理论可以被推广到时间相关领域，从而用来计算激发态的性质[6]）。
密度泛函理论最普遍的应用是通过Kohn-Sham方法实现的。 在Kohn-Sham DFT的框架中，复杂的多体问题（由于处在一个外部静电势中的电子相互作用而产生的）被简化成一个没有相互作用的电子在有效势场中运动的问题。这个有效势场包括了外部势场以及电子间库仑相互作用的影响，例如交换和关联作用。处理交换关联作用是KS DFT的难点，目前尚没有精确求解交换相关能 
  
    
      
        
          E
          
            X
            C
          
        
      
    
    {\displaystyle E_{XC}}
  
 的方法。最简单的近似求解方法是局域密度近似(LDA)。LDA近似用均匀电子气来计算体系的交换能（均匀电子气的交换能是可以精确求解的），而采用对自由电子气进行拟合的方法来处理关联能。
自1970年以来，密度泛函理论在固体物理学计算中得到广泛的应用。多数情况下，与其它解决量子力学多体问题的方法相比，采用局域密度近似的密度泛函理论给出了非常令人满意的结果，同时固态计算相比实验的费用要少。尽管如此，人们普遍认为量子化学计算不能给出足够精确的结果，直到二十世纪九十年代，理论中所采用的近似被重新提炼成更好的交换关联作用模型。密度泛函理论是目前多种领域中电子结构计算的领先方法。 密度泛函理论尽管得到改进，但是描述分子间作用力 ，特别是范德华力，或者计算半导体的能隙还有一定困难。


早期模型: Thomas-Fermi 模型 密度泛函理论可以上溯到由Thomas和Fermi 在1920年代发展的Thomas-Fermi模型。他们将一个原子的动能表示成电子密度的泛函，并加上原子核-电子和电子-电子相互作用（两种作用都可以通过电子密度来表达）的经典表达来计算原子的能量。
Thomas-Fermi模型是很重要的第一步，但是由于没有考虑Hartree-Fock理论指出的原子交换能，Thomas-Fermi方程的精度受到限制。1928年保羅·狄拉克在该模型基础上增加了一个交换能泛函项。
然而，在大多数应用中Thomas-Fermi-Dirac理论表现得非常不够准确。其中最大的误差来自动能的表示，然后是交换能中的误差，以及对电子相关作用的完全忽略。


导出过程和表达式 在通常的多体问题电子结构的计算中，原子核可以看作静止不动的（波恩-奥本海默近似），这样电子可看作在原子核产生的静电势 
  
    
      
        
        
        V
      
    
    {\displaystyle \,\!V}
  
 中运动。电子的定态可由满足多体薛定谔方程的波函数 
  
    
      
        Ψ
        (
        
          
            
              
                r
                →
              
            
          
          
            1
          
        
        ,
        …
        ,
        
          
            
              
                r
                →
              
            
          
          
            N
          
        
        )
      
    
    {\displaystyle \Psi ({\vec {r}}_{1},\dots ,{\vec {r}}_{N})}
  
 描述：

  
    
      
        H
        Ψ
        =
        
          [
          
            
              T
            
            +
            
              V
            
            +
            
              U
            
          
          ]
        
        Ψ
        =
        
          [
          
            
              ∑
              
                i
              
              
                N
              
            
            −
            
              
                
                  ℏ
                  
                    2
                  
                
                
                  2
                  m
                
              
            
            
              ∇
              
                i
              
              
                2
              
            
            +
            
              ∑
              
                i
              
              
                N
              
            
            V
            (
            
              
                
                  
                    r
                    →
                  
                
              
              
                i
              
            
            )
            +
            
              ∑
              
                i
                <
                j
              
            
            U
            (
            
              
                
                  
                    r
                    →
                  
                
              
              
                i
              
            
            ,
            
              
                
                  
                    r
                    →
                  
                
              
              
                j
              
            
            )
          
          ]
        
        Ψ
        =
        E
        Ψ
      
    
    {\displaystyle H\Psi =\left[{T}+{V}+{U}\right]\Psi =\left[\sum _{i}^{N}-{\frac {\hbar ^{2}}{2m}}\nabla _{i}^{2}+\sum _{i}^{N}V({\vec {r}}_{i})+\sum _{i<j}U({\vec {r}}_{i},{\vec {r}}_{j})\right]\Psi =E\Psi }
  

其中 
  
    
      
        
        
        N
      
    
    {\displaystyle \,\!N}
  
 为电子数目， 
  
    
      
        
        
        U
      
    
    {\displaystyle \,\!U}
  
 为电子间的相互作用势。算符 
  
    
      
        
        
        T
      
    
    {\displaystyle \,\!T}
  
 和 
  
    
      
        
        
        U
      
    
    {\displaystyle \,\!U}
  
 称为普适算符，它们在所有系统中都相同，而算符
  
    
      
        
        
        V
      
    
    {\displaystyle \,\!V}
  
则依赖于系统，为非普适的。可以看出，单粒子问题和比较复杂的多粒子问题的区别在于交换作用项 
  
    
      
        
        
        U
      
    
    {\displaystyle \,\!U}
  
。目前有很多成熟的方法来解多体薛定谔方程，例如：物理学里使用的图形微扰理论和量子化学里使用的基于斯莱特行列式中波函数系统展开的组态相互作用（CI）方法。然而，这些方法的问题在于较大的计算量，很难用于大规模复杂系统的计算。
相比之下，密度函理论将含 
  
    
      
        
        
        U
      
    
    {\displaystyle \,\!U}
  
 的多体问题转化为不含 
  
    
      
        
        
        U
      
    
    {\displaystyle \,\!U}
  
 的单体问题上，成为解决此类问题的一个有效方法。在密度泛函理论中，最关键的变量为粒子密度 
  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n({\vec {r}})}
  
 ，它由下式给出

  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
        =
        N
        ∫
        
          
            
              d
            
          
          
            3
          
        
        
          r
          
            2
          
        
        ∫
        
          
            
              d
            
          
          
            3
          
        
        
          r
          
            3
          
        
        ⋯
        ∫
        
          
            
              d
            
          
          
            3
          
        
        
          r
          
            N
          
        
        
          Ψ
          
            ∗
          
        
        (
        
          
            
              r
              →
            
          
        
        ,
        
          
            
              
                r
                →
              
            
          
          
            2
          
        
        ,
        …
        ,
        
          
            
              
                r
                →
              
            
          
          
            N
          
        
        )
        Ψ
        (
        
          
            
              r
              →
            
          
        
        ,
        
          
            
              
                r
                →
              
            
          
          
            2
          
        
        ,
        …
        ,
        
          
            
              
                r
                →
              
            
          
          
            N
          
        
        )
        .
      
    
    {\displaystyle n({\vec {r}})=N\int {\rm {d}}^{3}r_{2}\int {\rm {d}}^{3}r_{3}\cdots \int {\rm {d}}^{3}r_{N}\Psi ^{*}({\vec {r}},{\vec {r}}_{2},\dots ,{\vec {r}}_{N})\Psi ({\vec {r}},{\vec {r}}_{2},\dots ,{\vec {r}}_{N}).}
  

皮埃尔·奥昂贝格和沃尔特·科恩在1964年提出，上面的关系可以反过来，即给出基态电子密度 
  
    
      
        
          n
          
            0
          
        
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n_{0}({\vec {r}})}
  
 ，原则上可以计算出对应的基态波函数 
  
    
      
        
          Ψ
          
            0
          
        
        (
        
          
            
              
                r
                →
              
            
          
          
            1
          
        
        ,
        …
        ,
        
          
            
              
                r
                →
              
            
          
          
            N
          
        
        )
      
    
    {\displaystyle \Psi _{0}({\vec {r}}_{1},\dots ,{\vec {r}}_{N})}
  
。也就是说，
  
    
      
        
        
        
          Ψ
          
            0
          
        
      
    
    {\displaystyle \,\!\Psi _{0}}
  
 是 
  
    
      
        
        
        
          n
          
            0
          
        
      
    
    {\displaystyle \,\!n_{0}}
  
 的唯一泛函，即

  
    
      
        
        
        
          Ψ
          
            0
          
        
        =
        
          Ψ
          
            0
          
        
        [
        
          n
          
            0
          
        
        ]
      
    
    {\displaystyle \,\!\Psi _{0}=\Psi _{0}[n_{0}]}
  

对应地，所有其它基态可观测量 
  
    
      
        
        
        O
      
    
    {\displaystyle \,\!O}
  
 均为 
  
    
      
        
        
        
          n
          
            0
          
        
      
    
    {\displaystyle \,\!n_{0}}
  
 的泛函

  
    
      
        
          ⟨
          O
          ⟩
        
        [
        
          n
          
            0
          
        
        ]
        =
        
          ⟨
          
            
              Ψ
              
                0
              
            
            [
            
              n
              
                0
              
            
            ]
            
              |
              O
              |
            
            
              Ψ
              
                0
              
            
            [
            
              n
              
                0
              
            
            ]
          
          ⟩
        
        .
      
    
    {\displaystyle \left\langle O\right\rangle [n_{0}]=\left\langle \Psi _{0}[n_{0}]\left|O\right|\Psi _{0}[n_{0}]\right\rangle .}
  

进而可以得出，基态能量也是 
  
    
      
        
        
        
          n
          
            0
          
        
      
    
    {\displaystyle \,\!n_{0}}
  
 的泛函

  
    
      
        
          E
          
            0
          
        
        =
        E
        [
        
          n
          
            0
          
        
        ]
        =
        
          ⟨
          
            
              Ψ
              
                0
              
            
            [
            
              n
              
                0
              
            
            ]
            
              |
              
                T
                +
                V
                +
                U
              
              |
            
            
              Ψ
              
                0
              
            
            [
            
              n
              
                0
              
            
            ]
          
          ⟩
        
      
    
    {\displaystyle E_{0}=E[n_{0}]=\left\langle \Psi _{0}[n_{0}]\left|T+V+U\right|\Psi _{0}[n_{0}]\right\rangle }
  
,
其中外势场的贡献 
  
    
      
        
          ⟨
          
            
              Ψ
              
                0
              
            
            [
            
              n
              
                0
              
            
            ]
            
              |
              V
              |
            
            
              Ψ
              
                0
              
            
            [
            
              n
              
                0
              
            
            ]
          
          ⟩
        
      
    
    {\displaystyle \left\langle \Psi _{0}[n_{0}]\left|V\right|\Psi _{0}[n_{0}]\right\rangle }
  

可以用密度表示成

  
    
      
        V
        [
        n
        (
        r
        )
        ]
        =
        ∫
        V
        (
        
          
            
              r
              →
            
          
        
        )
        n
        (
        
          
            
              r
              →
            
          
        
        )
        
          
            
              d
            
          
          
            3
          
        
        r
        .
      
    
    {\displaystyle V[n(r)]=\int V({\vec {r}})n({\vec {r}}){\rm {d}}^{3}r.}
  

泛函 
  
    
      
        
        
        T
        [
        n
        (
        r
        )
        ]
      
    
    {\displaystyle \,\!T[n(r)]}
  
 和 
  
    
      
        
        
        U
        [
        n
        ]
      
    
    {\displaystyle \,\!U[n]}
  
 称为普适泛函，而 
  
    
      
        
        
        V
        [
        n
        ]
      
    
    {\displaystyle \,\!V[n]}
  
 显然不是普适的，它取决于所考虑的系统。对于确定的系统，即 
  
    
      
        
        
        V
      
    
    {\displaystyle \,\!V}
  
 已知，需要将泛函

  
    
      
        E
        [
        n
        (
        r
        )
        ]
        =
        T
        [
        n
        (
        r
        )
        ]
        +
        U
        [
        n
        (
        r
        )
        ]
        +
        ∫
        V
        (
        
          
            
              r
              →
            
          
        
        )
        n
        (
        
          
            
              r
              →
            
          
        
        )
        
          
            
              d
            
          
          
            3
          
        
        r
      
    
    {\displaystyle E[n(r)]=T[n(r)]+U[n(r)]+\int V({\vec {r}})n({\vec {r}}){\rm {d}}^{3}r}
  

对于 
  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n({\vec {r}})}
  
 求极小值。这里假定能够得出 
  
    
      
        
        
        T
        [
        n
        (
        r
        )
        ]
      
    
    {\displaystyle \,\!T[n(r)]}
  
 和 
  
    
      
        
        
        U
        [
        n
        (
        r
        )
        ]
      
    
    {\displaystyle \,\!U[n(r)]}
  
 的表达式。对能量泛函求极值可以得到基态电子密度 
  
    
      
        
        
        
          n
          
            0
          
        
      
    
    {\displaystyle \,\!n_{0}}
  
 ，进而求得所有基态可观测量。
对能量泛函 
  
    
      
        
        
        E
        [
        n
        (
        r
        )
        ]
      
    
    {\displaystyle \,\!E[n(r)]}
  
 求变分极值可以用不定算子的拉格朗日方法，这由科恩和沈吕九在1965年完成。这里我们使用如下结论：上面方程中的泛函可以写成一个无相互作用的体系的密度泛函

  
    
      
        
          E
          
            s
          
        
        [
        n
        (
        r
        )
        ]
        =
        
          ⟨
          
            
              Ψ
              
                s
              
            
            [
            n
            ]
            
              |
              
                
                  T
                  
                    s
                  
                
                +
                
                  V
                  
                    s
                  
                
              
              |
            
            
              Ψ
              
                s
              
            
            [
            n
            (
            r
            )
            ]
          
          ⟩
        
        ,
      
    
    {\displaystyle E_{s}[n(r)]=\left\langle \Psi _{s}[n]\left|T_{s}+V_{s}\right|\Psi _{s}[n(r)]\right\rangle ,}
  

其中 
  
    
      
        
        
        
          T
          
            s
          
        
      
    
    {\displaystyle \,\!T_{s}}
  
 为无相互作用的动能， 
  
    
      
        
        
        
          V
          
            s
          
        
      
    
    {\displaystyle \,\!V_{s}}
  
 为粒子运动感受到的外势场。显然， 
  
    
      
        
          n
          
            s
          
        
        (
        
          
            
              r
              →
            
          
        
        )
        ≡
        n
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n_{s}({\vec {r}})\equiv n({\vec {r}})}
  
 ，若 
  
    
      
        
        
        
          V
          
            s
          
        
      
    
    {\displaystyle \,\!V_{s}}
  
 取为

  
    
      
        
          V
          
            s
          
        
        =
        V
        +
        U
        +
        
          (
          
            T
            −
            
              T
              
                s
              
            
          
          )
        
        .
      
    
    {\displaystyle V_{s}=V+U+\left(T-T_{s}\right).}
  

这样，可以解这个辅助的无相互作用体系的科恩-沈吕九方程

  
    
      
        
          [
          
            −
            
              
                
                  ℏ
                  
                    2
                  
                
                
                  2
                  m
                
              
            
            
              ∇
              
                2
              
            
            +
            
              V
              
                s
              
            
            (
            
              
                
                  r
                  →
                
              
            
            )
          
          ]
        
        
          ϕ
          
            i
          
        
        (
        
          
            
              r
              →
            
          
        
        )
        =
        
          ϵ
          
            i
          
        
        ϕ
        (
        
          
            
              r
              →
            
          
        
        )
        ,
      
    
    {\displaystyle \left[-{\frac {\hbar ^{2}}{2m}}\nabla ^{2}+V_{s}({\vec {r}})\right]\phi _{i}({\vec {r}})=\epsilon _{i}\phi ({\vec {r}}),}
  

可以得到一系列的电子轨域 
  
    
      
        
        
        
          ϕ
          
            i
          
        
      
    
    {\displaystyle \,\!\phi _{i}}
  
 ，并由此求得原来的多体体系的电子密度 
  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n({\vec {r}})}
  

  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
        ≡
        
          n
          
            s
          
        
        (
        
          
            
              r
              →
            
          
        
        )
        =
        
          ∑
          
            i
          
          
            N
          
        
        
          
            |
            
              
                ϕ
                
                  i
                
              
              (
              
                
                  
                    r
                    →
                  
                
              
              )
            
            |
          
          
            2
          
        
        .
      
    
    {\displaystyle n({\vec {r}})\equiv n_{s}({\vec {r}})=\sum _{i}^{N}\left|\phi _{i}({\vec {r}})\right|^{2}.}
  

等效的单粒子势 
  
    
      
        
        
        
          V
          
            s
          
        
      
    
    {\displaystyle \,\!V_{s}}
  
 可以表示成

  
    
      
        
          V
          
            s
          
        
        =
        V
        +
        ∫
        
          
            
              
                e
                
                  2
                
              
              
                n
                
                  s
                
              
              (
              
                
                  
                    r
                    →
                  
                
              
              
                
                ′
              
              )
            
            
              
                |
              
              
                
                  
                    r
                    →
                  
                
              
              −
              
                
                  
                    r
                    →
                  
                
              
              
                
                ′
              
              
                |
              
            
          
        
        
          
            
              d
            
          
          
            3
          
        
        
          r
          ′
        
        +
        
          V
          
            
              X
              C
            
          
        
        [
        
          n
          
            s
          
        
        (
        
          
            
              r
              →
            
          
        
        )
        ]
        ,
      
    
    {\displaystyle V_{s}=V+\int {\frac {e^{2}n_{s}({\vec {r}}\,')}{|{\vec {r}}-{\vec {r}}\,'|}}{\rm {d}}^{3}r'+V_{\rm {XC}}[n_{s}({\vec {r}})],}
  

其中第二项为描述电子间库仑斥力的哈特里项，最后一项 
  
    
      
        
        
        
          V
          
            
              X
              C
            
          
        
      
    
    {\displaystyle \,\!V_{\rm {XC}}}
  
 叫做交换关联势，包含所有多粒子的相互作用。由于哈特里项和交换关联项 
  
    
      
        
        
        
          V
          
            
              X
              C
            
          
        
      
    
    {\displaystyle \,\!V_{\rm {XC}}}
  
 都依赖于 
  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n({\vec {r}})}
  
, 
  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n({\vec {r}})}
  
 又依赖于 
  
    
      
        
        
        
          ϕ
          
            i
          
        
      
    
    {\displaystyle \,\!\phi _{i}}
  
, 而 
  
    
      
        
        
        
          ϕ
          
            i
          
        
      
    
    {\displaystyle \,\!\phi _{i}}
  
 又依赖于 
  
    
      
        
        
        
          V
          
            s
          
        
      
    
    {\displaystyle \,\!V_{s}}
  
, 科恩-沈吕九方程的求解需要用自洽方法。通常首先假设一个初始的 
  
    
      
        n
        (
        
          
            
              r
              →
            
          
        
        )
      
    
    {\displaystyle n({\vec {r}})}
  
, 然后计算对应的 
  
    
      
        
        
        
          V
          
            s
          
        
      
    
    {\displaystyle \,\!V_{s}}
  
 并求解科恩-沈吕九方程中的 
  
    
      
        
        
        
          ϕ
          
            i
          
        
      
    
    {\displaystyle \,\!\phi _{i}}
  
。进而可以计算出新的密度分布，并开始新一轮计算。此过程不断重复，直到计算结果收敛。


参考资料 [1] P. Hohenberg and W. Kohn, Phys. Rev. 136 (1964) B864
[2] W. Kohn and L. J. Sham, Phys. Rev. 140 (1965) A1133
[3] A. D. Becke, J. Chem. Phys. 98 (1993) 5648
[4] C. Lee, W. Yang, and R. G. Parr, Phys. Rev. B 37 (1988) 785
[5] P. J. Stephens, F. J. Devlin, C. F. Chabalowski, and M. J. Frisch, J. Phys. Chem. 98 (1994) 11623


相关阅读 Klaus Capelle, A bird's-eye view of density-functional theory（页面存档备份，存于互联网档案馆）