QE EPW能带与声子:路径、Wannier中心和单位
从201点原生路径输出生成4条价带与6条声子分支,并读取Wannier中心和粗网格对照。
阅读本篇目录
下载QE/EPW完整输入、真实结果与绘图脚本,保存为example.zip:
python3 -m zipfile -e example.zip .
cd qe-epw-diamond-examples
bash results.sh
bash plot.sh
以上只读取参考结果和绘图。需要自己计算时,先按完整流程提交两阶段任务;输入在inputs/,参考原生输出在reference-results/,十份数据表在data/。本组使用QE7.6/P100入口,NVHPC25.3、HPC-X2.22.1、CUDA12.8和MKL2023.2,每次一个MPI进程、两个CPU线程、一张GPU。图中的数据来自鸢算科技集群实际计算。
1. 在已有矩阵上插值路径#
先完成基础任务和后处理任务。后处理使用的完整路径输入是:
--
&inputepw
prefix = 'diam'
amass(1) = 12.01078
outdir = './'
iverbosity = 0
elph = .true.
etf_mem = 0
vme = 'dipole'
epwwrite = .false.
epwread = .true.
nbndsub = 4
wannierize = .false.
num_iter = 300
iprint = 2
dis_win_max = 12
dis_froz_max= 7
proj(1) = 'f=0,0,0:l=-3'
elecselfen = .true.
phonselfen = .false.
a2f = .false.
fsthick = 15 ! eV
temps = 300 ! K (same as PRB 76, 165108)
degaussw = 1.0 ! eV
dvscf_dir = './save/'
band_plot = .true.
filkf = 'path.dat'
filqf = 'path.dat'
nk1 = 3
nk2 = 3
nk3 = 3
nq1 = 3
nq2 = 3
nq3 = 3
/
band_plot=.true.输出路径谱;filkf和filqf都指向path.dat。这个文件第一行是201 crystal,从(0.5,0,0)走到Γ,再到(0.5,0.5,0),共201点。它不是均匀积分网格。只改变路径与读取矩阵时,不必重新跑PW/PH。
head -5 inputs/path.dat
head -5 reference-results/post/epw4/band.eig
head -5 reference-results/post/epw4/phband.freq

2. 电子和声子文件的单位不同#
band.eig的能量是绝对eV。本例画图减去细网格费米能13.576268eV;不能把前几个负数误当成已经减过费米能的结果。phband.freq中的6个数是meV,不是cm⁻¹。坐标行是笛卡尔倒空间、以2π/alat为单位;绘图横轴累加相邻点距离,避免把k点编号当距离。
本例声子路径最高约164.0474meV,Γ点3条声学支接近0。这里只展示粗网格插值,仍应对真实材料检查晶格、q网格和声学和规则。
bash plot.sh
head -4 data/interpolated-path.csv
3. Wannier中心和展宽怎样看#
sed -n '/Final State/,+12p' reference-results/diam.wout
cat data/Wannier-centres.csv
4个中心约在(±0.439379,±0.439379,±0.439379)Å的sp3四面体位置,各自展宽约0.57701974Ų,总展宽2.308078951Ų。中心可能位于相邻晶胞的等价像中,不能仅因坐标为负就判为错误。
4. 检查插值是否还原原来的粗网格#

包中读取器按diam_hr.dat中的简并权重计算H(k)=Σ_R H(R)exp(i2πk·R)/d(R),不拟合任何能量平移。27个粗网格、每点4条价带的最大差约9.02×10⁻⁶eV;文本哈密顿量只打印6位小数,会有相应的舍入差。
head -5 data/coarse-Hamiltonian-comparison.csv
粗网格吻合说明数据衔接正确,不等于细网格已经收敛,也不能由4条价带图讨论没有纳入的导带。