Bader自旋积分与原子区域可视化
实际Fe磁化密度分区,以及NaCl区域密度重建和高清截面图。
阅读本篇目录
下载本篇输入、完整脚本、数据与高清图。解压后在新目录运行,reference保存鸢算科技实际运行的参考结果。
1 输出原子区域与体积#
先按净电荷教程准备CHGCAR和CHGCAR_ref,再运行:
bader CHGCAR -ref CHGCAR_ref -p all_atom
bader CHGCAR -ref CHGCAR_ref -p atom_index
all_atom输出各原子区域的密度文件,atom_index输出网格点所属原子编号。原子从1编号,本例1为Cl、2为Na。下载包还演示所选区域、区域求和及Bader盆编号输出。

图的横纵轴为分数坐标f1、f2,固定f3=0;晶胞为斜原胞,不能把图上横纵长度直接当作笛卡尔Å距离。64³例子的两个区域积分为7.83106799和0.16893184 e。把两个区域密度逐网格相加可完全重建输入CHGCAR。
配套validate_basin_cp.py用原始结构的元素标签重新生成atom-1.vasp和atom-2.vasp,可导入结构可视化工具查看,不必手动猜测输出文件的元素或编号。
2 自旋密度也可以按相同区域积分#
铁磁BCC Fe常规胞含2个Fe。本次VASP设置ISPIN=2、初始MAGMOM=2.5 2.5,13×13×13 k网格,ENCUT=550 eV。CHGCAR包含总电荷和自旋密度两部分;把自旋密度写为单通道文件:
from pymatgen.io.vasp.outputs import Chgcar
c = Chgcar.from_file('CHGCAR')
Chgcar(c.structure, {'total': c.data['diff']}).write_file('MAGCAR')
bader MAGCAR -ref CHGCAR_ref -vac off
仍然使用正的全电子参考密度确定边界,积分对象换为自旋密度。本次结果单位为μB:
| 细网格 | Fe1区域磁矩 | Fe2区域磁矩 | 合计 |
|---|---|---|---|
| 64³ | 2.234900 | 2.233655 | 4.468555 |
| 96³ | 2.234532 | 2.234023 | 4.468555 |
| 128³ | 2.234414 | 2.234141 | 4.468555 |

两个等价原子的微小差异来自网格分区离散化,随加密减小。磁化积分不是电子净电荷,不要再用ZVAL去减磁矩。Bader磁矩与VASP投影球内磁矩采用不同积分区域,也不必逐项相等。
3 什么时候需要保存区域文件#
用于显示电荷分布、选定原子群的空间范围或对同一分区积分其他标量场时,可保存区域或索引文件。比较不同结构的电荷转移,仍需保持清楚的原子对应、计算参数和网格设置;不能将两个不同体系的“1号区域”自动视为同一个化学对象。
参考:Bader选项与区域输出说明。下载包附完整命令和所有数字结果。