QE:能带绘图格式与参考能量
用Si实际能带运行plotband,区分原始能量、参考平移和路径距离。
阅读本篇目录
下载已有计算数据、完整输入、实际后处理输出、CSV和绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd qe-phonon-band-neb-tools
module load ase/3.29.0 qe/7.6-8173m
bash read.sh
bash plot.sh
本例使用鸢算科技集群的 QE 7.6 CPU 构建,Intel oneAPI 2024.2、Intel MPI 2021.13 与 MKL 环境。这里直接读取已实际完成的电子结构、声子或 NEB 数据,只运行后处理,不重复 DFT。
1. 输入已经是计算好的能带#
本例采用实际 Si₂ 计算经 bands.x 导出的 source-data/si-bands.dat,12条能带、101个路径点。plotband.x 转换绘图格式,没有重新求本征值或重新收敛电荷密度。
文件头与首点示例:
&plot nbnd=12, nks=101 /
0.000000 0.000000 0.000000
-5.729 6.240 6.240 6.240 8.789 8.789 8.789 9.613 13.951 13.951
...
... 表示此处节选,不能作为完整输入;下载包提供原始文件。每点先给三维k坐标,再给12个以eV表示的能量。
2. 完整交互输入#
inputs/plotband.in:
si-bands.dat
-8 24
Si-bands.gnu
Si-bands.ps
6.2977
5 0
行的含义依次为:能带数据文件、显示能量范围、GNU绘图数据文件、PostScript文件、参考费米能、能量刻度间隔与刻度参考值。运行:
mkdir bands-work
cp source-data/si-bands.dat bands-work/
cd bands-work
plotband.x < ../inputs/plotband.in > plotband.out
head Si-bands.gnu
head -n 2 Si-bands.ps
cd ..
3. GNU数据没有自动减去费米能#
Si-bands.gnu 每个能带块由空记录分开。第一列是沿输入路径累积的距离,第二列保留原始eV能量。输入6.2977 eV作为费米能,并不表示GNU文件所有能量都已经减去了这个数。

右图由绘图脚本显式执行 energy - 6.2977。这个数用作本例参考;半导体带隙内的参考位置不是唯一物理能级,不应据此直接读出功函数。
4. 路径与图像的注意事项#
本工具使用输入k坐标累计距离。过大的跳跃可能被当作不同路径段处理,连续重复点也会影响路径识别;组织新路径时,应按材料对应的倒空间坐标检查端点及分段,不要把距离轴无条件称为 Å⁻¹。
grep 'high-symmetry point' bands-work/plotband.out
head analysis-read/Si-band-data.csv
原始 bands.x 文件能量只有三位小数;后处理不能增加原始计算的精度。PostScript中可能对线段做样条插值,这只改变显示,不是补算更密k点。
5. 用Python绘图与读取新输出#
bash read.sh
bash plot.sh
ls figures
默认绘图来自本次实际输出和原始数据。完整 bash run.sh 产生新后处理结果后,使用 bash read.sh work-new analysis-new 和 bash plot.sh analysis-new;资料包README提供个人路径插值工具的构建步骤。