第一性原理计算基础:密度泛函理论(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的脉络理清楚了。从Hohenberg-Kohn定理出发,到Kohn-Sham方程,最后落到交换关联泛函的选择。说白了,DFT的核心就是如何近似这个交换关联项。不同的近似,对应不同的计算精度和成本。
总结一下:做弹性常数计算,我个人推荐先用PBE泛函试试水。如果结果和实验偏差较大,再考虑LDA或者加vdW修正。别一上来就上杂化泛函,那玩意儿算弹性常数太慢了,性价比不高。
公众号:蓝海资料掘金营,微信deep3321