ATAT 专题

ATAT三元簇展开:准备数据并运行MPI拟合

从30个真实EMT构型标签出发,演示原生mpimmaps输入、Slurm提交与正常停止。

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

已有三元构型和能量时,可以使用atat-mpimmaps并行拟合簇展开。下载Cu–Au–Al实例包。本例的30个构型能量由ASE EMT实际计算,固定FCC常规晶格参数3.9 Å,不做结构弛豫;它用来学习数据接口和MPI拟合,不是DFT合金相图。

1 解压,先看目录#

mkdir ATAT-mpimmaps
python3 -m zipfile -e atat-mpimmaps-*.zip ATAT-mpimmaps
cd ATAT-mpimmaps
ls inputs
cat inputs/lat.in

lat.in完整内容为:

3.9 3.9 3.9 90 90 90
0 .5 .5
.5 0 .5
.5 .5 0
0 0 0 Cu,Au,Al

母晶格用Cu,Au,Al表示可占据元素;每个编号目录的str.out明确写出该构型实际的元素与位置,energy是一行该构型的总能量,单位eV/晶胞。不同原子数的晶胞不能直接把总能量当作每原子能量比较。

cat inputs/0/str.out
cat inputs/0/energy
head -n 5 reference/labels.csv

真实构型在三元成分空间的分布

2 提交MPI任务#

sbatch run.slurm
squeue -u "$USER"

脚本申请2个MPI进程,使用ATAT3.52的独立OpenMPI5.0.10包装器,ATAT工具编译环境为GCC13.3。该拟合是CPU任务;随示例使用的V10016G分区资源头不意味着程序调用GPU。按自己的可用分区规则申请资源,在已分配的作业内运行。

后台执行的原生命令为:

atat-mpimmaps -d -t=1 -mv=3 -m=3

-d使用目录中的已有能量。脚本把inputs复制到新建work,等待原生fit.out和交叉验证结果稳定后创建stop文件,请程序正常结束。已有work时使用新目录运行,避免覆盖拟合结果。

3 查看完成状态#

cat work/maps.log
head -n 5 work/fit.out
cat work/atoms.out

本站真实MPI拟合包括30个能量标签,原生交叉验证分数为0.00647735 eV/原子。这个分数只描述本组固定晶格、有限构型与EMT标签,不代表对其他材料或更大训练域的普适精度。下一篇解释结果列、形成能零点与作图。

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

查看配图

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

100%查看原图 ↗