第1章 第一性原理计算(上):DFT原理详解、交换关联泛函、平面波与赝势方法

各位同学,大家好。我是你们这门课的主讲人。在材料模拟这个行当里摸爬滚打了十几年,我最大的感受就是:第一性原理计算,尤其是密度泛函理论(DFT),是咱们做材料设计的“基本功”。今天这堂课,咱们就来好好掰扯掰扯DFT的原理、交换关联泛函,还有平面波和赝势这些“硬骨头”。

说实话,我刚入行那会儿,对这些概念也是一头雾水。总觉得DFT像个黑箱子,把原子结构扔进去,能量就出来了。但后来我发现,不懂原理,你连算出来的结果对不对都不敢确定。所以,咱们今天的目标很明确:把这层窗户纸捅破,让你知道DFT到底在算什么,以及怎么算才靠谱。

1.1 从薛定谔方程到DFT:我们为什么要“绕道走”?

材料科学的本质,就是研究一堆原子核和电子怎么相互作用。理论上,只要解出多粒子体系的薛定谔方程,一切性质都知道了。但现实很骨感——对于一个包含N个电子的体系,波函数是3N维的。你想想看,一个水分子有10个电子,那就是30维空间。要是算一个几百个原子的纳米团簇,这维度直接爆炸,超级计算机也扛不住。

所以,我们得“绕道走”。DFT的核心思想,说白了就是:用电子密度代替波函数作为基本变量。电子密度是三维的,不管你有多少个电子,它都只是空间坐标的函数。这一下就把问题的复杂度从3N降到了3,简直是革命性的。

核心思想: 多电子体系的基态能量是电子密度的唯一泛函。也就是说,只要知道了电子密度怎么分布,体系的所有性质就都确定了。

这个思想源于Hohenberg和Kohn在1964年提出的两个定理。我记得第一次读到那篇论文时,觉得这简直是个“魔法”。但后来做项目多了,我慢慢理解了它的物理图像:电子密度就像一张“地图”,它包含了所有电子相互作用的“痕迹”。我们不需要知道每个电子具体在哪,只需要知道它们“堆”在一起的整体效果。

1.2 Kohn-Sham方程:把多体问题变成单体问题

Hohenberg-Kohn定理告诉我们“存在”这样一个泛函,但没告诉我们怎么构造它。这时候,Kohn和Sham(沈吕九)站了出来。他们提出了一个绝妙的方案:用一个假想的、无相互作用的电子体系,来模拟真实的有相互作用的体系

这个假想体系里的电子,在一个有效的势场中运动。这个有效势场包含了:

  • 外势:原子核产生的势场
  • Hartree势:电子之间的经典库仑排斥
  • 交换关联势:所有复杂的量子多体效应都塞到这里

这样一来,我们只需要解一个单电子的薛定谔方程——Kohn-Sham方程:

[-½∇² + V_ext(r) + V_H(r) + V_xc(r)] ψ_i(r) = ε_i ψ_i(r)

这里ψ_i(r)是Kohn-Sham轨道,ε_i是轨道能量。你看,方程形式跟单电子薛定谔方程一模一样,只是势场项变复杂了。

我的经验: 在实际计算中,Kohn-Sham方程是自洽求解的。你先猜一个初始的电子密度,然后构造有效势,解方程得到新的波函数,再计算新的电子密度。反复迭代,直到前后两次的密度差小于某个阈值。这个过程,我们叫它“自洽场(SCF)迭代”。我曾经在算一个表面吸附体系时,SCF怎么都不收敛,最后发现是初始密度猜得太离谱了。所以,一个好的初始猜测能省你半天时间

1.3 交换关联泛函:DFT的“灵魂”

Kohn-Sham方程里,唯一不知道精确形式的就是交换关联泛函V_xc。它包含了所有电子之间的量子力学效应——交换能(泡利不相容原理)和关联能(电子运动的瞬时相关性)。

可以说,DFT计算的精度,完全取决于你用什么交换关联泛函。我这些年踩过的坑,有一半都跟选错泛函有关。

1.3.1 局域密度近似(LDA)

LDA是最简单的近似。它假设:在空间某一点的交换关联能,只取决于该点的电子密度。就像把电子气看成是均匀的,然后取局部密度下的均匀电子气结果。

LDA的优点:形式简单,计算快。对于电子密度变化缓慢的体系(比如简单金属),结果还不错。

LDA的缺点:严重高估结合能,低估晶格常数。我曾经用LDA算过一个过渡金属氧化物的能带,结果带隙直接算没了,变成了金属。这就是LDA著名的“带隙问题”。

1.3.2 广义梯度近似(GGA)

GGA在LDA的基础上,考虑了电子密度的梯度(也就是变化率)。它更“聪明”一些,知道电子密度在空间是怎么变化的。

最常用的GGA泛函是PBE(Perdew-Burke-Ernzerhof)。我个人习惯,对于大多数固体材料,PBE是首选。它比LDA更准确,尤其是对晶格常数和结合能的描述。

但GGA也不是万能的。它仍然严重低估带隙,对强关联体系(比如含有d或f电子的过渡金属氧化物)描述得很差。

1.3.3 杂化泛函

既然纯DFT泛函有缺陷,那我们把一部分精确的Hartree-Fock交换能混进来,行不行?这就是杂化泛函的思路。

最经典的杂化泛函是B3LYP(在量子化学里用得很多)和HSE06(在固体物理里更常用)。HSE06通过一个屏蔽参数,把长程的Hartree-Fock交换能截断,这样计算量比B3LYP小很多,精度却很高。

避坑指南: 杂化泛函虽然精度高,但计算量是GGA的几十倍甚至上百倍。我曾经为了算一个缺陷能级,用HSE06跑了整整两周。所以,不要一上来就用杂化泛函。先用GGA做结构优化,再用杂化泛函算电子性质,这是比较经济的做法。

下面这个表格,是我根据多年经验总结的泛函选择指南:

体系类型 推荐泛函 备注
简单金属(Al, Cu等) LDA 或 PBE 两者差别不大,LDA更快
半导体(Si, GaAs等) PBE(结构优化)
HSE06(电子性质)
PBE严重低估带隙,HSE06更准
过渡金属氧化物 PBE+U 或 HSE06 PBE+U需要测试U值,HSE06更可靠但更慢
分子/团簇 B3LYP 或 PBE0 量子化学常用B3LYP
二维材料 PBE(结构)
HSE06(能带)
注意范德华修正(如DFT-D3)

1.4 平面波与赝势:如何高效求解?

有了Kohn-Sham方程和交换关联泛函,下一步就是求解了。在周期性晶体中,最自然的基组就是平面波。根据Bloch定理,晶体中的波函数可以写成:

ψ_i,k(r) = exp(i k·r) * u_i,k(r)

其中u_i,k(r)具有晶格周期性,可以展开成平面波的叠加:

u_i,k(r) = Σ_G c_i,k(G) exp(i G·r)

这里G是倒格矢。理论上,我们需要无穷多个平面波。但实际上,电子波函数在动量空间是衰减的,我们只需要截断到某个能量——截断能(Ecut)

我的建议: 截断能是平面波计算最重要的参数之一。设得太低,结果不收敛;设得太高,浪费计算资源。我一般会做收敛性测试:固定其他参数,只改变截断能,看总能量变化。当能量变化小于1 meV/atom时,就认为收敛了。对于大多数体系,截断能设在400-600 eV之间比较稳妥

但问题来了:原子核附近的电子波函数振荡得非常厉害,需要极高的截断能才能描述。这怎么办?

答案是:赝势。赝势的核心思想是:把原子核和芯电子(内层电子)看成一个整体,用一个平滑的“赝势”来代替。这样,价电子(外层电子)感受到的势场变得平滑,可以用更少的平面波来描述。

常用的赝势有:

  • 模守恒赝势(NCPP):赝波函数在芯区外与真实波函数完全一致,且模守恒。精度高,但需要较高的截断能。
  • 超软赝势(USPP):通过引入辅助函数,让赝波函数变得更软,可以大幅降低截断能。计算效率高,但形式复杂。
  • 投影缀加波方法(PAW):这是目前最主流的方法。它结合了赝势的高效性和全势方法的精度。我个人强烈推荐,VASP、Quantum ESPRESSO等主流软件都默认使用PAW

1.5 知识体系总览

讲了这么多,我画了一张图,帮你把今天的内容串起来。这张图展示了DFT计算的核心逻辑:从多体薛定谔方程出发,经过Hohenberg-Kohn定理和Kohn-Sham方程,再到交换关联泛函和求解方法。

DFT计算核心逻辑框架 多体薛定谔方程(3N维) Hohenberg-Kohn定理:基态能量是电子密度的泛函 Kohn-Sham方程:将多体问题转化为单体问题 交换关联泛函 平面波基组 赝势方法 LDA / GGA / 杂化泛函 截断能 / k点采样 NCPP / USPP / PAW 输出:总能量、力、应力、电子结构

你看,整个框架其实很清晰。从最底层的物理原理,到具体的数值实现,每一步都有明确的物理意义和数学形式。做DFT计算,不是简单地“点一下鼠标就跑”,而是要理解每一步在做什么,为什么这么做。

好了,今天的内容就到这里。DFT的原理部分,咱们算是开了个头。下一节课,我们会继续深入,聊聊DFT在实际计算中的那些“坑”和“技巧”。记住,理论是基础,实践出真知。回去之后,我建议你找一个简单的体系(比如单个硅原子或者一个硅晶胞),用VASP或者Quantum ESPRESSO跑一遍,感受一下SCF迭代的过程。相信我,亲手跑一遍,比看十遍书都管用。


专注资料整理