ABACUS 专题

ABACUS NEP:读取检查点续算

从真实第35步检查点续算到79步,与连续轨迹比较,说明追加输出和重复帧的处理。

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

续算必须同时恢复结构、速度和分子动力学状态。只把最后一张图片作为新的STRU并重新生成速度,会变成新的初态。本篇从NVE40已经写出的检查点继续到80帧,并与从头连续运行的NVE80对照。

下载完整输入、参考CSV与运行脚本。

unzip abacus-NEP-MD-wave675-*.zip
cd abacus-NEP-MD
bash results.sh
bash plot.sh

以上两步读取本集群已完成的参考数据并重绘,不启动计算。inputs/存放完整输入,reference-data/是参考表,新计算写入work/,新提取表写入results/。每个资料包都附独立环境的编译脚本;已有本篇环境时可复用,无需反复编译。 运行前先按NEP独立环境编译本地工具链。若工具链已在相邻的abacus-beta10-NEP目录中:

bash use-toolchain.sh ../abacus-beta10-NEP/toolchain/install
sbatch job.slurm

第一套资料包本身使用自己的toolchain/install,无需再选择路径。脚本申请cpu-8173m的56核独占整节点;本例内部按需要使用1、2或4个MPI进程,仍按整节点计费。CPU资源暂不可用时可以先看参考数据,待可用后提交。本文结果不作为CPU节点性能测试。

本组统一使用固定ABACUS 3.11.0-beta10(源码提交40e7ce8c575abb2ae7fc0df1bd6ec4b48a695d2d)和NEP_CPU 629ec5d,oneAPI 2024.2的icx/icpx/ifx、Intel MPI 2021.13、顺序MKL 2024.2,面向AVX512 CPU。此独立构建启用PW和NEP_CPU,关闭LCAO、ELPA、LibRI、Libxc、MLALGO、CUDA和OpenMP;不是覆盖全部电子结构功能的通用构建。公共ABACUS 3.10.1模块不提供这里使用的新接口。

1. 先运行基础MD并找到检查点#

sbatch job.slurm

作业完成后:

head work/nve40/OUT.nep/Restart_md.txt
ls work/nve40/OUT.nep/STRU

本例md_restartfreq 5、输出帧0–39,保存的最后检查点是 35,结构为STRU_MD_35,不是凭md_nstep 40推断的40。应以实际重启文件为准。

2. 提交续算#

sbatch restart.slurm

脚本把整个work/nve40复制到新的work/nve-restart80,保留原结果,然后修改以下参数:

md_nstep 80
md_restart 1
init_vel 1
md_tfirst -1
md_tlast -1

md_nstep设的是新的绝对总步数上限,不是额外再增加80步。md_restart 1恢复已有状态,init_vel 1配合重启读取速度;−1温度设置避免重新按指定温度初始化速度。这里的流程按当前固定版本实际检查点格式编写,不能随意混用另一版本生成的文件。

cat work/nve-restart80/INPUT
head work/nve-restart80/OUT.nep/Restart_md.txt
head work/nve-restart80/restart.log

3. 续算输出为何有重复编号#

本例复制整个原目录后,MD_dump继续追加:旧0–39帧仍在,又追加35–79帧,总共85条记录,但唯一编号只有80个。35–39出现两遍不表示模拟多走了五步,也不应把轨迹当成85个等间隔新时刻。

配套md_read.py按绝对步号读取,遇到重复编号保留最后一条作为派生分析视图,原始MD_dump不改写。后续分析应先明确使用续算后的记录,而不是对重复帧求平均。

source ./env.sh
"$PYTHON_FOR_ANALYSIS" - <<'EOF'
from pathlib import Path
from md_read import dump
frames,raw=dump(Path('work/nve-restart80'))
print('原始记录',raw,'唯一帧',len(frames))
print('首末编号',min(frames),max(frames))
EOF

以上只读取轨迹,不运行新MD。输出应为85条原始记录、80个唯一帧、编号0–79。MD日志显示的步号和轨迹绝对编号还可能相差1,配套读取函数已经转换到轨迹编号。

4. 实际与连续运行相差多少#

第35–79步整段比较 最大差
周期最小像坐标 2.025×10⁻⁸ Å
速度 1.09×10⁻⁹ Å/fs
力 3.22×10⁻⁷ eV/Å
每原子总能 当前打印精度下0

真实检查点续算与连续运行的逐步坐标差,以及64Si最后结构

head reference-data/ABACUS-NEP-MD-restart.csv
cat reference-data/ABACUS-NEP-MD-summary.csv

这些数值说明本组初态和固定版本能够恢复轨迹,不能推广成所有恒温/恒压方法、任意软件版本之间的重启兼容保证。跨版本继续生产任务前应保留原检查点并做短段比较。

参考数据下载#

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

查看配图

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

100%查看原图 ↗