VASP簇展开到合金蒙特卡洛
用真实Cu–Au VASP簇展开模型进行固定组分采样,读取能量、自由能与有序指标。
阅读本篇目录
DFT通常只能直接处理有限个原子排布。先用这些能量拟合簇展开,再进行Monte Carlo采样,就能探索更多排布及温度趋势。本页把已有Cu–Au实算模型接入ATAT的emc2,完整走通这一步。
1. 确认使用的是自己的DFT模型#
本例输入来自29个Cu–Au结构的VASP簇展开,不是软件自带的示例哈密顿量。四个文件lat.in、clusters.out、eci.out、gs_str.out必须属于同一次拟合,不能混合复制。
前置数据固定FCC晶格常数3.85 Å,VASP 6.4.2 CPU版、oneAPI 2024.2环境,PBE PAW、450 eV、EDIFF=1E-7,另有550 eV对照。这是复用已发布数据;并非本页重新做了29次VASP计算。模型有13个ECI,交叉验证分数5.440 meV/atom。
这套固定晶格没有充分弛豫各组分,不是最终的Cu–Au实验相图;其统计采样同样继承这一边界。
2. 选择组成、初态和采样大小#
采用Au原子分数0.5。emc2的平均自旋坐标x取0,对应cAu=(x+1)/2。本模型gs_str.out从0编号,第3号结构是等原子比有序初态,因此使用gs=3;其他模型不能照抄这个编号。
本次er=8得到8×8×8超胞,共512位点,Cu和Au各256个。固定组分模式只交换占位,不改变总体组分,也不更新连续原子坐标。
3. 提交两个独立种子#
附件已将参数保存到每个目录的run.sh,执行sbatch run.sh即可。主要设置为:
| 设置 | 本例值 |
|---|---|
| 模式 | 正则、固定组分,cm;x=0 |
| 温度 | 300–1500 K,每100 K一个点 |
| 能量单位 | keV开关:能量eV,温度K |
| 平衡/统计 | eq=300,n=1000 passes |
| 随机种子 | 3101、3102 |
| 连续扫描 | tstat=0,不因检测到变化自动截断 |
使用atat/3.52-8173m,GCC 13.3普通-O3构建;emc2在Slurm分配的计算节点CPU执行,不是GPU加速程序。pass是Monte Carlo采样计数,不是物理时间,不能换算成扩散速度。
4. 读取实际输出#
固定组分为x=0、μ=0,本例mc.out第3列为能量,第5列为程序沿温度路径得到的自由能;开启g2c保留相应正则量口径。第17列为程序相对于初始有序相的指标,不要不看定义就要求高温值必须为0。
两次独立计算得到:
| T / K | 平均能量 / meV·site⁻¹ | 两种子样本标准差 / meV·site⁻¹ | 平均自由能 / meV·site⁻¹ |
|---|---|---|---|
| 300 | -368.798 | 0.000 | -368.798 |
| 400 | -368.798 | 0.000 | -368.798 |
| 500 | -368.798 | 0.000 | -368.798 |
| 600 | -368.539 | 0.035 | -368.823 |
| 700 | -368.082 | 0.385 | -368.909 |
| 800 | -365.509 | 1.196 | -369.212 |
| 900 | -361.829 | 1.135 | -369.904 |
| 1000 | -350.079 | 3.635 | -371.454 |
| 1100 | -330.106 | 0.296 | -374.591 |
| 1200 | -326.222 | 0.104 | -378.811 |
| 1300 | -324.318 | 0.247 | -383.273 |
| 1400 | -322.396 | 0.120 | -387.882 |
| 1500 | -320.822 | 0.252 | -392.616 |

能量和自由能使用本次簇展开的形成能参照。自由能依赖起始参照与积分路径;表中的数值不是不依赖参照的绝对热力学量。温度步长、低温初态和采样不足都可能影响它。
参数和输出列的定义见ATAT作者的emc2手册。
5. 如何继续自己的材料计算#
先扩大并检查DFT训练集和未知候选基态,再分别增加Monte Carlo尺寸、平衡长度、统计长度和独立种子。出现明显变化的温区应加密温度点,并检查升温/降温路径和滞后。
本次512位点、两个短重复用于演示工作流。两种子标准差只反映这两次结果的差异,不涵盖DFT、簇展开拟合和有限尺寸误差;不据此给出收敛临界温度。材料的熔化、振动自由能及晶格重构也未包含在这套固定FCC占位模型中。
模型、脚本与结果#
先分别提交两个目录的run.sh,完成后在附件顶层运行extract_mc.py,检查温度点、组成与快照位点数,再读取汇总JSON。前置29结构的VASP输入与训练过程见上文链接的簇展开教程。