



Bader 分析看起来像一个后处理命令,实际最关键的部分发生在命令之前。它要在三维电荷密度网格上寻找零通量面,再把每个原子区域内的电子数积分出来。CHGCAR 如果太粗、没有完全收敛,或者没有配合全电子参考密度,Bader 边界就会跟着漂。高质量 CHGCAR 决定的是空间分区和积分精度,不只是小数点好不好看。
这也是为什么同一套结构,用不同 FFT 网格、不同静态单点精度或不同参考密度,Bader 电荷会出现差异。对催化体系来说,0.02 e 到 0.05 e 的变化常常已经被拿来讨论电荷转移;如果电荷密度本身质量不够,这类差异就很容易被误读。

图1 Ni 与 NiCo 表面吸附物的 Bader 电荷分析示例,显示电荷分区结果常被用于比较不同表面和吸附态。DOI: 10.1038/s41598-020-80287-0。




Bader 方法不是按化学键画主观边界,而是在电荷密度 ρ(r) 的梯度场里寻找分界面。分界面上电荷密度梯度的法向分量为零,电子密度流线不会穿过这个面。每个原子就对应一个由这些面包围起来的空间区域。
所以,Bader 电荷不是“某个原子天然带多少电”的直接观测,而是对连续电荷密度进行空间划分后的积分结果。Bader 数值首先取决于电荷密度分布,其次才取决于后处理算法。
∇ρ(r) · n = 0 式(1)
式(1)表示零通量面的基本条件。n 是分界面的法向量,ρ(r) 是电荷密度。若 CHGCAR 网格过粗,梯度方向会被离散网格误差影响,分界面位置就可能偏移,特别是在金属-吸附物界面、低密度真空区和轻元素附近。
后处理程序会把每个 Bader 区域里的电子数 NBader 积分出来,再与赝势价电子数或参考价电子口径相减,得到常说的净电荷。不同 POTCAR 的价电子数不同,不能把不同赝势口径下的 Bader 数值直接混比。
qBader = Zval − NBader 式(2)
式(2)只是常用价电子口径的表达。qBader 越正,表示该区域积分到的价电子越少;越负,表示积分到的价电子越多。它适合比较同一批模型中的相对变化,但不应单独改写成形式价态。

图2 C 物种吸附后的差分电荷密度与 Bader 变化示例,说明 Bader 数值应与空间电荷重排一起解释。DOI: 10.1038/s41598-020-80287-0。




结构优化阶段的目标是找到低能几何构型,电子收敛标准、写出设置和并行策略常为效率服务。若最后一步刚好在电子收敛边缘,或者优化中改变了占据、磁性和混合状态,直接拿这个 CHGCAR 做 Bader,数值会带着优化过程的噪声。
更推荐的做法是:先完成结构优化,再用固定几何做高精度静态单点。静态阶段收紧 EDIFF,关闭离子移动,使用与最终模型一致的 ENCUT、KPOINTS、POTCAR 和自旋设置,并明确写出电荷密度。Bader 前的静态单点,是把几何优化结果转成可积分电荷密度的关键步骤。
VASP 的 CHGCAR 常以价电子密度为主,而 Bader 分区靠近原子核附近时,只有价电子密度可能让分界面描述不够理想。开启 LAECHG 后,可以得到 AECCAR0 和 AECCAR2,常用做法是把它们相加作为全电子参考密度,再用 CHGCAR 作为被分析对象。
实际命令常写成 chgsum.pl AECCAR0 AECCAR2 得到参考密度,再运行 bader CHGCAR -ref CHGCAR_sum。这里的核心不是多跑一步,而是让靠近核区的电荷密度参考更完整。AECCAR 参考能改善 Bader 分界面,尤其适合含轻元素、过渡金属和强极化键的体系。

图3 Fe-N₄ 位点的 ELF、差分电荷密度和 Bader 电荷示例,展示电荷分布、成键区域和 Bader 数值需要联合观看。DOI: 10.1021/acsomega.4c04990。




CHGCAR 是离散网格上的电荷密度。网格越粗,原子附近陡峭变化越难描述;界面处电荷累积和耗尽区域也可能被抹平。对 Bader 来说,这会影响梯度方向、零通量面位置和区域积分,最后表现为某些原子的净电荷跳动。
VASP 中 NGXF、NGYF、NGZF 决定细 FFT 网格。多数情况下,默认细网格已能满足普通能量计算,但 Bader 分析对空间分辨率更敏感。可以通过提高 ENCUT、设置更密的 NGXF/NGYF/NGZF 或使用 ADDGRID 来检查数值是否稳定。能量收敛不等于 Bader 电荷已经对网格收敛。
Ntot = ∫ ρ(r)dr ≈ Σgrid ρi ΔV 式(3)
式(3)说明电荷积分最终落在网格求和上。ΔV 是单个网格体积,ρi 是网格点电荷密度。网格体积越大,局部电荷变化被平均得越厉害;网格越细,积分边界和电子数越容易稳定。
最直接的方法是做网格敏感性测试。保持结构、POTCAR、KPOINTS 和电子设置不变,只改变 FFT 网格或 ENCUT,观察关键原子的 Bader 电荷差异是否低于你要讨论的效应量。如果金属位点变化只有 0.03 e,而网格测试本身就波动 0.04 e,这个变化就不能作为强结论。
还要检查总电子数是否守恒。Bader 输出里所有区域电子数相加,应接近 NELECT 或对应参考口径下的总电子数。若偏差明显,说明密度材料、参考密度或后处理过程需要重新检查。

图4 不同掺杂 Fe-N 构型的差分电荷密度与 Bader 电荷示例,说明局域配位变化会放大电荷密度网格质量的重要性。DOI: 10.1021/acsomega.4c04990。




Bader 静态单点不需要移动原子,重点是电子密度可靠。常用设置包括 IBRION = -1、NSW = 0、LCHARG = .TRUE.、LAECHG = .TRUE.、LREAL = .FALSE.,并把 EDIFF 收紧到 1E-6 或 1E-7 量级。ENCUT 和 k 点要与体系收敛测试相匹配,不能因为后处理就随意降低。
对金属表面,可以沿用经过测试的 ISMEAR 和 SIGMA;对半导体或分子吸附体系,常用 Gaussian 或 tetrahedron 口径,但最终仍以收敛测试为准。含磁性、DFT+U 或 SOC 的体系,静态单点必须保持与结构优化和能量比较一致的设置。Bader 比较最怕同一批模型混用不同电子结构口径。
SYSTEM = bader_static_density
ENCUT = 520
EDIFF = 1E-7
IBRION = -1
NSW = 0
LCHARG = .TRUE.
LAECHG = .TRUE.
ADDGRID = .TRUE.
LREAL = .FALSE.
# 后处理参考示例
# chgsum.pl AECCAR0 AECCAR2
# bader CHGCAR -ref CHGCAR_sum
同一组 Bader 比较至少要保持:同一 POTCAR 组合、同一结构参照、同一自旋设置、同一 U 值、同一 ENCUT 和相近 k 点密度。若一个模型开了 LAECHG,另一个没开;一个用了更细网格,另一个用默认网格,得到的差值就混入了技术差异。
对吸附体系,还要分清比较对象。比较吸附前后金属位点电荷,可以用同一 slab 与吸附态静态密度;比较不同覆盖度或不同缺陷浓度,则要说明超胞面积和位点数。高质量 CHGCAR 只能保证数值基础,比较口径仍要由模型设计保证。




不一定。Bader 输出常给很多小数位,但有效意义由收敛测试决定。如果换一套更细网格后关键原子变化 0.02 e,那么原来 0.01 e 的差异就不该被解释成清晰电荷转移。更合理的是报告趋势,并用差分电荷密度、PDOS、局域磁矩或 COHP 做交叉判断。
对强吸附、缺陷、异质界面和单原子位点,Bader 电荷能给出有用线索,但它不是唯一证据。空间电荷重排可能发生在键区而不是完全进入某个原子区域;局域成键增强也可能只带来很小净电荷变化。Bader 数字要和图像、轨道和能量变化一起解释。
建议至少确认四件事:Bader 区域电子数求和是否接近总电子数;关键原子电荷对 FFT 网格是否稳定;同一批模型是否使用同一 POTCAR 和静态单点设置;电荷变化是否大于数值波动。满足这些条件后,再把 Bader 用作电荷转移或局域极化的定量补充。
如果需要更高可信度,可以补做差分电荷密度和平面平均电荷差,观察电子累积/耗尽是否与 Bader 方向一致;再看 PDOS 或 COHP,确认电子变化是否对应成键和吸附自由能变化。可靠的 Bader 分析不是一个命令结束,而是一组密度质量和物理互证检查。
报告 Bader 结果时,建议同时写出使用的静态单点设置、是否采用 AECCAR 参考、关键网格尺寸和总电子数偏差。这样别人看到 0.10 e 的变化时,能判断它是超出数值波动的趋势,而不是由网格、参考密度或赝势口径造成的差别。

图5 H₂O₂ 吸附后的差分电荷密度与 Bader 电荷示例,说明吸附态电荷变化应和具体键区重排对应。DOI: 10.1021/acsomega.4c04990。




要点:Bader 分析是在电荷密度网格上寻找零通量面并积分电子数。
要点:优化末步 CHGCAR 不一定适合直接后处理,建议用高精度静态单点准备。
要点:AECCAR0 与 AECCAR2 相加可作为更完整的参考密度,改善分界面判断。
要点:FFT 网格、总电子数守恒和口径一致性决定 Bader 数字是否可靠。
