ATAT 常用操作与问题排查
查结构、拟合、文件处理和常见运行问题,并将流程用于自己的材料与结果分析。
阅读本篇目录
常用辅助操作#
| 情况 | 适合的命令与注意事项 |
|---|---|
| 检查结构有无过近原子 | mindist -r=阈值 -s=str.out;看退出状态,0 表示满足最小距离条件 |
| 检查弛豫是否改变晶格类型 | checkrelax -1;该指标排除了整体旋转和各向同性缩放,不能替代原子映射检查 |
| 查询近邻和键类型 | nnshell -l=lat.in、nnshell -lb -l=str.out |
| 按数据做线性/多项式拟合 | lsfit;可输出交叉验证、预测和误差 |
| 批量执行目录内命令 | foreachfile;先用 pwd 检查范围,再执行计算或文件修改 |
| 提取文本数字或区间 | getvalue、getlines |
| 处理一行多个数、逐行数 | blanktonl、nltoblank |
| 修正 Windows 换行 | fixeol -u 文件;保留生成的备份,核对后再使用 |
| 查看簇展开结果图 | mapsrep / mmapsrep;需要 gnuplot,远程无图形环境可使用文件输出或随包的重绘脚本 |
| 清理 VASP 大文件 | cleanvasp;会删除 POTCAR、INCAR、POSCAR、KPOINTS 等,请先保存可重现输入 |
cleanvasp 不是用于了解参数的命令,不要尝试通过 cleanvasp -h 查看帮助;当前脚本仍会执行删除。splitjob 和 dispatch 接收命令列表文件,也没有与大多数 ATAT 主程序相同的 -h 行为。完整调用约定见下一份命令参考。
出现问题时按这条顺序检查#
| 现象 | 建议处理 |
|---|---|
| SQS 一直搜索,没有 Perfect_match | 检查组分整数性、团簇数量和截断;增加独立种子;必要时增大超胞;先读关联误差再决定是否结束 |
| 程序开始后马上退出 | 检查目录里的 stop/stopsqs/stoppoll 及输入文件名;确认不是把参考结果目录当成新工作目录 |
maps 长时间没有新增结构 |
检查是否有人创建 ready、是否存在 wait/busy、计算资源是否已分配、pollmach 是否还在运行 |
已有 energy 但拟合不合理 |
检查单位、晶胞总能/每原子能、元素参考、磁态、弛豫及不同版本参数是否一致 |
runstruct_vasp 找不到 wrap 或个人配置 |
在结构目录执行;默认向上查找 vasp.wrap;用 yskit 初始化并核对现有配置中的路径 |
| VASP 运行结束却没有可用能量 | 检查 OUTCAR/OSZICAR、电子和离子收敛、输出是否完整;退出状态或存在某个文件不能替代数值检查 |
| MC 浓度看上去出现负数 | 二元输出可能是平均自旋,按 (x+1)/2 换算;多元则读 mcheader.out |
| 改了 eci.out 结果却不变 | 检查是否存在优先生效的 teci.out,以及是否在正确目录运行 |
| 声子出现负频或拟合矩阵异常 | 检查位移是否被弛豫、力与原子排序、超胞和作用范围;再判断真实不稳定性 |
| 改动晶格后旧模型无法使用 | 新建目录重新生成对称性、团簇和关联;不要把不同晶格的 ECI/团簇文件拼接 |
| 图形程序无法弹窗 | 使用 PNG/SVG 文件输出,下载后查看;计算程序本身通常不依赖桌面环境 |
将这套流程用于自己的材料#
- 先确定母晶格、可替换格点、固定子晶格、组分及可能磁态。
- 用一个小结构核对几何与能量/受力接口,再进行大规模自动计算。
- 固定并记录 DFT 或势函数方法,收敛参数应针对自己的精度目标检查。
- SQS 检查近程与更远程关联;簇展开同时检查交叉验证、基态和未参与拟合的结构。
- 蒙特卡洛检查尺寸、统计长度、随机种子、温度和化学势步长;转变附近单独加密。
- 声子、电子自由能和相干应变项逐项接入,检查单位、归一化及是否重复计数。
- 保存输入、实际执行脚本、软件版本、原始数据和绘图脚本。图片是结果的展示,数据和计算方法才是可重现的基础。
配套的 plot_figures.py 可从 reference/ 重绘全部科学图件。在包含 ASE、NumPy 和 Matplotlib 的环境中运行 python plot_figures.py,输出到 replotted/。需要可用的中文字体;脚本支持通过 ATAT_TUTORIAL_FONT 指定字体文件。
方法来源与论文引用#
命令格式以本集群 ATAT 3.52 的运行帮助、随包说明和脚本实际行为为准;本文是独立编写的操作教程。上游网页手册的版本可能与模块不同,遇到差异优先核对当前版本的参数清单。
- ATAT 作者主页与官方手册。
- A. van de Walle、M. Asta、G. Ceder,ATAT 用户指南,Calphad 26, 539 (2002)。
- A. van de Walle,多组分、多子晶格与非构型熵扩展,Calphad 33, 266 (2009)。
- A. van de Walle 等,mcsqs 方法,Calphad 42, 13–18 (2013)。
- A. van de Walle 等,SQS 到 CALPHAD 的工具,Calphad 58, 70 (2017)。
- R. Sun、A. van de Walle,APB 方法,Calphad 53, 20 (2016)。
- ASE EMT 源码与方法说明。
- VASP 展宽与能量说明。
发表使用 ATAT 的研究时,应引用所用模块对应的方法论文,而不只是引用本教程。上游软件与所附原始参数帮助的作者为 Axel van de Walle 及相应贡献者,软件许可见 ATAT 许可说明。算例包不包含 VASP 程序和 POTCAR。
数据和配套算例#
下载完整实算资料包,保留 examples/common,进入所需算例目录执行 sbatch submit.sh。输入、参考结果、科学设置和重跑方式均在各目录的 README 中。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。