ATAT SQS 结构生成
生成16/32/64原子Cu–Au、三元Nb–Mo–Ta及固定N子晶格SQS,检查关联误差并导出结构。
阅读本篇目录
FCC Cu–Au 的 SQS#
第一步:设置目标组分#
在空目录保存入门篇的 FCC 几何,最后一行使用 Cu=0.5,Au=0.5,文件名为 rndstr.in。
第二步:确定要匹配的团簇#
mcsqs -2=5.5 -3=3.0
-2 是二体团簇的最大跨度,-3 是三体团簇的最大跨度;单位随输入的长度单位。本文轴长使用 Å,所以这里也是 Å。三体截断约束三角形中最长的一条边,不是限制三角形边长之和。这个输入得到四类二体团簇和一类三体团簇。
clusters.out 保存具体团簇;用 getclus 查看摘要。截断距离要覆盖你关心的近邻相互作用,不必第一次就把很远的四体、五体团簇全部加入。
第三步:寻找结构#
在计算作业内运行:
mcsqs -n=32 -ms=250000 -sd=2410
程序在达到匹配要求或步数上限后结束。长时间搜索时可以在该算例目录创建 stopsqs 请求正常停止;结束前不要删除输出。多个独立进程用不同的 -ip 编号和 -sd 随机种子,最后执行 mcsqs -best 选取最好的一组结果。现行多进程模板已处理这一步。
这里的 -T 是搜索算法的温度参数,不是材料在多少 K 下的结构;它与 emc2 的物理温度不同。
第四步:判断结果,而不是只看程序退出#
| 文件 | 怎么读 |
|---|---|
bestsqs.out |
当前找到的最佳结构,可转换为 POSCAR/CIF |
bestcorr.out |
团簇阶数、直径、SQS 关联、目标关联、两者差值 |
mcsqs.log |
目标函数的改善记录及匹配状态 |
rndstrgrp.out |
对称等价格点分组,检查子晶格占据设置 |
sqscell.out |
搜索使用的候选超胞,可用 -rc 指定重用 |
本例比较 16、32、64 原子,使用相同截断、随机种子和步数上限:
| 总原子数 | 组分 | 匹配团簇数 | 最大绝对误差 |
|---|---|---|---|
| 16 | Cu:Au = 1:1 | 5 | 0.000000 |
| 32 | Cu:Au = 1:1 | 5 | 0.000000 |
| 64 | Cu:Au = 1:1 | 5 | 0.000000 |


误差为零只说明所选团簇得到匹配,不表示无限距离、任意高阶团簇都完全随机。增大超胞会扩大搜索空间,有限搜索预算下并不保证一定比小超胞好。
第五步:检查更远程关联并交给后续计算#
复制结果到独立检查目录,再执行更长截断的 corrdump;它可能重写 clusters.out,不要在仍运行的搜索目录里做这项检查。
corrdump -l=rndstr.in -ro -noe -2=8 -3=5.5 -s=bestsqs.out
corrdump -l=rndstr.in -ro -noe -2=8 -3=5.5 -s=bestsqs.out -rnd
第一条给出实际关联,第二条给出理想随机关联;对应相减得到图中的误差。随后回到结果目录转换结构:
str2poscar < bestsqs.out > POSCAR
str2cif < bestsqs.out > structure.cif
后续 DFT 通常还需要弛豫。SQS 的几何统计质量与 DFT 的电子/离子收敛是两个不同问题;得到 bestsqs.out 并不等于已经完成材料性质计算。
三元合金与固定子晶格#
BCC Nb–Mo–Ta,24 原子#
2.9 2.9 2.9 90 90 90
-0.5 0.5 0.5
0.5 -0.5 0.5
0.5 0.5 -0.5
0 0 0 Nb=0.3333333333,Mo=0.3333333333,Ta=0.3333333334
mcsqs -2=4.2
mcsqs -n=24 -ms=250000 -sd=2410
小数末位略作补足,使概率和恰好为 1。这一例的目标是 8 Nb、8 Mo、8 Ta,关联函数有多个独立的物种分量,不能再用二元的一个“自旋乘积”概括所有列。
岩盐结构 (Ti,Zr)N,32 原子#
4.5 4.5 4.5 90 90 90
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
0 0 0 Ti=0.5,Zr=0.5
0.5 0 0 N
mcsqs -2=4.6
mcsqs -n=32 -ms=250000 -sd=2410
32 是总原子数,包括 16 个 N;可替换金属格点只有 16 个,Ti、Zr 各 8 个。固定 N 不参与占据涨落,但影响晶体几何和对称性。
| 体系 | 实际原子数 | 团簇数 | 最大绝对误差 | RMS 误差 |
|---|---|---|---|---|
| bcc_ternary | Mo 8,Ta 8,Nb 8 | 9 | 0.020833 | 0.010123 |
| rocksalt32 | Zr 8,Ti 8,N 16 | 2 | 0.000000 | 0.000000 |

如果需要改变组分,先检查每个子晶格的可用格点数是否与概率相容,再重新生成团簇和结构。改变元素、晶格或子晶格定义后,不要沿用旧的 clusters.out。
数据和配套算例#
下载完整实算资料包,保留 examples/common,进入所需算例目录执行 sbatch submit.sh。输入、参考结果、科学设置和重跑方式均在各目录的 README 中。