3.5 范德华相互作用校正(DFT-D) 本节摘要:范德华力(色散力)是长程非局域关联,semi-local 泛函完全看不见它。DFT-D 系列用「在 DFT 能量上加一个经验色散校正项」的低成本办法补上这个缺口。本节讲清 vdW 力的物理本质与 R⁻⁶ 渐近行为、DFT-D1/D2/D3/D4 的演进(原子对加和、三体项、环境依赖 C6、动态极化率),以及 vdW-DF 与 TS 等替代方案。
本节摘要:范德华力(色散力)是长程非局域关联,semi-local 泛函完全看不见它。DFT-D 系列用「在 DFT 能量上加一个经验色散校正项」的低成本办法补上这个缺口。本节讲清 vdW 力的物理本质与 R⁻⁶ 渐近行为、DFT-D1/D2/D3/D4 的演进(原子对加和、三体项、环境依赖 C6、动态极化率),以及 vdW-DF 与 TS 等替代方案。
阅读完本节,你应当能够:
先看一个现象:石墨烯层与层之间靠什么力粘在一起?没有共价键、没有离子键、甚至没有氢键——但石墨确实是一层一层能撕开的固体,层间结合力客观存在。答案就是范德华力(色散力)。类似地,水结冰时的分子堆积、蛋白质的折叠、有机分子晶体的形貌,背后都是 vdW 在起作用。
vdW 力从哪来?想象一个非极性分子,比如氩原子。它的电子云平均是球形对称的,但在任意瞬间,电子会临时偏到一侧,产生一个「瞬时偶极矩」。这个瞬时偶极会诱导邻居也产生一个偶极,两个偶极互相吸引。这个「瞬时偶极—诱导偶极」的关联就是色散力(London 力)。
它的关键特征有三个:
最后一条是致命的:semi-local 泛函(LDA/GGA/meta-GGA)只看密度和它的导数,天然看不见「远处两个电子云的涨落如何关联」。所以标准 DFT 对 vdW 体系的预测几乎总是错的——分子晶体密度算不准、吸附能偏低、石墨烯层间距算得过大。
DFT-D 的解决办法简单到近乎「不讲道理」:既然泛函算不了 vdW,那就单独算一个 vdW 校正项,加在 DFT 能量上:
E_DFT-D = E_KS-DFT + E_vdW
这个校正项不改变电子结构计算本身,只是事后加一个基于原子间距离的经验能量。成本几乎为零,却能把分子晶体、吸附、层状材料的预测拉回正轨。
一个值得思考的问题是:为什么大家接受「经验校正」这种看起来不够「第一性原理」的做法?因为 DFT 的终极目标不是「从原理推出一切」,而是「准确预测性质」。当一个局域泛函的缺陷已经明确到可以单独描述(就是长程 R⁻⁶ 色散),用最便宜的方式补上它,是把算力花在更值得的地方。这个「把已知缺陷单独建模」的思路,也解释了为什么 DFT 家族如此枝繁叶茂。
色散力是电子关联的一种,具体说是「远程电子密度的涨落-涨落关联」。它不能从平均场里长出来,因为平均场把所有电子都「平均」掉了,瞬时涨落的信息没了。
从量子力学的角度,两个相距 R 的非极性原子之间的 vdW 能渐近为:
E_vdW ≈ - C6 / R⁶
C6 叫色散系数,与原子/分子的极化率密切相关。极化率越大、电子云越「软」,色散力越强。这个 R⁻⁶ 形式是 vdW 力的「身份证」——几乎所有 vdW 校正方法都在显式或隐式地重建这个行为。
| vdW 分量 | 物理来源 | 备注 |
|---|---|---|
| 取向力 | 永久偶极-偶极 | 极性分子间 |
| 诱导力 | 永久偶极-诱导偶极 | 极性+非极性 |
| 色散力 | 瞬时偶极-诱导偶极 | 所有体系都有,最普遍 |
这里要澄清一个常见的直觉误区:「vdW 很弱所以不重要」。单个原子对的色散力确实微弱(千分之一到千分之几电子伏特),但它是长程、加和性的——一个分子几百个原子,一层石墨烯上亿个碳原子,所有原子对的色散贡献加起来,足以决定一个分子晶体的结构、一层二维材料的剥离能。弱是「每对弱」,强在「数量多」。这也是为什么它在材料与生物体系里如此关键。
Grimme 2004 年提出 D1、2006 年 D2,思想是:把体系的 vdW 能写成所有原子对的 R⁻⁶ 加和:
E_vdW = - s6 · Σ_{A<B} C6_AB / R_AB⁶ · f_damp(R_AB)
三个成分:
阻尼函数是 D 系列的灵魂之一。为什么需要它?因为短程区(原子靠近时)电子云重叠,R⁻⁶ 形式失效,而且 DFT 泛函在短程已经包含了部分关联——如果还硬加校正,就双重计数了。阻尼函数就是在短程把校正「按下去」,避免这个问题。常见的有 Fermi 型和 Becke-Johnson 型。
D2 只考虑原子对,忽略了三体效应(比如三个原子同时靠近时的修正)。2010 年的 D3 做了两个关键升级:
E_vdW = E_disp(2) + E_disp(3)
第二点尤其重要:一个碳原子在甲烷里和在全氟化合物里,电子环境天差地别,C6 不该是同一个值。D3 用配位数编码环境信息,让 C6 随局部化学环境自适应,普适性大幅提升。PBE-D3、B3LYP-D3 成了今天最流行的组合。
2017 年的 D4 把 C6 的计算推到新高度:不再用静态 C6,而是基于从头算的动态极化率推导。动态极化率反映原子对不同频率外场的响应,用它推导的 C6 更物理。D4 对金属和离子体系的描述显著改进,阻尼函数也更精细。
DFT-D 系列是「经验校正」,还有几条「更从头算」的路:
| 方法 | 路线 | 成本 | 特点 |
|---|---|---|---|
| DFT-D2 | 经验原子对 | 极低 | 简单够用 |
| DFT-D3 | 经验+三体 | 低 | 主流默认 |
| DFT-D4 | 经验+动态极化率 | 低 | 金属更准 |
| vdW-DF | 非局域泛函 | 中高 | 从头算路线 |
| TS/MBD | 环境依赖 C6 | 中 | 平衡精度效率 |
一句话判断标准:如果你的研究对象里「两个不直接成键的片段靠在一起」,那它们之间的相互作用大概率有显著色散贡献,就该开 vdW 校正。共价/离子键主导的体系(金属、离子晶体、强极性半导体)D3 影响小,但加上也无妨;弱相互作用主导的体系(分子晶体、吸附、二维材料、生物体系)不开 D3 就是定性地错。
还需要留意:DFT-D 校正虽然便宜,但它不是「免费的午餐」——它引入了基于原子对的经验参数,意味着它的精度上限受「该元素组合是否被拟合过」约束。遇到含重元素、极端环境、非常规氧化态的体系,D3/D4 的表现未必可靠,这时才值得考虑更从头算的 vdW-DF 或 MBD 路线。工程上的取舍逻辑是:常规体系用 D3 省事,可疑体系用更高阶方法复核。
问:D3 和 D4 我该用哪个?
答:默认 D3 足够,软件支持且文献可比性最高。体系含金属、离子、或者对色散精度有更高要求时,考虑 D4——它对金属和离子体系的 C6 描述更准。两者计算成本几乎相同。
问:DFT-D 能不能和杂化泛函一起用?
答:能,而且很常见,比如 B3LYP-D3、HSE-D3。杂化治 SIE,D3 补 vdW,互不干扰。只是一定要用与泛函匹配的 D3 参数(软件一般自动处理)。
问:加了 D3,吸附能还是偏小/偏大,怎么回事?
答:先检查两件事:一是几何优化是否用同一套泛函+D3 设置(能量和结构要一致);二是基准问题——吸附能对参考态(气态分子的能量)很敏感,分子本身也要用同样的泛函+D3 算。都排查完仍偏差,才轮到怀疑 D3 参数对该体系不适用。
⚠️ 常见坑:算层状材料、分子晶体忘了开 vdW 校正,得到「层间距过大、吸附能为正」的离谱结果,还以为程序坏了。实际上这是 semi-local 泛函的已知行为——遇到弱相互作用体系,第一反应就是检查是否加了 D3。
💡 关键直觉:DFT-D 的成功证明了一件事——有时候「把难题绕开」比「把难题解决」更聪明。与其在泛函里痛苦地重建非局域关联,不如承认泛函的边界,用一个附加项精确补齐。这个「分层补丁」思想在第 6 章还会以 DFT+U、TDDFT 的形式反复出现。
def d3_dispersion(atoms, coords, c6_tables): e2 = 0.0 for pair in all_pairs(atoms): c6 = environment_dependent_c6(pair, c6_tables) # 配位数修正 e2 += -c6 / distance(pair)**6 * damping(distance(pair)) e3 = axilrod_teller_muto(atoms, coords) # 三体项 return e2 + e3