三亩地.
  • 首页
  • 学习日记
  • 项目实战
  • 学习方法
  • 代码技巧
  • 避坑指南
  • 调试经验
  • 实战教程
  • 编程思维
  • 资讯中心
  • 关于我们

资讯详情

深入了解每一个知识点

  • 首页
  • /
  • 资讯中心
  • /
  • 文章详情

ATAT 全功能说明

📅 2026/8/3 3:34:50 👁️ 阅读次数 📝 编程学习
ATAT 全功能说明

ATAT 全功能说明

ATAT 全功能说明
ATAT (Alloy-Theoretic Automated Toolkit) 是材料科学领域最广泛使用的合金理论自动化工具之一。本文档基于 ATAT v3.36 官方文档和示例,系统梳理了 80+ 个命令的功能、参数和使用案例,覆盖团簇展开、SQS 建模、蒙特卡洛模拟、结构枚举、第一性原理接口等全模块。

📦 一、ATAT 简介

什么是 ATAT?

ATAT (Alloy-Theoretic Automated Toolkit) 是由 Axel van de Walle 开发的合金理论自动化工具包,

用于第一性原理相图计算。核心功能包括:团簇展开 (Cluster Expansion)、特殊准随机结构 (SQS)、

蒙特卡洛模拟 (Monte Carlo)、结构枚举与搜索,以及多种第一性原理代码接口。

📌 版本: 3.36 | 📌 官网: https://alum.mit.edu/www/avdw/atat/

📌 论坛: http://alum.mit.edu/www/avdw/forum

🔧 二、核心命令速查表

团簇展开 (Cluster Expansion)

• corrdump — 从晶格结构生成团簇文件 clusters.out

• getclus — 提取团簇信息

• clusterexpand — 团簇展开拟合

• clusterpredict — 团簇展开预测

• csfit — 结构反演拟合 (Concentration-dependent)

• mkteci — 生成 ECI 输入文件

• gce — 广义/张量团簇展开

SQS 建模 (Special Quasi-random Structure)

• mcsqs — Monte Carlo SQS 生成 (最常用)

• gensqs — 从 SQS 数据库生成 SQS 结构

• sqs2tdb — SQS 结构转热力学数据库格式

📌 SQS 数据库支持 33 种常见晶体结构 (FCC_A1, BCC_A2, HCP_A3, L12, B2, ...)

蒙特卡洛模拟 (Monte Carlo)

• emc2 — 半 grand-canonical 系综蒙特卡洛 (Easy Monte Carlo)

• memc2 — 多组分 emc2

• phb — 相界追踪 (Phase Boundary)

• triph — 三相平衡计算

• mcdroplast — 丢弃 MC 初始步

结构操作 (Structure Manipulation)

• genstr — 枚举所有超胞结构

• checkcell — 检查晶胞合理性

• cellcvrt — 晶胞转换 (原胞↔惯用胞)

• makelat — 生成 lat.in 文件

• fixcell — 修正晶胞为标准形式

• str2cif / str2xyz — 结构格式转换

• strpath — 结构路径可视化

• getproto — 识别结构原型

第一性原理接口 (VASP/ABINIT/QE/...)

• ezvasp — 一键 VASP 作业提交

• runstruct_vasp — 批量结构 VASP 计算

• robustrelax_vasp — 稳健结构弛豫

• extract_vasp — 提取 VASP 能量

• cleanvasp — 清理 VASP 输出文件

• 支持接口: VASP, ABINIT, Quantum ESPRESSO, CASTEP, SIESTA, GULP, FLAPW

辅助工具

• svsl — 应变-体积-结构-晶格参数拟合

• fitsvsl — 拟合 svsl 输出

• fitfc — 拟合力常数

• felec — 电子自由能计算

• maps / mmaps — 团簇函数映射分析

• nnshell — 近邻壳层分析

• wycked — Wyckoff 位置分析

• calc — 通用表达式计算器

• kmesh — k 点网格生成

• infdet — 行列式无穷大检测

📐 三、晶格结构输入 — lat.in 格式

lat.in 文件格式

第1行: a b c α β γ (晶格常数 + 角度)

第2-4行: 三个晶格矢量 (笛卡尔坐标)

后续行: 原子分坐标 + 占位元素列表

🔹 示例1: FCC Cu-Au 合金

3.8 3.8 3.8 90 90 90

0 0.5 0.5

0.5 0 0.5

0.5 0.5 0

0 0 0 Cu,Au

🔹 示例2: HCP 结构

1 1 1.63299 90 90 120

1 0 0

0 1 0

0 0 1

0 0 0 A,B

0.6666666 0.3333333 0.5 A,B

内置晶格数据库 (data/str/)

ATAT 内置 30+ 种常见晶体结构模板,包括:

• 单质: FCC_A1, BCC_A2, HCP_A3, DIAMOND_A4, SC

• 有序合金: L12 (Cu₃Au), L10, B2 (CsCl), B32, D0₃, L2₁

• 陶瓷/矿物: ROCKSALT_B1, ZINCBLENDE_B3, WURTZITE_B4, RUTILE_C4, FLUORITE_C1, PEROVSKITE_E21

• 拓扑密堆: C15 (MgCu₂), C14, SIGMA_D8B, A15 (Cr₃Si)

• 访问: ls atat/data/str/

📊 四、团簇展开 (Cluster Expansion) 完整流程

Step 1: 生成团簇文件

corrdump -2=4 -3=6 -4=8 -l=lat.in -ro -noe -nop -clus

参数说明:

• -2=4: 对团簇 (pair) 截断距离 (Å),建议设在 NN1~NN2 之间

• -3=6: 三体团簇截断距离

• -4=8: 四体团簇截断距离

• -l=lat.in: 输入晶格文件

• -ro: 读取占位信息

• -noe: 不输出能量文件

• -nop: 不输出点团簇

• -clus: 输出团簇信息

输出: clusters.out (团簇定义文件)

Step 2: 提取团簇信息

getclus

读取 clusters.out,输出团簇的几何信息和多重度。

Step 3: 准备训练结构能量

对于每个训练结构,需要:

  1. 生成 lat.in / rndstr.in 格式的结构文件

  2. 用 VASP/ABINIT 等计算总能量

  3. 创建能量文件: 结构文件名 + 能量值

能量文件格式:

str1.out -10.5

str2.out -10.3

...

Step 4: 团簇展开拟合

clusterexpand -l=lat.in -cf=clusters.out -e=energy_file

或使用交叉验证:

csfit -l=lat.in -cf=clusters.out -e=energy_file -cv=5

输出:

• eci.out: 有效团簇相互作用 (ECI) 参数

• fit.out: 拟合结果与统计信息

Step 5: 预测新结构能量

clusterpredict -l=lat.in -cf=clusters.out -eci=eci.out

输入新结构,输出预测能量。可与 DFT 结果对比验证。

🎲 五、SQS 特殊准随机结构建模

mcsqs — Monte Carlo SQS 生成

核心命令:

mcsqs -n=32 -l=rndstr.in -cf=clusters.out

参数说明:

• -n=N: 目标超胞原子数

• -l=rndstr.in: 输入结构 (含占位信息)

• -cf=clusters.out: 团簇定义文件

• -rc: 恢复运行 (继续上次计算)

• -2=, -3=, -4=: 团簇截断距离

• -ip: 打印团簇关联函数

• -T=: 模拟温度

典型工作流:

  1. corrdump ... → clusters.out

  2. mcsqs -n=32 → bestsqs.out (最佳 SQS)

  3. sqscell.out → 超胞矩阵

  4. 解析 bestsqs.out → SQS_POSCAR

📌 多核加速: mpirun -np 48 mcsqs -n=32 -rc

gensqs — 从数据库生成 SQS

ATAT 内置 SQS 数据库 (data/sqsdb/),支持 33 种结构:

gensqs -l=lat.in -d=sqsdb -n=32

可用数据库: FCC_A1, BCC_A2, HCP_A3, DIAMOND_A4,

L12, L10, B2, B32, D0₃, L2₁, C15, D0₂₂, 等...

📌 优势: 直接从预计算 SQS 选取,无需 Monte Carlo 搜索

SQS 质量评估

评估指标 (在 bestsqs.out 中):

• Objective function: 目标函数值 (越小越好)

• Pair correlation: 对关联函数与理想值的偏差

• Triple correlation: 三体关联函数偏差

• 匹配原子数: perfect_match / total_atoms

经验法则: objective function < 0.01 为优秀 SQS

🌡️ 六、蒙特卡洛模拟 (Monte Carlo)

emc2 — 半 Grand-Canonical MC

emc2 -T0=50 -T1=700 -dT=25 -mu0=0.5 -mu1=1.5 -dmu=0.05

-er=40 -gs=0 -o=mc.out -k=8.617e-5 -dx=0.005

参数说明:

• -T0/T1/dT: 起始/终止/步长温度 (K)

• -mu0/mu1/dmu: 起始/终止/步长化学势 (eV)

• -er=N: 平衡步数 × N×N×N (N 为原子数)

• -gs=N: 使用 gs_str.out 的第 N 个结构为初始构型

• -k=: Boltzmann 常数 (eV/K)

• -dx=: 成分步长

输出: mc.out (能量、成分、比热等热力学量)

phb — 相界追踪

phb -dT=10 -dmu=0.001 -ltep=1e-3 -er=40

-gs1=0 -gs2=1 -o=phb.out -k=8.617e-5 -dx=1e-4

用途: 追踪两相之间的相边界,确定相图

输出: phb.out (相界上的温度-化学势-成分数据)

memc2 — 多组分 MC

memc2 支持多组分体系的半 grand-canonical 模拟

用法与 emc2 类似,但支持多个化学势变量。

🔍 七、结构枚举与搜索

genstr — 枚举所有超胞结构

genstr -l=lat.in -n=4 -d=dir.in

• -n=N: 超胞原子数

• -d=dir.in: 方向文件 (指定搜索方向)

dir.in 格式 (每行一个方向向量):

1 0 0

1 1 0

1 1 1

2 0 1

输出: 所有非等价超胞结构的 POSCAR 格式

checkcell — 晶胞合理性检查

checkcell -l=lat.in

检查项目:

• 原子间距是否过近

• 晶胞形状是否合理

• 对称性是否正确

• 原子位置是否在晶胞内

cellcvrt — 晶胞转换

cellcvrt -p # 原胞 ↔ 惯用胞转换

cellcvrt -s=M # 转换为超胞 (M 为超胞矩阵)

支持格式: ATAT, VASP POSCAR, XYZ, CIF

⚡ 八、第一性原理接口 (VASP 为主)

vasp.wrap — VASP 输入模板

ATAT 通过 .wrap 文件定义 VASP 计算参数:

[INCAR]

PREC = high

ISMEAR = 1

SIGMA = 0.1

NSW = 41

IBRION = 2

ISIF = 3

KPPRA = 1000 # 每个原子 k 点密度

USEPOT = PAWPBE # 使用 PBE 泛函

DOSTATIC # 静态计算

📌 内置模板: vasp.wrap, svasp.wrap (静态), cvvasp.wrap (弛豫),

fvasp.wrap (固定体积), vasp_par.wrap (并行), csvasp.wrap (ISIF=2)

ezvasp — 一键提交

ezvasp -s=str.out -w=vasp.wrap

自动生成 VASP 输入文件并提交作业。

支持多种作业调度系统 (PBS, SLURM, LSF)。

runstruct_vasp — 批量结构计算

runstruct_vasp -w=vasp.wrap -d=structures/

批量处理结构目录中的所有结构文件。

其他接口

• ABINIT: abinit.wrap + ezvasp

• Quantum ESPRESSO: pwscf/ 目录下的 glue 脚本

• CASTEP: castep/ 目录下的 glue 脚本

• SIESTA: siesta/ 目录下的 glue 脚本

• GULP: gulp/ 目录下的 glue 脚本

• FLAPW: flapw/ 目录下的 glue 脚本

🧪 九、完整案例演示 — Cu-Au 合金体系

案例: FCC Cu₁₋ₓAuₓ 合金相图计算

晶格常数: a = 3.8 Å (FCC, 4 atoms/unit cell)

Step 1 → 准备 lat.in:

3.8 3.8 3.8 90 90 90

0 0.5 0.5

0.5 0 0.5

0.5 0.5 0

0 0 0 Cu,Au

Step 2 → 生成团簇:

corrdump -2=3.5 -3=5 -4=6 -l=lat.in -ro -noe -nop -clus

Step 3 → 生成 SQS:

mcsqs -n=32 -l=lat.in -cf=clusters.out

→ 得到 bestsqs.out (32 原子 SQS 结构)

案例续: 团簇展开 + 蒙特卡洛

Step 4 → 准备训练集: 用 genstr 枚举多个 Cu-Au 有序结构

genstr -l=lat.in -n=4 -d=dir.in

→ 对每个结构进行 VASP 计算

Step 5 → 团簇展开拟合:

csfit -l=lat.in -cf=clusters.out -e=energy_file -cv=5

→ 得到 eci.out (ECI 参数)

Step 6 → 蒙特卡洛模拟:

emc2 -T0=50 -T1=700 -dT=25 -mu0=-0.5 -mu1=0.5 -dmu=0.05

-er=40 -gs=0 -o=cuau_mc.out -k=8.617e-5 -dx=0.005

→ 得到 cuau_mc.out (热力学性质)

Step 7 → 相界追踪:

phb -dT=10 -dmu=0.001 -ltep=1e-3 -er=40 -gs1=0 -gs2=1

-o=cuau_phb.out -k=8.617e-5 -dx=1e-4

→ 得到 cuau_phb.out (相边界)

💡 十、实用技巧与常见问题

corrdump -2= 参数设置

🔸 问题: -2= 过小导致段错误 (Segfault)

🔸 原因: 团簇对距离截断 < 第1近邻距离

🔸 解决: 将 -2= 设为 NN1 和 NN2 之间的值

🔸 参考: FCC 中 NN1≈0.707a, NN2≈1.0a → -2≈0.85a

BCC 中 NN1≈0.866a, NN2≈1.0a → -2≈0.93a

📌 提示: 可使用 ATAT-SQS Builder 的智能建议功能自动计算

SQS 超胞大小选择

🔸 原子数建议: 32-128 atoms (平衡精度与计算成本)

🔸 成分约束: 超胞原子数 × 占位比例 = 整数

🔸 2D 切面: c 轴不扩展,仅 ab 轴扩胞

🔸 多核加速: mpirun -np 48 mcsqs -n=128 -rc

ECI 拟合收敛性

🔸 训练集: 至少 30-50 个结构

🔸 交叉验证: csfit -cv=5 (5-fold CV)

🔸 团簇截断: 逐步增加 -2,-3,-4 参数

🔸 过拟合检测: CV score vs fit score 差距过大

MC 模拟收敛性

🔸 平衡步数: -er ≥ 20 (通常 40-80)

🔸 温度步长: -dT ≤ 25K (相变附近 ≤ 10K)

🔸 化学势步长: -dmu ≤ 0.05 eV

🔸 超胞大小: 与 SQS 类似,≥ 32 atoms

📖 参考: ATAT Manual v3.36 | Axel van de Walle | https://alum.mit.edu/www/avdw/atat/ | 整理: ATAT-SQS Builder 项目组 | 2026-08

编程学习 技术分享 实战经验

相关新闻

2026精选:不锈钢排水沟制造厂实力剖析与差异化适配指南——助力佛山市亿齐旺金属有限公司选型 - 装修教育财税推荐2026

2026/8/3 3:34:50

Linux中查看PDF

2026/8/3 3:34:50

Flask+Vue全栈健康监控系统开发实践

2026/8/3 3:34:50

最新新闻

C语言秋招攻略:从零基础到斩获大厂offer

2026/8/3 4:37:22

2026 年现阶段,托克逊正规的50*150镀锌椭圆管工厂哪个好,花200块装的这玩意儿,居然比普通圆管耐用3倍还没废!-成光钢铁 - 企业官方推荐【认证】

2026/8/3 4:37:22

SpringBoot跨境电商系统开发实战与毕业设计指南

2026/8/3 4:37:22

AI提示词管理平台:版本控制与智能优化实践

2026/8/3 4:37:22

回测排队两小时还不能取消:用作业状态机验收量化软件

2026/8/3 4:37:22

MP4音频帧定位与提取

2026/8/3 4:37:22

日新闻

AI编程助手重塑工程师工作流:从效率提升到角色转型

2026/8/3 0:01:16

基于Tauri与DeepSeek API构建微信AI助手:技术实现与效率革命

2026/8/3 0:01:16

2026深圳疑难签证办理指南:拒签再签/商务签/高端定制机构怎么选 - 互联网科技品牌测评

2026/8/3 0:01:16

周新闻

怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收

2026/8/2 0:01:38

Penpot组件系统完全指南:三步打造企业级设计系统的终极方案

2026/8/2 0:01:56

如何快速掌握Penpot组件系统:开源设计平台的终极指南

2026/8/2 0:01:56

月新闻

ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系

2026/8/2 11:50:07

Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战

2026/8/2 11:50:07

华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

2026/8/2 11:50:07

分类目录

  • 学习日记
  • 项目实战
  • 学习方法
  • 代码技巧
  • 避坑指南
  • 调试经验

热门标签

JavaScript Python Java 前端开发 后端开发 算法 数据结构 项目实战

关于三亩地

三亩地是一个专注于编程学习的平台,以真实学习日记为载体,分享编程学习经验、项目实操技巧和高效学习方法。

快速链接

学习日记

项目实战

学习方法

资讯中心

联系方式

邮箱:contact@mfbz.cn

微信:sanmudi_code

QQ 群:123456789

© 2026 三亩地 编程学习日记 版权所有 | mfbz.cn