Atomsk专题

Atomsk应变、原子选择与双晶建模

用108原子和864原子小模型演示变形、替换、排序及固定种子双晶。

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

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

1 先生成可修改的小模型#

本例使用Atomsk beta-0.13.1。先运行下载包的完整脚本,或按下面终端命令分步执行。完整脚本会输出结构图和数值检查。

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

2 拉伸、旋转与周期回包#

atomsk --create fcc 4.05 Al -duplicate 3 3 3 original.xsf
atomsk original.xsf -deform x 0.02 0 strained.xsf
atomsk original.xsf -rotate z 30 rotated.xsf
atomsk original.xsf -shift 20 0 0 -wrap wrapped.xsf

初始有108原子,盒边长12.15 Å。-deform x 0.02 0沿x增加2%,最后一个0设横向泊松收缩为零,得到x长度 12.393 Å、y/z仍12.15 Å;分数坐标不变。这里施加的是几何形变,不是计算应力。

-rotate z 30同时旋转晶胞与原子。本次旋转前后全部原子间距离最大变化小于 9.79×10⁻⁹ Å,属于输出数值精度。-wrap把平移出盒的原子放回周期晶胞,不会消除重叠,也不能自动修复断开的分子。

108原子Al的刚性旋转结果

3 选择、删除和替换原子#

atomsk original.xsf -select 1:4 -rmatom select removed.xsf
atomsk original.xsf -select 1:4 -substitute Al Cu alloy.xsf
atomsk alloy.xsf -sort species up sorted.xsf

Atomsk原子编号从1开始。第一条删除编号1至4,剩 104原子;第二条仅将这4个Al替换成Cu,仍有108原子,其中4个Cu。第三条按元素重排原子,坐标集合不变,但编号可能变化。若有逐原子约束,排序后要重新对应。

蓝色Al和红色Cu:指定4个位置的元素替换

本例是确定性指定位置,不是随机合金、更不是SQS;元素替换也不代表已完成结构优化或形成能计算。

4 用固定种子位置生成可复现双晶#

新建grains.txt,内容为:

box 24.3 24.3 24.3
node 6.075 12.15 12.15 0 0 -10
node 18.225 12.15 12.15 0 0 10

两个node指定晶粒种子位置与绕x/y/z的旋转角。本例绕z分别−10°与+10°,名义相对取向差20°。使用显式种子和取向可复现模型;若改为随机晶粒,需要保存程序输出的参数文件。

atomsk --create fcc 4.05 Al seed.xsf
atomsk --polycrystal seed.xsf grains.txt bicrystal.xsf
atomsk bicrystal.xsf -remove-doubles 1.5 cleaned.xsf

固定种子和取向生成的双晶初始结构俯视图

本次生成 864原子;1.5 Å阈值没有删除原子,因为非周期最短距离为 1.994199 Å,周期最小镜像距离为 1.819428 Å,都大于阈值。这也说明应明确区分盒内距离和跨边界距离。

“没有重复原子”只表明满足所选距离阈值,不代表晶界已经物理合理。周期边界会引入相邻镜像界面,晶粒拼接可能产生局部压缩。正式研究仍应检查最邻近环境、边界条件和弛豫结果,再决定是否统计晶界能、位错或晶粒尺寸。此例只演示双晶初始建模,不将未弛豫模型作为材料结论。

参考:Atomsk变形、原子选择、多晶模式。

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

查看配图

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

100%查看原图 ↗