ABACUS 专题

ABACUS 原子轨道基组控制

真实Si2的半径、SZV/DZP/TZDP比较,区分两套赝势泛函和基组误差。

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

下载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 先固定比较条件#

基组控制应保持几何、赝势、交换关联泛函、k点和SCF设置一致。总能量差只在同一套物理模型里比较,不能将LDA与PBE的绝对能量拼在一起。本例分成两个独立系列:

  • LDA:相同Si.pz-n-nc.UPF、2³完整k网格,生成的6/8/10Bohr最小SZV,与8Bohr库DZP比较。
  • PBE:相同Si_ONCV_PBE-1.0.upf、3³完整k网格,库6Bohr DZP、8Bohr DZP和8Bohr TZDP比较。

所有体系均为同一Si2固定晶胞、80Ry辅助网格。DZP/TZDP中的zeta是径向函数数量,极化函数增加角向表达能力;它们不是仅增加截断半径。

2 查看完整轨道选择#

各目录完整INPUT/STRU/KPT都在附件inputs。STRU的NUMERICAL_ORBITAL行决定实际轨道文件;例如PBE TZDP使用3s3p2d,每个原子22轨道,Si2共44个,DZP为2s2p1d、每个13、合计26。生成的最小SZV为1s1p、合计8。

python - <<'PY'
from pathlib import Path
for name in ['si-nao-6au-k3','si-qo-szv-sp-k3','si-nao-tzdp-k3']:
    s=(Path('inputs')/name/'STRU').read_text()
    print(name,s.split('NUMERICAL_ORBITAL',1)[1].split('LATTICE_CONSTANT',1)[0].strip())
PY

注意轨道文件名中的50/100Ry等是库文件的生成标签;本次实际辅助网格截断能由INPUT的ecutwfc 80决定,两者不能互相替代。

3 提取本例实际总能量#

python - <<'PY'
import csv
names=['si-generated-6au','si-generated-8au','si-generated-10au',
       'si-lda-library-dzp','si-nao-6au-k3','si-qo-szv-sp-k3','si-nao-tzdp-k3']
with open('reference/analysis/conditions.csv') as f:
    for r in csv.DictReader(f):
        if r['name'] in names:
            print(r['XC_family'],r['name'],'NAO数',r['NAO_dimension'],'E/eV',r['E_eV'])
PY
系列 轨道 轨道数/Si2 实际总能量/eV
LDA 生成SZV 6Bohr 8 -256.823197960
LDA 生成SZV 8Bohr 8 -259.140849047
LDA 生成SZV 10Bohr 8 -259.495261048
LDA 库DZP 8Bohr 26 -259.596966087
PBE 库DZP 6Bohr 26 -211.940551465
PBE 库DZP 8Bohr 26 -213.494651344
PBE 库TZDP 8Bohr 44 -213.742760484

分开的LDA和PBE基组能量对照

生成SZV从8到10Bohr,总能仍变化约0.3544eV/Si2;10Bohr与匹配库DZP相差约0.1017eV/Si2。因此“文件可读、SCF收敛”不能等同于“基组足够准确”。PBE库DZP从6到8Bohr变化约1.5541eV/Si2;8Bohr DZP到TZDP还变化约0.2481eV/Si2。库基不一定严格嵌套,本例能量下降不能推广为任意轨道标签都保证单调。

4 用自己的体系怎么做#

先选匹配的成熟赝势和轨道库,固定结构后按实际目标比较能量差、力、应力及所需电子性质,再分别收敛k点与辅助网格。最终用于优化时,还要确认基组改变没有让结构或力发生不可接受的变化;本篇没有计算力/结构收敛,不给统一“8Bohr一定足够”的结论。

如果要构造小QO模型,先完成NAO基础计算的数值控制,再独立检查QO模型和插值误差。增加QO数不能弥补源SCF基组本身不足。

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

查看配图

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

100%查看原图 ↗