Atomsk螺位错与刃位错建模
Al正负位错对、实际命令、DXA线长与柏氏矢量、CPU渲染及初始模型边界。
阅读本篇目录
下载结构、实际数据、全部脚本与参考结果。解压后进入附件目录,依次执行本文步骤;reference/ 保存本次结果,复跑写入 work/,重建模型前会把旧work移到work-history。
1 本篇得到什么#
生成一对符号相反的 Al 螺位错、另一对刃位错;用 OVITO 的 DXA 识别位错线与柏氏矢量,再导出图和CA文件。模型来自连续弹性位移场,是未做能量最小化的初始结构,不用于直接报告稳定核心、位错形成能或Peierls应力。
参数:FCC Al,晶格常数4.05 Å,名义完整位错柏氏矢量大小 a/√2≈2.863782 Å。刃位错位移场取泊松比0.33,此数值是建模参数;换材料时应使用适合的弹性参数。

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 Å。

5 输出图片与后续计算#
bash run.sh render
ls work/ovito/*render.png
图片由Tachyon在CPU渲染,1800×1400像素;隐藏普通晶体原子与缺陷表面,只突出提取线。正式材料研究应先检查周期边界相容性、核心附近最小距离、尺寸效应与弛豫方案,再进行能量或受力计算。
参考:Atomsk位错选项、OVITO DXA。