Atomsk专题

Atomsk螺位错与刃位错建模

Al正负位错对、实际命令、DXA线长与柏氏矢量、CPU渲染及初始模型边界。

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

下载结构、实际数据、全部脚本与参考结果。解压后进入附件目录,依次执行本文步骤;reference/ 保存本次结果,复跑写入 work/,重建模型前会把旧work移到work-history。

1 本篇得到什么#

生成一对符号相反的 Al 螺位错、另一对刃位错;用 OVITO 的 DXA 识别位错线与柏氏矢量,再导出图和CA文件。模型来自连续弹性位移场,是未做能量最小化的初始结构,不用于直接报告稳定核心、位错形成能或Peierls应力。

参数:FCC Al,晶格常数4.05 Å,名义完整位错柏氏矢量大小 a/√2≈2.863782 Å。刃位错位移场取泊松比0.33,此数值是建模参数;换材料时应使用适合的弹性参数。

从实际螺位错模型提取的两条DXA位错线;仅显示位错线和晶胞

2 先生成模型#

Atomsk beta0.13.1 使用 GNU Fortran 13.3、Netlib LAPACK/BLAS 3.12.1 构建。附件用ASE生成对照结构,ASE由calorine环境提供;后面的分析切换到独立OVITO环境。

bash run.sh models
ls work/models

下面是实际执行的Atomsk命令,在新建空目录里运行;已存在同名输出时,先换目录或重命名旧结果。

螺位错参考晶体#

取 x∥[-112]、y∥[1-11]、z∥[110],位错线沿z,柏氏矢量也沿z。

atomsk --create fcc 4.05 Al orient '[-112]' '[1-11]' '[110]' -duplicate 18 12 8 screw-reference.cfg

加入正负螺位错#

两个核心放在横截面的0.253/0.753倍盒长附近,使用±b,保持总拓扑负担成对;-wrap 把坐标包回周期盒。

atomsk screw-reference.cfg -dislocation '0.253*BOX' '0.513*BOX' screw z y 2.863782463805517 -dislocation '0.753*BOX' '0.513*BOX' screw z y -2.863782463805517 -wrap screw-dipole.cfg

刃位错参考与成对位移#

取x∥[110]、y∥[1-11]、z∥[1-1-2];线方向z与柏氏矢量x垂直。这里使用原子数不变的edge位移形式。

atomsk --create fcc 4.05 Al orient '[110]' '[1-11]' '[1-1-2]' -duplicate 28 12 5 edge-reference.cfg
atomsk edge-reference.cfg -dislocation '0.253*BOX' '0.513*BOX' edge z y 2.863782463805517 .33 -dislocation '0.753*BOX' '0.513*BOX' edge z y -2.863782463805517 .33 -wrap edge-dipole.cfg

3 用DXA检查,不只看结构文件是否生成#

bash run.sh analysis
cat work/OVITO-RESULTS.json
ls work/ovito/*lines.json work/ovito/*.ca
from ovito.io import import_file, export_file
from ovito.modifiers import DislocationAnalysisModifier
p = import_file('screw-dipole.cfg')
p.modifiers.append(DislocationAnalysisModifier(
    input_crystal_structure=DislocationAnalysisModifier.Lattice.FCC))
d = p.compute()
print(len(d.dislocations.segments))
print(d.attributes['DislocationAnalysis.total_line_length'])
for line in d.dislocations.segments:
    print(line.true_burgers_vector, line.spatial_burgers_vector)
export_file(p, 'dislocations.ca', 'ca')

4 本次实际结果#

模型 原子数 DXA线条数 总线长/Å
螺位错参考 10368 0 0
螺位错对 10368 2 45.93137
刃位错参考 10080 0 0
刃位错对 10080 2 49.61933

两组提取线均归入FCC的1/2〈110〉完整位错。把线方向统一为+z时,每对空间柏氏矢量相反。DXA的晶体坐标柏氏矢量与空间矢量分开保存:后者含局部晶格形变映射,刃位错本例模长约2.86324 Å,不必强行改成名义2.863782 Å。

实际刃位错模型的两条DXA位错线

5 输出图片与后续计算#

bash run.sh render
ls work/ovito/*render.png

图片由Tachyon在CPU渲染,1800×1400像素;隐藏普通晶体原子与缺陷表面,只突出提取线。正式材料研究应先检查周期边界相容性、核心附近最小距离、尺寸效应与弛豫方案,再进行能量或受力计算。

参考:Atomsk位错选项、OVITO DXA。

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

查看配图

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

100%查看原图 ↗