ABACUS 专题

ABACUS PW HSE:个人构建与SCF源文件

编译固定beta12纯PW CPU环境,讲清屏蔽交换参数,给出Si的完整INPUT、STRU、KPT及四步运行入口。

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

下载ABACUS屏蔽HSE的SCF→NSCF实例包,保存为example.zip:

python3 -m zipfile -e example.zip .
cd abacus-screened-hybrid-nscf-example
bash results.sh
bash read.sh
bash plot.sh

以上使用集群已经完成的实际结果,不会启动新的DFT。本例采用固定源码的ABACUS3.11.0-beta12、纯PW CPU独立构建,提交号52bc7978961c6fb4be330205cf71f00438c68497;Intel oneAPI2024.2、Intel MPI2021.13、MKL顺序库与现有LibXC。共享常规模块不等同于本篇个人构建;请按下列步骤准备自己的程序。

体系是5.43 Å硅的2原子原胞,SG15 Si赝势、40 Ry截断、2×2×2完整均匀源网格,8条源能带;目标路径另取Γ–X的9个点与12条带。这个网格用于小规模操作演示,未证明材料带隙、截断或交换积分已经收敛。

1. 构建个人PW程序#

bash prepare-source.sh
sbatch build.slurm
# 编译作业结束后
"$HOME/apps/abacus-beta12-pw/bin/abacus" --version

准备脚本从规范上游deepmodeling/abacus-develop下载固定提交,核对源码包SHA256;同时从该源码的tests/PP_ORB复制本例匹配的SG15 Si赝势。相关出处和哈希记录在SOURCE.json。

编译脚本在CPU队列申请整节点56核,实际使用8个编译线程,安装到个人目录$HOME/apps/abacus-beta12-pw。使用icx/icpx/ifx、Intel MPI和顺序MKL,启用LibXC,关闭LCAO、LibRI、ELPA与CUDA,得到本例所需的PW CPU环境。它使用AVX-512,运行目标是Intel Xeon 8173M这一类CPU;不要把这个构建直接移到不支持相同指令集的GPU节点主机CPU上。

cat build.slurm
cat SOURCE.json

本例不需要修改公共软件目录或覆盖已有程序。你自己的路径不同,可调整YS_ABACUS_BIN;完整运行脚本默认读取上述个人安装路径。

2. HSE参数的三个数字要分清#

参数 本例数值 含义
exx_fock_alpha 0 全程1/r精确交换项
exx_erfc_alpha 0.25 短程erfc(ωr)/r精确交换项
exx_erfc_omega 0.11 屏蔽参数,Bohr⁻¹

在这个版本里,exx_fock_alpha=0不表示HSE没有精确交换,短程项仍为25%。不能把它机械改成0.25,那会加入全程交换,并与本例limits设置冲突。泛函设置要以对应版本的参数定义为准。

配套使用exxace=false、exx_gamma_extra=false与exx_singularity_correction=limits。本篇不演示SOC、无屏蔽交换或这个NSCF流程中的力/应力。

3. 完整SCF输入#

cat inputs/scf/INPUT
cat inputs/scf/STRU
cat inputs/scf/KPT

INPUT:

INPUT_PARAMETERS
suffix hybrid
basis_type pw
ntype 1
nspin 1
nelec 8
nbands 8
ecutwfc 40
scf_thr 1e-8
scf_nmax 160
pw_diag_thr 1e-10
dft_functional HSE
symmetry -1
ks_solver cg
smearing_method fixed
mixing_type broyden
mixing_beta 0.3
cal_force 0
cal_stress 0
kpar 1
bndpar 1
exxace false
exx_gamma_extra false
exx_singularity_correction limits
exx_fock_alpha 0
exx_erfc_alpha .25
exx_erfc_omega .11
pw_seed 788017
calculation scf
out_chg 1
out_wfc_pw 2
out_freq_ion 0

STRU:

ATOMIC_SPECIES
Si 28.0855 Si_ONCV_PBE-1.0.upf

LATTICE_CONSTANT
1.889726877774355

LATTICE_VECTORS
0 2.715 2.715
2.715 0 2.715
2.715 2.715 0

ATOMIC_POSITIONS
Direct
Si
0
2
0.000000000000000 0.000000000000000 0.000000000000000 1 1 1
0.25 0.25 0.25 1 1 1

KPT:

K_POINTS
0
Gamma
2 2 2 0 0 0

scf_thr是ABACUS密度残差标准,不要与VASP的能量收敛参数直接当成同一个单位。本例使用1E−8以便细致比较同k点能级;cal_force=0、cal_stress=0,目标是电子结构衔接。源SCF必须是完整、均匀加权的网格,不能用绘图用的高对称路径当交换源。

4. 提交完整四步例子#

sbatch run.slurm

脚本依次运行源SCF、同k点HSE NSCF、新路径HSE NSCF和固定HSE密度上的PBE对照,分别保存在work/的四个子目录。申请56核,实际使用8个MPI进程、每进程1线程;小算例不代表56核性能测试。

SCF结束应得到:

work/scf/OUT.hybrid/
  hybrid-CHARGE-DENSITY.restart
  eig_occ.txt
  wfk1_pw.dat ... wfk8_pw.dat
  INPUT.info

这里8个wfk对应8个源k点。NSCF需要电荷密度、二进制源波函数和含k权重的占据,不能仅复制一张电荷密度就认为已经带上HSE交换源。

本次实际SCF收敛,精确交换能约−12.31654 eV;但不要用一个能量分量代替方法和能带空间检查。下一篇用同k点复现及新路径检查文件衔接。设置依据见ABACUS官方PW屏蔽杂化NSCF说明。

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

查看配图

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

100%查看原图 ↗