Atomsk专题

Atomsk选项与结构变换实操

41类可用选项的实际命令,包含筛选、应变、应力、缺陷初始场及边界检查。

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

下载本组输入、脚本、参考输出与高清图。解压后使用新的工作目录;examples保存各例输入,reference保存实际结果。

1 先准备模型,再选操作#

Atomsk 0.13.1用于生成、变换和分析原子结构,不执行电子结构或能量优化。当前构建使用GFortran 13.3、OpenMP、LAPACK/BLAS 3.12.1;这里的小模型使用单线程,配套检查/绘图使用已有ASE和NumPy环境。Atomsk本身运行在CPU上。

module purge
module load atomsk/0.13.1 gpumdkit/1.5.8
atomsk --create fcc 4.05 Al -duplicate 2 2 2 base.cfg

得到32原子FCC Al,晶胞三边均为8.1 Å、体积531.441 ų。这里的晶格常数用于教学;换成自己的材料时,应使用与势函数或泛函一致的晶格参数。

直接运行单个下载实例:

python run.py option_shift

输出在work/option_shift。脚本拒绝覆盖已有目录;再次计算请复制一份新的资料包。批量运行所有示例:

sbatch run.sbatch all

这个批处理使用现有P100队列中的CPU资源,并不表示Atomsk有GPU加速。提交前可按自己获配分区调整SBATCH头部。不要把建模输出当成已经弛豫的结构。

2 每种选项的实际命令#

以下命令中的输入都在对应examples/option_名称目录。分别复制到新目录运行,避免不同操作覆盖同一个result.cfg。每个命令单独使用自己的原始结构,表格不是要求按行串联执行。

addatom:增加1个Cu,32→33原子#

atomsk base.cfg -add-atom Cu at 1 1 1 result.cfg

addshells:为32个Cl添加壳,64个离子核保留#

atomsk nacl.cfg -add-shells Cl result.gin

alignx:将旋转晶胞首矢量对齐x#

atomsk rotated.cfg -alignx result.cfg

bindshells:将Cl壳与对应离子核配对#

atomsk shells.gin -bind-shells result.gin

cell:只增加z方向真空,8.1→13.1 Å#

atomsk base.cfg -cell add 5 z result.cfg

center:将质量中心移到晶胞中心#

atomsk base.cfg -center com result.cfg

crack:施加I型连续弹性位移,尚未弛豫#

atomsk base.cfg -crack I stress 1 '0.513*BOX' '0.527*BOX' z y 30 .3 result.cfg

cut:切掉z>4.05 Å,保留24原子#

atomsk base.cfg -cut above '0.5*BOX' z result.cfg

deform:x拉伸1%,横向缩短0.3%#

atomsk base.cfg -deform x .01 .3 result.cfg

disloc:108原子定向FCC中的正负螺位错初始场#

atomsk --create fcc 4.05 Al orient '[-112]' '[1-11]' '[110]' -duplicate 3 3 2 -dislocation '.253*BOX' '.513*BOX' screw z y 2.8637824638 -dislocation '.753*BOX' '.513*BOX' screw z y -2.8637824638 result.cfg

disturb:每坐标分量随机位移不超过0.01 Å#

atomsk base.cfg -disturb .01 result.cfg

duplicate:32→128原子#

atomsk base.cfg -duplicate 2 2 1 result.cfg

fix:z<2 Å原子写固定标签#

atomsk base.cfg -select below 2 z -fix all result.cfg

fractional:输出无量纲分数坐标#

atomsk base.cfg -fractional result.xyz

mirror:以x=4.05 Å为镜面#

atomsk base.cfg -mirror '.5*BOX' x result.cfg

options:显式create模式读取选项文件#

atomsk --create fcc 4.05 Al -duplicate 2 2 2 -options options.txt result.cfg

orient:旋转晶体取向,保持原子间距离#

atomsk base.cfg -orient '[100]' '[010]' '[001]' '[010]' '[-100]' '[001]' result.cfg

orthocell:HCP Mg转为4原子正交胞#

atomsk --create hcp 3.21 5.213 Mg -orthogonal-cell result.cfg

properties:先速度后marker,保留全部32项#

atomsk base.cfg -properties velocities.txt -properties properties.txt result.cfg

rebox:按切割后模型重新估计边界#

atomsk base.cfg -cut above '.5*BOX' z -rebox result.cfg

reducecell:完整FCC超胞缩至4原子常规胞#

atomsk base.cfg -reduce-cell result.cfg

rmatom:移除1号原子,32→31#

atomsk base.cfg -rmatom 1 result.cfg

rmd:移除0.03 Å近重复原子,33→32#

atomsk close.cfg -remove-doubles .1 result.cfg

rmprop:删除marker,保留结构#

atomsk base.cfg -properties properties.txt -rmprop marker result.cfg

rmshells:移除Cl壳,保留64个离子核#

atomsk shells.gin -remove-shells Cl result.gin

roll:绕z将x方向弯曲10度#

atomsk base.cfg -roll X 10 Z result.cfg

rotate:绕z旋转30度#

atomsk base.cfg -rotate z 30 result.cfg

roundoff:把坐标舍入到0.01 Å网格#

atomsk shifted.cfg -round-off xyz .01 result.cfg

select:选1–8号Al替换成Cu#

atomsk base.cfg -select 1:8 -substitute Al Cu result.cfg

separate:推开距离小于0.1 Å的原子对#

atomsk close.cfg -separate .1 .1 result.cfg

shift:平移(0.2,0.1,0.05) Å#

atomsk base.cfg -shift .2 .1 .05 result.cfg

sort:按z坐标降序排列#

atomsk base.cfg -sort z down result.cfg

spacegroup:单个对称独立Al由225号空间群生成4个FCC位置#

atomsk asymmetric.cfg -spacegroup 225 result.cfg

stress:按给定教学弹性矩阵施加1 GPa xx应力#

atomsk base.cfg -properties elastic.txt -stress xx 1 result.cfg

substitute:32个Al全部替换为Cu#

atomsk base.cfg -substitute Al Cu result.cfg

swap:交换x/z轴#

atomsk strained.cfg -swap x z result.cfg

torsion:绕z施加随z变化的5度扭转#

atomsk base.cfg -torsion z 5 result.cfg

unit:Å→nm数值转换,输出extended XYZ#

atomsk base.cfg -unit A nm result exyz

unskew:减少晶胞倾斜并回包#

atomsk skewed.cfg -unskew -wrap result.cfg

velocity:生成300 K尺度的随机速度样本#

atomsk base.cfg -velocity 300 result.cfg

wrap:把超出边界的原子回包#

atomsk base.cfg -shift 9 -9 17 -wrap result.cfg

3 选择区域和集合,再执行替换/删除#

实际测试了球、柱、长方体、随机、索引、模运算和集合交并差:

atomsk base.cfg -select in sphere 4 4 4 3 -substitute Al Cu sphere.cfg
atomsk base.cfg -select in box -0.1 -0.1 -0.1 4.1 4.1 4.1 -substitute Al Cu box.cfg
atomsk base.cfg -select 1:16 -select intersect 9:24 -substitute Al Cu intersection.cfg
atomsk base.cfg -select 1:8 -rmatom select vacancy-group.cfg

球形选中13原子;交集选中8原子;移除1–8号后剩24原子。长方体边界是严格开区间,正好位于面上的原子不算内部。本安装版空选择可能被清空并恢复为选择全部,因此先看终端“selected”的数量,再执行替换或删除;不要把空选择当成“什么也不改”。

4 应变与应力:先明确物理输入#

-deform x 0.01 0.3直接规定几何应变;本例得到三边8.181、8.0757、8.0757 Å。剪切使用:

atomsk base.cfg -deform xy 0.02 shear.cfg

应力需要弹性矩阵。下载的elastic.txt是正定、各向同性的教学矩阵,不是Al实验常数:

elastic Voigt
100 100 100
40 40 40
30 30 30

单位GPa。对xx=1 GPa解线性弹性方程,εxx=0.01296296、εyy=εzz=−0.00370370,实际三边为8.205、8.070、8.070 Å。正式计算应替换为材料对应取向的弹性矩阵。

5 建模后再检查#

实际区域筛选、两晶粒、裂纹位移和弯曲坐标

-cell add只改晶胞,不应与应变缩放混淆。设置完整z基矢长度用-cell set 12 H3;本版的正交轴set 12 z不用于此操作。-rebox重新估计边界,本例切片后得到12.15、12.15、8.1 Å,因此不能替代保留固定周期晶胞的薄层建模。

-reduce-cell p在完整FCC晶体上得到1原子原胞,基矢长2.863782 Å;带缺陷或无序模型不要期待它自动恢复完美晶体。弯曲、扭转、裂纹、位错和多晶输出都需要下游弛豫;连续弹性位移场不提供位错芯稳定性或断裂韧性。

随机操作未提供这里统一固定的随机种子;再次执行应比较数量和位移范围,不要求随机坐标逐原子相同。

本版-options示例使用显式--create模式。已有结构若需要固定操作链,可直接把同样的选项写在命令行或脚本中。更多参数定义参见官方选项清单。

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

查看配图

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

100%查看原图 ↗