3.4.3 Bader电荷#
通过分析“电荷密度差分”,可以直观、定性地分析出结构的原子在成键前后的电荷转移情况,比如在层状材料MgB2的电荷密度差分中,很容易看出B-B层间有电子聚集,而相应的Mg周围的电子减少了。因此可用推断Mg向B原子层转移了电子,符合我们朴素的化学直觉,即金属向非金属原子转移电子。是否可用定量地分析转移的电子数目呢?有一种直观地分析方法,即“分子中的原子”(Atom in Molecular, AIM)方法,计算出来的电荷叫Bader电荷(因为该方法提出者是Bader)。基于该方法,通过分析计算出来的Bader电荷可以简单地知道电荷转移数目,并粗略地估计元素化合价。
下面是对AIM方法的介绍:“AIM方法将电子密度零通量面定义为原子间的分界面, 划分出的每个原子独立的空间被称为原子盆. 在分界面上没有电子密度梯度线穿过, 即满足 Δ ρ(rʹ)·n(rʹ)=0, 这里rʹ为原子界面上的任意点, n为界面上的单位法矢量, ρ是电子密度函数. 这样的空间划分从量子力学角度来看理论意义明确, 在每个原子盆内维里定理得到满足. 对原子盆内电子密度积分并与核电荷求差值即得到原子电荷 qA = ZA -∫ΩA ρ(r) dr 。这里ΩA代表A原子盆. 注意以AIM的划分, 在特殊条件下可能会出现不含原子核的原子盆, 被称为赝原子. 例如锂金属的两个锂原子间就存在赝原子,这是由金属键所导致的. 另外还可能出现一个盆内包含不止一个原子核的情况, 如 KrH+体系中 Kr 由于电子分布范围过广而淹没了氢. 这些情况都无法使用AIM方法来计算原子电荷。”
简单来说,AIM方法就是对三维空间中的电荷密度以某种规则进行分割,把不同电荷密度归属到不同的原子上,再计算这个原子周围的电子密度积分,得到电荷数。
在这里,我们以MgB2为例采用AIM方法计算Bader电荷。步骤参照于链接:VASP计算笔记-Bader电荷分析 - 知乎 (zhihu.com)
(1)首先需要准备两个程序 bader 和chgsum.pl
bader官网: theory.cm.utexas.edu/henkelman/code/bader/

chgsum.pl: http://theory.cm.utexas.edu/code/vtstscripts.tgz
将下载后的压缩包上传到服务器的某个目录,比如~/bin/Bader目录下
然后用tar命令将文件解压缩(可自行搜索tar命令使用,或者gpt查询如何在linux下对压缩文件解压):
tar -xvzf bader_lnx_64.tar.gz
tar -xvzf vtstscripts.tgz
这时候得到了一个bader文件和一个vtst文件夹,我们只需要这个文件夹里面的chgsum.pl文件,用cp命令拷贝到~/bin/Bader目录下即可
再对bader和chgsum.pl两个文件赋予可执行权限(之后它们变绿了):
chmod +x bader
chmod +x chgsum.pl
(2)接着VASP计算
MgB2的POSCAR
mgensium diboride
1.0
3.068802008 -0.000000000 0.000000000
-1.534401004 2.657660498 -0.000000000
-0.000000000 -0.000000000 3.525151116
Mg B
1 2
Direct
0.000000000 0.000000000 0.000000000
0.333333343 0.666666687 0.500000000
0.666666627 0.333333313 0.500000000INCAR文件在普通的静态自洽计算的基础上再加上LAECHG=.TRUE.和LCHARG=.TRUE. 即可。POTCAR和KPOINTS采用vaspkit生成,取2πx0.025的密度。计算完成时,会输出三个后续bader电荷涉及到的文件:CHGCAR,AECCAR0,AECCAR2
(3)运行~/bin/Bader/chgsum.pl AECCAR0 AECCAR2 , 这时候会多出一个CHGCAR_sum
~/bin/Bader/chgsum.pl AECCAR0 AECCAR2
Atoms in file1: 3, Atoms in file2: 3
Points in file1: 129024, Points in file2: 129024(4)运行 ~/bin/Bader/bader CHGCAR -ref CHGCAR_sum
~/bin/Bader/bader CHGCAR -ref CHGCAR_sum
GRID BASED BADER ANALYSIS (Version 1.04 02/08/20)
OPEN ... CHGCAR
VASP5-STYLE INPUT FILE
DENSITY-GRID: 48 x 48 x 56
CLOSE ... CHGCAR
RUN TIME: 0.04 SECONDS
OPEN ... CHGCAR_sum最后输出ACF.dat BCF.dat和AVF.dat三个文件,这些文件的含义请查前面的bader官网,这里我们只需要分析第一个ACF.dat文件
(5)ACF.dat文件
[zpwu@nodel Bader]$ cat ACF.dat
# X Z CHARGE MIN DIST ATOMIC VOL
L 0.000000 0.000000 0.000000 0.852736 0.585610 8.485625
2 -0.000002 1.771774 1.762576 3.564887 0.775153 10.057029
3 1.534403 0.885886 1.762576 3.582376 0.775153 10.207886
VACUUM CHARGE: 0.0000
VACUUM VOLUME: 0.0000
NUMBER OF ELECTRONS: 8.0000最底下一行,是体系的总价电子数=8,Mg的POTCAR是2个价电子,B是3个,可以用grep ZVAL POTCAR查看POTCAR的价电子数。
然后看CHARGE,左边123对应的就是POSCAR的原子坐标顺序,这里第一个是Mg,可以看到Mg的电荷数是0.853, 2-0.853=1.147,意味着Mg失去了1.147个电子;B的电荷数是3.565和3.582,意味着两个B原子分别得到0.565和0.582个电子(0.565+0.582=1.147)。结合前面的电荷密度差分,于是我们定量上得到了MgB2体系的电子转移情况。
注意:
• 需要测试bader电荷随k点和截断能以及FFT网格的收敛情况吗?
这里的ENCUT=500eV,Kspacing=2πx0.025,一般是足够的,可以自行测试。并且PREC=Accurate,基本上保证了电荷计算的精度。同时NGX,NGY,NGZ等参数对bader电荷的结果精度也有一定影响
• 可以自行比较选用更多价电子的赝势计算得到的bader电荷差别
• Bader电荷真的能准确反映电荷转移量吗?
这个问题首先需要给出严格定义“电子属于哪个原子”的方法。在Bader电荷里面是通过电荷密度的零通量面来划分电子属于哪个原子的。但是这能否对应到化学里面的那些化合价是有待商榷的,具体请查看文献:
卢天, 陈飞武. 原子电荷计算方法的对比[J]. 物理化学学报, 2012, 1.