ABACUS 专题

ABACUS:DFPT与BSE实验功能环境

在个人目录编译固定新版及LibRI依赖,为声子响应和BSE实例准备独立环境。

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

本组实例使用固定的ABACUS 3.11.0-beta10源码,在个人目录编译CPU程序,供DFPT线性响应与BSE激发态教程共用。它包含实验性功能,适合先完成小体系操作,再逐项检查实际材料的适用性。

下载输入、脚本与实算参考数据。

unzip abacus-ri-env-wave683-*.zip
cd abacus-ri-env
bash results.sh
bash plot.sh

以上只读取参考数据并重绘,不启动新计算。重新计算请使用新解压的目录。

1. 准备一次环境,后续实例复用#

bash prepare.sh
cat SOURCE-LOCK.json
sbatch build.slurm
squeue -u "$USER"

prepare.sh下载固定源码并核对SHA256;build.slurm申请CPU整节点,在本目录最多16个并行编译进程。不要在登录节点自行启动大规模编译。

组件 本例固定版本
ABACUS 3.11.0-beta10,40e7ce8c575abb2ae7fc0df1bd6ec4b48a695d2d
LibRI b0eff7ad70abe16176bc59f93dd787139ab81c77
LibComm 965bf90713ce5598bae4fd957d417065f77ceb42
cereal 1.3.2
编译器 Intel icx/icpx/ifx 2024.2
MPI与数学库 Intel MPI 2021.13、顺序MKL 2024.2;复用现有ELPA/Libxc

2. 编译哪些功能#

ENABLE_MPI=ON
ENABLE_LCAO=ON
ENABLE_LIBRI=ON
ENABLE_ELPA=ON
ENABLE_LIBXC=ON
ENABLE_OPENMP=ON
ENABLE_MLALGO=OFF
USE_CUDA=OFF
MKL_THREADING=sequential
CMAKE_CXX_FLAGS=-O2 -xCORE-AVX512

程序实际走CPU;运行线程设为1。AVX512编译选项面向相应CPU,不能把生成的程序直接拿到任意旧处理器运行。DeePKS训练和修正SCF使用另一套ML环境,本环境未开启ML接口。

本包在下载到个人目录的源码中应用两项输出调整,完整补丁在patches/:

  • 将五处BSE写文件操作移到assert外,使Release编译也能输出激发能和态振幅。
  • 将DFPT已经求得的响应残差、介电张量、Born有效电荷写入文本文件,便于读数。

这些调整只处理输出,不改变哈密顿量、响应迭代或本征方程。公共模块不替换,也不修改个人.bashrc。

3. 查看安装结果并选择环境#

cat toolchain/BUILD-FINISHED.json
ls toolchain/install/abacus/bin/abacus

进入某个DFPT或BSE实例的解压目录:

bash use-toolchain.sh ../abacus-ri-env/toolchain
bash prepare.sh
sbatch job.slurm

实例程序在work/中写入结果,原始输入保存在inputs/。每次完整重算使用新的解压目录,避免混入上一次的输出。

源码功能与测试输入以固定ABACUS提交为准;本文不把测试入口可运行视为任意体系都已适用。

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

查看配图

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

100%查看原图 ↗