ATAT 专题

ATAT并行枚举:mpigenstr与串行结果对照

并行生成FCC二元两原子以内的四个结构,并核对空间群和实际几何。

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

接着MPI任务分发教程操作,当前目录应为ATAT-MPI且已完成bash run.sh。完整实例包。同一个作业还比较了原生串行genstr和包装器atat-mpigenstr。

1 查看母晶格和枚举参数#

cat new-work/lat.in
grep -c '^end$' new-work/genstr-serial.log new-work/genstr-MPI.log

母晶格完整内容为:

3.6 3.6 3.6 90 90 90
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
0 0 0 Cu,Au

Cu,Au表示该FCC格点允许两种元素占位。作业内已实际执行:

genstr -n=2 -sig=8 -l=lat.in
atat-mpigenstr -n=2 -sig=8 -l=lat.in

这里-n=2表示枚举晶胞最多两个原子,不是生成两个结构。-sig=8设置输出精度,-l指定母晶格。两种调用都生成四个结构,每个结构后有一行end。

2 理解这四个结构#

head -30 new-work/genstr-MPI.log
bash plot.sh
ls -lh new-work/figures/*.png

原生枚举得到的四种结构

分别为纯Cu、纯Au,以及1:1组分的L1₀和L1₁两种有序占位。独立空间群识别得到225、225、123、166。纯元素只需要一个原子原胞;二元有序结构需要两个原子表示其化学占位。

这些是母晶格上对称不等价的构型,不是已经做过能量比较的稳定相。图中使用同一个给定晶格参数,不代表Cu、Au及有序合金具有相同的平衡晶格常数。

3 怎样比较串行与并行输出#

cat new-work/RESULT.json

流程按end拆开结构、排序后逐项比较原生文本,并读取晶胞/原子坐标做空间群检查。并行程序可能改变输出顺序,因此比较时应按完整结构分组;不能只对整份文件逐行比较后,就把顺序变化当成结构缺失。

前一篇有六个EMT能量工作项,本篇有四个枚举结构,这是两件不同的事。这里没有给四个枚举结构算出混合焓或相稳定性;要继续做簇展开,需要为它们准备一致的能量计算,并增加足够的训练和验证构型。

atat-mpigenstr和其他MPI包装器需要真正的Slurm资源分配,不要在登录终端手工伪造SLURM_JOB_ID。本例不启动mpimmaps自动拟合主控;该流程需要另外配置结构能量反馈与停止恢复方式。

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

查看配图

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

100%查看原图 ↗