QE专题

QE EPW电子自能:逐模贡献、线宽和费米窗口

读取逐模ImSigma,明确文件表头与实际数值的区别,再换算FWHM而不是重复乘因子。

更新于 2026-11-12约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载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. 打开电子自能与逐模输出#

基础输入已经设置:

iverbosity = 3
elecselfen = .true.
temps = 300
degaussw = 1.0
fsthick = 15

temps单位K,degaussw和fsthick单位eV。本例展宽1eV很大,用来快速学习文件;真实定量结果需检查细网格与更合理的展宽。

head -10 reference-results/linewidth.elself.300.000K
head -5 data/electron-selfenergy.csv

原文件一行对应k点、能带、E−EF、声子模式、ImΣ。2原子原胞有6个声子模式,因此每个(k,band)有6行。6个贡献相加得到该电子态的自能虚部。

2. 特别留意2倍因子#

QE7.6这份输出第一行写了linewidth = 2*Im(Sigma),但后面实际写入的是ImΣ,单位meV,这可以从同版源码selfen.f90写出位置核对。包中明确分为两列:

CSV列 含义
ImSigma_meV 6个模式的虚部相加
FWHM_meV 完整展宽,等于2×ImΣ
mode1_ImSigma_meV等 各模式贡献

不能先把原数据当作FWHM,又再除以2。若要估算寿命,先明确使用的是半宽还是完整线宽;本例不把大展宽、粗网格的数字作为材料寿命推荐值。

电子态线宽与模式贡献

3. 只解释费米窗口内的态#

本例fsthick=15,图和模式均值只使用|E−EF|<15eV的723个电子态。窗口外深价带的数值不能直接解释为完整自能;求和和散射可访问的能带范围也需要单独收敛。

下面直接用CSV计算窗口内FWHM范围:

python3 - <<'PY'
import csv
rows=list(csv.DictReader(open('data/electron-selfenergy.csv')))
v=[float(r['FWHM_meV']) for r in rows
   if abs(float(r['E_minusEF_eV'])) < 15]
print('states:',len(v))
print('FWHM range / meV:',min(v),max(v))
PY

实际得到723个态,FWHM约79.0900–374.6238meV。这是大展宽与粗网格测试模型的输出;真实材料应重新计算收敛后的数值。

4. 简并电子态的比较方式#

严格简并的几条能带可以在同一子空间旋转,逐带自能对角元会变,但子空间的迹应一致。比较重启路径时,先核对能量和插值设置,再比较简并子空间总贡献,不能只把“第2带”与另一次运行的“第2带”硬配对。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗