65.9K
CodeProject 正在变化。 阅读更多。
Home

密度泛函理论

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2021 年 7 月 21 日

GPL3

6分钟阅读

viewsIcon

4989

在本文中,我简要探讨密度泛函理论。

引言

正如我在上一篇文章中已经透露的,我打算在这个博客上发布几篇关于密度泛函理论的项目。我已经在GitHub上有一个简单的项目,是关于一个具有轨道体积可视化的“量子点”1,使用了VTK

我觉得将一些理论单独写成一篇帖子以便日后参考会很好,所以,话不多说,开始吧。

链接

在本博客上

这篇“如何解决量子多体问题”的文章很重要,它包含了像玻恩-奥本海默近似变分原理等相关主题。关于Hartree-Fock的文章也很重要,直到讨论Hartree项。实际上,所有这些都很重要,但我稍后会详细说明。关于基组的部分也很重要。我在DFT代码中使用了平面波,但也可以更改为使用其他基组,如高斯函数或小波。上一篇“求解泊松方程”的文章也包含相关信息。

一些PDF文档

我不会在这里提供很多链接,网络上有很多资源,但提供几个应该无妨。这是W. Kohn的诺贝尔讲座2。这是一篇非常好的读物,但如果你想要更详细的,这里是另一篇:Klaus Capelle的“密度泛函理论鸟瞰”3。另一篇是Kieron Burke&朋友们的“DFT ABC”4。既然提到了Hartree-Fock,这里有一篇比较两者的论文:“密度泛函理论与Hartree Fock方法的比较评估”5。这里有一个可以下载一些讲义的链接:Roi Baer的“电子密度泛函理论”6。最后但同样重要的是,我应该提一下上一篇文章中已经提到的一篇论文:Sohrab Ismail-Beigi, T. A. Arias的“密度泛函计算的新代数形式”7

视频讲座

正如PDF文档的情况一样,网络上可以找到很多视频讲座,这是一个非常大的主题。尽管如此,除了我在上一篇文章中提到的关于实际方面的视频外,我在这里放一个入门视频

除此之外,我还要推荐CECAM最近的一系列视频讲座:“密度泛函理论的教学”8。它们更详细,所以如果上面的视频对你来说很容易理解,你可能想看看这些。

一些理论

Kohn Sham方程

和Hartree-Fock情况一样,我在这里简要介绍一些解释(但这是非常简化的,你应该查阅真正的推导)。理论需要一些变分计算(与Hartree-Fock情况一样),在这里用LaTeX打出来会太长,所以细节可以参考上面的链接。

在Hartree-Fock帖子中,我展示了一个包含Fock项的方程

\left(-\frac{1}{2}\nabla^2 + V_{ext}(\vec{r}) + \int \frac{n(\vec{r'})}{|\vec{r} - \vec{r'}|} d\vec{r'}\right) \Psi_i  = \epsilon_i  \Psi_i

这里写得稍有不同,但意思是一样的。第二项包含核势和其他可能的外部势,第三项是将求和移到积分符号之后,然后进行求和以获得密度。这个方程相对容易求解,但存在很大的问题,因为它是一个平均场理论方程。该方程忽略了电子相关性,也没有遵守泡利不相容原理。对于分子,它计算出的能量太高,结合太弱,原子间距太大。电子会通过相互规避来降低总能量,使结合更强。
Hartree-Fock方程试图通过添加交换项来解决这个问题(以及消除由于Fock项出现的自相互作用)。但这忽略了电子相关性。

事实证明,通过使用额外的交换-关联势项,也可以尝试考虑相关性。通过添加这样的交换-关联项,就可以得到Kohn-Sham方程

\left(-\frac{1}{2}\nabla^2 + V_{ext}(\vec{r}) + \int \frac{n(\vec{r'})}{|\vec{r} - \vec{r'}|} d\vec{r'} + V_{xc}(\vec{r})\right) \Psi_i  = \epsilon_i  \Psi_i

与Hartree-Fock方程的相似性应该是显而易见的。对于Hartree-Fock,只考虑了交换,并且势是局域的。
对于DFT,势是从交换-关联能量泛函获得的:V_{xc}(\vec{r}) = \frac{\delta E_{xc}[n]}{\delta n(\vec{r})} ,这是一个密度泛函,因此得名。

密度是通常的

n = \sum\limits_{i=1}^N |\Psi_i|^2

这使得Kohn-Sham方程,与Hartree-Fock方程类似,成为自洽方程。可以通过猜测电子密度来求解它们,用这个密度来求解Kohn-Sham方程,从解中得到新的密度,如此循环,直到收敛。详情请参阅Hartree-Fock帖子。

局域密度近似

不幸的是,关联-交换泛函并非精确已知,因此使用近似。对于本博客的目的,局域密度近似已经足够了,所以我将只使用它。

E_{xc}[n]=\int n(\vec{r})\epsilon_{xc}(n)d\vec{r}

值得一提的是,还有其他近似方法,例如广义梯度近似,其中除了局域密度外,还使用密度的梯度,或者Meta-GGA,其中不仅使用一阶导数,还使用二阶导数。还有使用Hartree-Fock交换的混合方法。

\epsilon_{xc}进一步分为交换部分和关联部分,并且该近似是由电子气模型给出的,其中交换部分是精确已知的,关联部分是通过量子蒙特卡洛方法获得的。

我在这里想补充的另一件事是,可以使用LSDA而不是LDA(S代表“自旋”)。主要思想是使用两个密度,n_\downarrown_\uparrow,而不是一个。这并不困难多少。

求解

有各种方法可以尝试求解Kohn-Sham方程。一种方法是直接在实空间中处理问题。这样实现代码很容易(但效率不高),而且容易理解。如果你想走这条路,你应该查阅这篇论文:Thomas Beck的“密度泛函理论中的实空间网格技术”9

另一种方法是使用高斯轨道。对于分子计算,这将是一个非常好的选择。你可以采用已实现的Hartree-Fock程序并修改它,使其也能执行DFT。与实现Hartree-Fock的难度相比,这应该不难。我曾考虑过这样做,但因为我希望DFT用于比分子计算更多的项目,并且因为我不想使那个项目比它本身更复杂,所以我放弃了这个想法。
另一种方法是从头开始编写程序,按照Tomas Arias在上一篇文章中提到的讲座中描述的方式编写代码7,并使用高斯轨道而不是平面波基组。高斯轨道的相关代码可以从Hartree-Fock程序中获取。

无论如何,我决定使用平面波基组。对于晶体来说,由于周期性边界条件,这是一个更好的选择。使用倒格是自然的选择。

结论

我在那里简要介绍了一些DFT理论,供以后参考。我可能会在将来编辑这篇文章以添加一些内容,但不太可能进行实质性补充。链接中包含了足够的理论来理解这些程序。

  1. “量子点” GitHub上的第一个DFT项目 
  2. 诺贝尔讲座 W. Kohn 
  3. “密度泛函理论鸟瞰” Klaus Capelle 
  4. “DFT ABC” Kieron Burke & friends 
  5. “密度泛函理论与Hartree Fock方法的比较评估” M.Ya. Amusia, A.Z. Msezane, V.R. Shaginyan 
  6. “电子密度泛函理论” Roi Baer 
  7. “密度泛函计算的新代数形式” Sohrab Ismail-Beigi, T. A. Arias 
  8. “密度泛函理论的教学” CECAM视频讲座 
  9. “密度泛函理论中的实空间网格技术” Thomas Beck 

The post Density Functional Theory first appeared on Computational Physics.

© . All rights reserved.