示例 16-3:金刚石 Si 的电子局域函数(ELF)¶
目的¶
- 用
LELF = .TRUE.写出 ELFCAR,掌握 ELF 计算的并行限制(KPAR = 1、NPAR = 1); - 在 VESTA 中画出 Si–Si 共价键的 ELF 等值面和 (110) 切片。
对应教程:第16章 电荷与成键分析(§6)。
文件说明¶
| 文件 | 说明 |
|---|---|
INCAR |
PREC = Accurate、LELF = .TRUE.、KPAR = 1、NPAR = 1 |
POSCAR |
金刚石 Si 原胞,a = 5.431 Å(实验值) |
KPOINTS |
Γ 中心 8×8×8 |
job.slurm |
Slurm 作业脚本 |
POTCAR |
不提供:cat $VASP_PP_PATH/potpaw_PBE/Si/POTCAR > POTCAR |
运行步骤¶
cd VASP/examples/16-elf-si
cat $VASP_PP_PATH/potpaw_PBE/Si/POTCAR > POTCAR
sbatch job.slurm # 或:mpirun -np 8 vasp_std > vasp.out
预期结果 / 如何检查¶
- 在 VESTA 中打开 ELFCAR,等值面设为约 0.8:每个 Si–Si 键中点附近出现一个局域区域(共价键);
- Utilities → 2D Data Display,切 (1 1 0) 面:键中点 ELF 接近 1,原子之间的空旷区很低;
- 想做原胞之外的大图,在 VESTA 中把 Boundary 设为 0–2 即可,不需要重新计算。
注意事项¶
- 用
KPAR > 1会报ELF: KPAR>1 not implemented;用vasp_ncl会得到WARNING: ELF not implemented for non collinear case; - ELF 在平面波网格上计算,原子核附近的数值受 PAW 赝化影响,只解读价层区域;
- ELFCAR 的数值不乘体积;用 ASE 的
VaspChargeDensity读取时它会被除以体积,需要乘回来。