ATAT张量簇展开:准备构型和应力标签
用40个真实EMT应力矩阵演示构型到张量的广义簇展开,明确训练和留出划分。
阅读本篇目录
本组教程演示固定晶格下的“构型→3×3应力矩阵”模型。先生成结构与真实静态应力,再用原生gce产生广义簇基、lsfit拟合,最后由gce预测留出构型。下载完整实例包。
标签来自ASE EMT对Cu/Au的实际计算,晶格参数固定3.9 Å;这里学的是张量拟合操作和文件连接,不能把结果当作DFT应力或可迁移的材料模型。
1 解压并运行完整流程#
mkdir ATAT-tensors
python3 -m zipfile -e atat-tensor-fitting-*.zip ATAT-tensors
cd ATAT-tensors
bash run.sh
流程加载atat/3.52-8173m,使用ATAT3.52的gce、lsfit和gencs,工具基于GCC13.3;ASE3.29.0的Python环境提供EMT、NumPy和spglib。线程数固定1,适合小体系操作示例;自己的大规模数据处理仍应申请相应计算资源。
新结果写在new-work,包中reference保留本站原始输入、标签、基矩阵和原生预测。已有结果时使用新目录重复计算。
2 母晶格与张量类型#
cat new-work/case00/lat.in
cat new-work/case00/gcetensor.in
母晶格完整内容为:
3.9 3.9 3.9 90 90 90
0 0.5 0.5
0.5 0 0.5
0.5 0.5 0
0 0 0 Cu,Au
gcetensor.in完整内容只有两行:
2
0 1
第一行表示二阶张量,第二行表示交换两个指标后不变,即应力矩阵的对称性。实际构型在str.out中逐个指定Cu或Au占位;母晶格中的Cu,Au仍表示可占据元素集合。
3 构型如何划分#
本例采用2×2×1的FCC常规胞,共16个原子,固定种子620001。先用这个超胞的256个对称操作/平移对占位去重,再取32个训练构型和8个留出构型。训练与留出之间不共享该超胞对称操作下等价的占位模式。
EMT对每个构型实际计算静态应力;不做结构弛豫。标签单位为eV/ų,沿用ASE“拉伸为正”的约定。同一物理量从其他程序导入时,需要先核对坐标系、单位和应力正负号。

本例的矩阵对称、只有6个独立分量,但按原生格式排列9个矩阵元素并拟合,包括两份对称的非对角项。设计矩阵和标签必须使用同一顺序。
wc -l new-work/design-train.txt new-work/stress-train.txt
head -3 new-work/design-train.txt
32个构型各9个分量,所以两份训练文件均有288行;本例的原生基有8列。下一篇拟合与原生张量预测解释具体命令与系数约定。