qvasp能带、DOS与分原子态密度
从实际Si、Cu和磁性Fe结果提取能带及态密度,明确费米能和自旋画图约定。
阅读本篇目录
本篇使用鸢算科技集群实际生成的结构或已经完成的VASP计算数据。环境为官方Linux预编译qvasp2.26(模块 qvasp/2.26),辅助环境为ASE3.29.0、Spglib2.7.0、NumPy和Matplotlib;qvasp原生二进制的编译器版本未公开确认,不将它写成本地重新编译版本。
下载输入、真实数值数据与绘图脚本。解压进入目录,以普通账号运行:
bash run.sh
运行后查看 work/cases、work/analysis-core、work/analysis-extra 和 work/figures。这一命令执行文件准备和后处理,不启动VASP。包内不含POTCAR、WAVECAR或完整原始OUTCAR/XML;精简OUTCAR由明确标注的实际数值摘录生成,仅供工具练习。处理自己的任务时应使用自己的完整原始文件。
1 从真实Si能带文件提取#
前置流程是结构优化→均匀网格SCF→能带路径计算→提取与画图。准备好自己计算的EIGENVAL、CONTCAR和OUTCAR后:
qvasp -bandd
交互先输入前置SCF的费米能,本例为 5.8214;HSE询问回车表示否。该Si PBE例子价带顶5.614891 eV,导带底6.225916 eV,间接带隙约0.611025 eV;这是本例设置下的结果,不是实验带隙预测。
路径格式需要对应#
本例原始显式路径有101个已计算k点,拐点不重复。直接交给当前qvasp,输出会漏掉三个拐点后的首点,路径距离也缩短。资料包的 bands-Si-endpoint-format明确将三个已算端点各重复一次,104条格式记录仍只有101个原始样点,无插值、无新增DFT;原生band.dat随后完整保留这101个样点。逐行映射见 SOURCE-POINT-MAPPING.json。这只是本包路径的适配,别将三个索引照搬到其他结构。
cd work/cases/bands-Si-endpoint-format
cat SOURCE-POINT-MAPPING.json
head band.dat
自己的连续路径也可选择合适的VASPKIT能带流程,并检查k点数和路径端点,不能只看是否生成图片。
2 明确纵轴:VBM=0还是费米能=0#
本版本对这个半导体自动将价带顶设为零。即使交互输入SCF费米能,原生 band.dat仍是E−VBM。&用于分隔各条带及绘图辅助线,并非数值行。若要以SCF费米能为零,使用:
E - E_F = (E - VBM) + 5.614891 - 5.8214
资料包 bands-Si-endpoint-format.csv已做明确转换。两种纵轴的带隙相同,能量零点不同:

3 总态密度和原子投影#
DOS应来自合适的均匀积分网格,而不是直接用高对称路径计算充当DOS。实际例子包括Si2、Cu4与磁性Fe2:
qvasp -dosd
ls DOS*.dat
qvasp -ldos 1 2
head LDOS.dat
DOS0.dat是总DOS,DOS1.dat、DOS2.dat等对应POSCAR中的原子编号。-ldos 1 2逐轨道求和选中两个原子,不能写成元素编号;若要选某一元素,先按POSCAR顺序找到它的所有原子编号。
Si、Cu例子有2001个能量点;磁性Fe例子301个点。能量零点分别来自各自OUTCAR:Si为5.8214、Cu为7.4029、Fe为5.3951 eV。保留OUTCAR四位小数参考时,与DOSCAR头部更高精度费米能之间可有小的零点差,不要误判成能带发生物理移动。

4 自旋向下负号和LDOS末列#
Fe的向下自旋列为镜像负值,方便上下画图;负号不是“负的态密度”。需要物理上下自旋总量时,应先还原向下通道的正号再相加。
LDOS保留轨道顺序,末列为全部显示列的代数和。对磁性例子,这一末列可能为负,不应直接解释为总物理DOS。资料包图分别对上、下轨道列求和,保留镜像显示;所有分量都可在各原子文件中检查。
图由包内Matplotlib脚本生成;不同结构的投影DOS不一定精确等于总DOS,投影范围和积分定义也要一致。
参考:qvasp官方教程与模块实际 qvasp -help。在线手册标记2.25,个别行为与当前2.26不同,本文按本例实际输入输出说明。