

一、基础理论与计算准备
1. 差分电荷密度的物理意义
差分电荷密度(Differential Charge Density, DCD)反映体系形成过程中的电荷重新分布
2. 计算环境准备
硬件要求:建议使用多核服务器(≥16 核),内存≥64GB,磁盘空间≥1TB
软件配置:VASP 5.4.4/6.3.0 版本,并行库(OpenMPI/Intel MPI),赝势库(PBE/PAW)
必要工具:Python(NumPy, SciPy),可视化软件(VESTA, XCrysDen)



二、计算流程详解
1. 孤立原子计算(以 O 原子为例)
# 创建O原子计算目录mkdir O_atom && cd O_atom
# POSCAR文件(单O原子,置于大晶胞中心) cat > POSCAR O atom 1.0 20.0 0.0 0.0 0.0 20.0 0.0 0.0 0.0 20.0 O 1 Cartesian 0.0 0.0 0.0 EOF # INCAR参数设置 cat > INCAR SYSTEM = O atom ISTART = 0 # 新计算 ICHARG = 2 # 原子电荷密度 ENCUT = 400 # 平面波截断能(eV) ISMEAR = 0 # Gaussian展宽 SIGMA = 0.05 # 展宽参数 NELM = 60 # 最大自洽循环数 PREC = Accurate # 精度设置 EOF # KPOINTS设置(单点计算) cat > KPOINTS Gamma 0 Gamma 1 1 1 0 0 0 EOF # 提交计算 mpirun -np 8 vasp_std > out |
2. 完整体系计算(以 TiO₂表面吸附 O₂为例)
# 创建完整体系计算目录mkdir TiO2_O2 && cd TiO2_O2
# POSCAR文件(包含TiO₂表面和吸附的O₂分子) # … [此处省略具体结构] … # INCAR参数设置(与孤立原子类似,但ICHARG需调整) cat > INCAR SYSTEM = TiO2_O2 ISTART = 0 ICHARG = 2 # 初始电荷密度由原子叠加生成 ENCUT = 400 ISMEAR = 0 SIGMA = 0.05 NELM = 60 PREC = Accurate LCHARG = .TRUE. # 保存电荷密度文件 LORBIT = 11 # 保存投影电荷密度 EOF # KPOINTS设置(使用适当的k点网格) cat > KPOINTS Automatic mesh 0 Monkhorst-Pack 3 3 1 0 0 0 EOF # 提交计算 mpirun -np 16 vasp_std > out |
3. 差分电荷密度计算
# 创建差分计算目录mkdir diff_chg && cd diff_chg
# 复制必要的CHGCAR文件 cp ../TiO2_O2/CHGCAR CHGCAR_system cp ../Ti_atom/CHGCAR CHGCAR_Ti cp ../O_atom/CHGCAR CHGCAR_O 使用VESTA处理得到差分电荷密度图 |


关键参数优化与注意事项
1. 赝势选择
对于过渡金属体系(如 Fe、Co、Ni),建议使用 PAW_PBE_54 赝势
处理含有 f 电子的体系(如稀土元素)时,需启用 RWIGS 参数
2. 精度控制
ENCUT 应比默认值高 20%-30%,确保电荷密度收敛
对于金属体系,建议使用 ISMEAR = -5(tetrahedron method)
3. 计算效率优化
使用 IALGO = 38(RMM-DIIS 算法)加速 SCF 收敛
设置 NCORE 参数(通常为 4-8)优化内存使用


四、结果分析与可视化
1. 使用 VESTA 可视化差分电荷密度
# 加载差分电荷密度文件vesta CHGCAR_diff
# 设置等值面参数 – 选择Isosurface功能 – 设置Positive值为0.005 e/ų(电子聚集区域) – 设置Negative值为-0.005 e/ų(电子耗尽区域) – 调整颜色映射(如Blue-White-Red) |
2. Bader 电荷分析
# 准备Bader分析cp CHGCAR_diff ACF.dat # 复制差分电荷密度文件
bader CHGCAR_diff -ref CHGCAR_system # 基于完整体系划分 # 分析结果 cat ACF.dat # 查看各原子的电荷得失 |


常见问题与解决方案
1. CHGCAR 文件不兼容问题
确保所有 CHGCAR 文件具有相同的网格大小(NGXF, NGYF, NGZF)
使用 vaspkit 的 101 任务调整网格一致性
2. 计算收敛困难
尝试使用 ALGO = All + ISTART = 2 进行二次 SCF 计算
对金属体系启用 AMIX = 0.2, BMIX = 0.001
3. 可视化效果不佳
若等值面显示不连续,可尝试降低等值面值(如 0.002 e/ų)
对于复杂体系,建议结合电子局域函数(ELF)分析