ABACUS QO能带与插值
同一导出密度上的直接QO、完整NAO和27点插值,区分两类误差。
阅读本篇目录
下载15个原生步骤、完整输入、矩阵和绘图脚本,解压进入附件根目录。先读取已有结果:
bash analyze.sh
结果表在reference/analysis,高清图在reference/figures。如需重新计算,在新解压的目录提交:
sbatch submit.slurm
脚本先生成教学基组,再按依赖运行10个SCF和5个NSCF步骤,最后提取、比较和画图;新的输出在work。已有work时请新解压,脚本不会覆盖已计算目录。
采用ABACUS3.10.1模块abacus/3.10.1-p100,GNU13.3、HPC-X2.50/OpenMPI5.0.10rc2,1个MPI进程、1线程、CPU双精度;ASE3.29.0、NumPy和SciPy用于后处理。模板分配P100主机资源,但这些接口实际走CPU路径,不代表GPU加速,也不是Intel Xeon 8173M性能测试。不要在登录节点直接运行DFT计算。
1 先得到密度,再走两条独立路径#
先运行si-qo-szv-sp-k3,输出SPIN1_CHG.cube。接着五个NSCF读取同一份实际导出的cube:完整NAO直接路径、sp/spd直接QO路径,以及sp/spd的3×3×3均匀QO网格。脚本自动检查依赖和传递文件;不用手动复制不同精度的密度混在一起。
直接路径为Γ–X–W–L–Γ,每段20个间隔,包含最后端点共81个点。它是本例指定的fcc硅原胞坐标路径,不是任意晶胞通用坐标。
2 查看直接路径输入#
以下为si-qo-path-sp的完整INPUT和KPT,STRU与QO实操相同。
INPUT_PARAMETERS
suffix tutorial
pseudo_dir ../../PP_ORB
orbital_dir ../../PP_ORB
ntype 1
basis_type lcao
calculation nscf
ecutwfc 80
nbands 14
ks_solver genelpa
symmetry -1
device cpu
precision double
scf_thr 1e-7
scf_nmax 100
smearing_method fixed
cal_force 0
cal_stress 0
out_chg 0
out_mat_hs 1 12
out_wfc_lcao 1
qo_switch 1
qo_basis szv
qo_strategy sp
qo_thr 1e-8
qo_screening_coeff 0.1
init_chg file
out_band 1
K_POINTS
5
Line
0 0 0 20
0.5 0 0.5 20
0.5 0.25 0.75 20
0.5 0.5 0.5 20
0 0 0 1
init_chg file读固定密度;out_band 1写原生BANDS。LCAO NSCF可能没有istate.info,此时读取BANDS_1.dat:前两列为序号和路径坐标,后面才是以eV计的各带本征值。
head -n 3 reference/cases/si-qo-direct-bands/OUT.tutorial/BANDS_1.dat
3 直接QO与完整NAO比较#

全部曲线使用完整NAO价带顶作为共同零点,没有分别平移后再比较。前4条占据态由构造保留;在全部81点、前8条能带上,8个QO的RMS误差为1.574786eV,18个QO为0.277164eV。只比较第5–8条导带,分别为2.227084和0.391970eV。这是本例实际模型误差,不是所有体系的精度承诺。
4 再做均匀网格到路径的插值#
后处理同时调用官方k_extrapolation和独立傅里叶求和:27个k点对应R∈{−1,0,1}³,正反归一化匹配;读取QO矩阵头部15位分数k坐标,避免普通kpoints报告8位小数引入回变换误差。保留原始矩阵,不通过强制厄米化、截负本征值或丢掉k点修饰曲线。
python - <<'PY'
import csv
with open('reference/analysis/qo-interpolation.csv') as f:
for r in csv.DictReader(f):
print(r['name'], '直接模型误差/eV',r['representation_RMS8_eV'],
'插值相对直接QO误差/eV',r['interpolation_RMS8_vs_directQO_eV'],
'总误差/eV',r['total_RMS8_vs_NAO_eV'])
PY
| 模型 | 直接模型RMS/eV | 插值相对直接QO RMS/eV | 插值相对完整NAO RMS/eV |
|---|---|---|---|
| 8 QO sp | 1.574786 | 2.008329 | 2.816803 |
| 18 QO spd | 0.277164 | 0.812757 | 0.752192 |
这三个RMS不是可以直接相加的标量;逐点误差可能互相增强或抵消。


3³网格下两模型全部81点S仍为正定,最小本征值分别约0.09608和0.02087,但能带误差仍明显。因此正定只意味着这个广义本征值问题可解,不代表粗网格插值已经收敛。用于自己的体系时,先独立增加QO空间和直接参考带,再加密均匀网格;不要仅凭曲线顺滑就引用有效质量或精确带隙。
方法实现见3.10.1官方QO后处理。