第一性原理计算基础:密度泛函理论(DFT)简介

各位同学好,我是你们这门课的讲师。今天咱们正式进入第一性原理计算的核心——密度泛函理论。说实话,我刚入行那会儿,看到DFT这三个字母就觉得头大,感觉像是天书。但干这行十几年下来,我越来越觉得,DFT其实是个很优雅的理论框架。你想想看,它把复杂的多电子问题,简化成了单电子问题,这本身就是个了不起的思路。

从波函数到电子密度:一场思维革命

传统的量子力学方法,比如Hartree-Fock,是直接求解多电子波函数。但波函数有3N个变量(N是电子数),计算量随电子数指数增长。说白了,算到几十个原子就卡死了。

DFT的思路完全不同。它不直接求解波函数,而是用电子密度ρ(r)作为基本变量。电子密度只有3个空间变量,计算量大大降低。这个想法最早由Hohenberg和Kohn在1964年提出,他们证明了两个重要定理:

  • 第一定理:基态电子密度唯一决定体系的所有性质
  • 第二定理:存在一个能量泛函,对电子密度变分可得基态能量

这两个定理奠定了DFT的理论基础。但问题来了——能量泛函的具体形式不知道。这就好比你知道有宝藏,但不知道藏宝图怎么画。

核心要点:DFT的核心思想是用电子密度代替波函数作为基本变量,将3N维问题简化为3维问题。这是计算材料学能够处理数百个原子体系的关键。

Kohn-Sham方程:DFT的实用化

1965年,Kohn和Sham提出了一个巧妙的方案。他们引入了一个假想的无相互作用参考体系,这个体系的电子密度与真实体系相同。这样一来,复杂的多电子相互作用被拆分成了几个部分:

  • 动能项(参考体系的动能)
  • 外势能项(原子核-电子相互作用)
  • Hartree项(经典库仑相互作用)
  • 交换关联项(所有多体效应的总和)

Kohn-Sham方程的形式如下:

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

其中:

  • V_ext(r) 是外势(原子核势场)
  • V_H(r) 是Hartree势(电子-电子库仑势)
  • V_xc(r) 是交换关联势(包含所有多体效应)

这个方程需要自洽求解。我刚开始做计算时,经常遇到自洽不收敛的情况。后来发现,很多时候是初始猜测给得太离谱。我个人习惯用原子密度的叠加作为初始猜测,收敛会快很多。

实战技巧:在VASP中设置INCAR参数时,我建议把EDIFF设为1E-6 eV,NSW设为100。如果还是不收敛,可以试试ALGO = Normal,或者降低MIX参数。我曾经遇到过一个体系,怎么都算不收敛,最后发现是晶格常数给错了。

交换关联泛函:LDA、GGA与杂化泛函

Kohn-Sham方程中唯一未知的就是交换关联泛函V_xc。这几十年来,研究者们发展出了多种近似方案。我按自己的理解,给大家梳理一下:

LDA(局域密度近似)

LDA假设交换关联能只取决于局域电子密度。说白了,就是把体系看成均匀电子气,每个点的交换关联能只由该点的密度决定。

  • 优点:计算速度快,对金属和简单体系描述不错
  • 缺点:高估结合能,低估晶格常数,对弱相互作用描述很差
  • 适用场景:金属、简单半导体、结构优化

我记得刚入行时,用LDA算一个氧化物,晶格常数算出来比实验值小了2%。当时我还以为是程序bug,查了半天。后来才知道,LDA普遍低估晶格常数,这是它的固有缺陷。

GGA(广义梯度近似)

GGA在LDA基础上引入了电子密度梯度修正。常用的有PBE、PW91等泛函。

  • 优点:对晶格常数、结合能的描述比LDA更准确
  • 缺点:对强关联体系描述仍不够好
  • 适用场景:大多数半导体、绝缘体、表面体系

我个人最常用的是PBE泛函。它计算效率高,对大多数材料的结构和弹性常数描述都不错。但要注意,PBE会高估晶格常数,一般比实验值大1-2%。

杂化泛函

杂化泛函在DFT中混入了一定比例的精确交换能(来自Hartree-Fock)。常用的有HSE06、PBE0等。

  • 优点:对带隙、反应势垒的描述更准确
  • 缺点:计算量是GGA的10-100倍
  • 适用场景:带隙计算、缺陷能级、反应路径

避坑指南:我曾经用HSE06算一个含64个原子的超胞,跑了整整两周还没收敛。后来发现,对于弹性常数计算,GGA通常就够用了。杂化泛函更适合算电子结构,而不是力学性质。大家要根据问题选择合适的泛函,别一上来就上最贵的。

泛函选择指南

为了让大家更直观地选择,我整理了一个表格:

计算任务 推荐泛函 备注
晶格常数优化 PBE (GGA) 计算快,精度可接受
弹性常数计算 PBE 或 LDA LDA对某些体系更准
能带结构 HSE06 带隙更准确
表面吸附 PBE+vdW 需要范德华修正
强关联体系 PBE+U 或 HSE06 U值需要测试

本章知识体系

下面这张图是我自己画的,把本章的核心逻辑串起来了:

DFT知识体系框架 密度泛函理论 (DFT) Hohenberg-Kohn定理 Kohn-Sham方程 交换关联泛函 (未知项) LDA 局域密度近似 GGA 广义梯度近似 杂化泛函 HSE06/PBE0 从Hohenberg-Kohn定理 → Kohn-Sham方程 → 交换关联泛函近似

这张图把DFT的脉络理清楚了。从Hohenberg-Kohn定理出发,到Kohn-Sham方程,最后落到交换关联泛函的选择。说白了,DFT的核心就是如何近似这个交换关联项。不同的近似,对应不同的计算精度和成本。

总结一下:做弹性常数计算,我个人推荐先用PBE泛函试试水。如果结果和实验偏差较大,再考虑LDA或者加vdW修正。别一上来就上杂化泛函,那玩意儿算弹性常数太慢了,性价比不高。


公众号:蓝海资料掘金营,微信deep3321