OVITO专题

OVITO结构识别、配位数与体积分析

从LAMMPS格式读写开始,用FCC参考结构核对CNA、PTM、RDF与Voronoi。

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

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

1 命令行运行与输入文件#

本例使用OVITO 3.16.1的Python接口,CPU上完成分析;图片使用Tachyon CPU渲染。下载包脚本自行生成32原子FCC参考结构、缺少1个原子的结构和3帧已知仿射形变坐标。这些是用于核对工具的几何样本,不是分子动力学轨迹。

module purge
module load ovito/3.16.1
export OVITO_THREAD_COUNT=4
export QT_QPA_PLATFORM=ovitoheadless
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.json
mkdir ovito-work
cp ovito_examples.py ovito-work/
cd ovito-work
python ovito_examples.py

LAMMPS dump头部明确给出原子数、周期盒和列名id type x y z。读写接口:

from ovito.io import import_file, export_file
p = import_file('reference.dump')
d = p.compute()
print(d.particles.count)
export_file(p, 'roundtrip.dump', 'lammps/dump',
    columns=['Particle Identifier', 'Particle Type',
             'Position.X', 'Position.Y', 'Position.Z'])

本次往返保留32个原子、编号和晶胞,最大坐标差8.88×10⁻¹⁶ Å。多元素体系还应核对类型与元素的映射;纯dump文件不一定自带元素名称。

2 CNA、PTM与配位数#

from ovito.modifiers import CommonNeighborAnalysisModifier
p.modifiers.append(CommonNeighborAnalysisModifier())
d = p.compute()
print(d.attributes['CommonNeighborAnalysis.counts.FCC'])

CNA与PTM均识别出 32个FCC原子。在另一个新pipeline中加入CoordinationAnalysisModifier(cutoff=3.1, number_of_bins=100),每个原子的配位数均为12;得到的径向分布表可以写入CSV。

理想FCC参考结构的径向分布函数

晶格常数为4.05 Å,第一近邻距离约2.864 Å,所以3.1 Å截断包含第一壳层。换用其他材料、热扰动结构或不同密度时,应重新选截断,不能照搬3.1 Å。

3 Voronoi体积#

from ovito.modifiers import VoronoiAnalysisModifier
p = import_file('reference.dump')
p.modifiers.append(VoronoiAnalysisModifier(compute_indices=True))
d = p.compute()
print(d.particles['Atomic Volume'][:])

每原子体积 16.60753125 ų,总和 531.441 ų,与8.1 Å立方盒体积相同。涉及自由表面时应注意是否周期、是否包含真空,不能将分配到真空的体积当作固体体积。

参考:OVITO Python分析接口。

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

查看配图

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

100%查看原图 ↗