Atomsk专题

Atomsk晶体、表面与格式转换实操

从Al、Fe、Si小模型开始,核对格式往返并构建Al(111)薄层。

更新于 2026-10-27约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载本篇输入、完整脚本、数据与高清图。解压后在新目录运行,reference保存鸢算科技实际运行的参考结果。

1 加载环境与运行完整示例#

Atomsk负责原子结构生成和变换,不计算体系能量。本例使用beta-0.13.1,GFortran 13.3、OpenMP和私有LAPACK/BLAS 3.12.1构建;小模型单线程即可。配套Python只做结构核对和绘图,使用ASE 3.29.0。

module purge
module load pymatgen/2026.9.24 atomsk/0.13.1
mkdir work
cp atomsk_examples.py work/
cd work
python atomsk_examples.py

脚本依次生成6个小流程,结果各在独立文件夹中。直接使用Atomsk命令时只需module load atomsk/0.13.1,不必加载Python环境。

2 生成晶体与超胞#

atomsk --create fcc 4.05 Al -duplicate 2 2 2 al.xsf
atomsk --create bcc 2.87 Fe -duplicate 2 2 2 fe.xsf
atomsk --create diamond 5.43 Si -duplicate 2 2 2 si.xsf

参数中的长度单位为Å。三种2×2×2常规胞分别得到 32个Al、16个Fe、64个Si;晶格体积分别为531.441、189.119224、1280.824056 ų。晶格常数用于说明建模操作,正式模拟应与所用势函数或泛函的平衡结构一致。

实际生成的64原子Si金刚石超胞

3 XSF、POSCAR、CFG、LAMMPS和XYZ互转#

atomsk al.xsf POSCAR
atomsk POSCAR back.xsf
atomsk al.xsf converted.cfg
atomsk al.xsf converted.lmp
atomsk al.xsf converted.xyz

本次32原子Al的四条格式往返均保持元素、原子数和原子间距离,输出精度内最大距离误差为0;POSCAR、CFG、LAMMPS还核对了晶胞。普通XYZ不保证保存晶胞、周期条件及自定义属性,不能仅凭坐标一样就认为所有信息完整。

LAMMPS数据文件仍需要配套原子类型与势函数:转换不会替你选择EAM势或生成分子力场。多元素转换后,应再核对元素与类型编号,不要只看文件扩展名。

4 生成Al(111)取向薄层#

atomsk --create fcc 4.05 Al orient "[1-10]" "[11-2]" "[111]" \
  -duplicate 2 2 3 oriented.xsf
atomsk oriented.xsf -cell add 15 z slab.xsf

三个方向依次定义x、y、z轴;z为[111],因此表面法向是[111]。给晶胞z方向增加15 Å不会拉伸原子坐标,而是在上方增加空区。

72原子Al(111)初始薄层,图中保留完整晶胞高度

得到 72原子,原z晶胞长度21.044417 Å,增加真空后36.044417 Å。按周期盒长度减去最上、最下原子跨度,实际跨边界空隙为 17.338269 Å,并非恰好15 Å。此时薄层尚未优化,也没有自动设置固定底层或偶极修正。后续需要按研究目的准备约束和弛豫输入。

参考:Atomsk创建模式、格式与选项手册。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗