ATAT从母晶格枚举结构与核对浓度
用FCC Cu–Au枚举29种小结构,核对原子数、POSCAR、CIF和关联。
阅读本篇目录
下载本批输入、参考结果、数据图和运行脚本。从解压后的附件根目录操作,结果进入独立work目录;已有目录拒绝覆盖。使用申请的计算资源运行,CPU程序并不因模板选择P100分区而自动获得GPU加速。
1. 写母晶格lat.in#
3.85 3.85 3.85 90 90 90
0 .5 .5
.5 0 .5
.5 .5 0
0 0 0 Cu,Au
第一行定义坐标系晶格常数和角度;接着三行给FCC原胞矢量;最后一行给格点坐标与允许物种Cu,Au。这里是允许占据的母格点,不是随机挑一个元素填好的一份结构。
2. 先跑完整小例子#
在已申请资源中加载模块:
module load atat/3.52-8173m gpumdkit/1.5.8
python -B structure.py
脚本在work/structure运行下述枚举,并将end分隔的结果拆成0–28目录:
genstr -n=4 > genstr.out
本例枚举原胞中至多4个可变格点的结构,得到29个对称不等价候选,不是29个任意随机排列。晶格不同、固定子晶格或物种数改变后,数量也会改变。
3. 看一份实际str.out#
以二元数据中编号2为例:
3.850000 0.000000 0.000000
0.000000 3.850000 0.000000
0.000000 0.000000 3.850000
-0.500000 0.500000 1.000000
-0.500000 1.000000 0.500000
-1.000000 0.500000 0.500000
-1.000000 1.000000 1.000000 Au
-2.000000 2.000000 2.000000 Cu
结构文件的前几行定义坐标轴和超胞;原子坐标可以为负或超出0–1,不能直接据此判断原子跑出晶胞。转换时按周期边界检查等价位置,不要随手删除负坐标原子。
4. 逐项检查#
进入一个新生成的结构目录,例如work/structure/2:
cellcvrt -pn < str.out > natoms.txt
str2poscar < str.out > POSCAR
str2cif < str.out > structure.cif
corrdump -l=lat.in -s=str.out -noe -2=5.5 -3=3.0 > correlations.out
cellcvrt给原子数;str2poscar/CIF转换后核对元素数量、晶胞和周期位置;corrdump产生晶格对称操作sym.out和选定团簇clusters.out,并输出该结构的关联函数。
本例对29种结构核对174项。CIF长度和角度写6位小数,因此读回有相应舍入差异;这与原子种类或数量错误不同。也不能用只比较文件大小来证明结构一致。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。