OVITO 使用
OVITO 使用
介绍
官网:OVITO
OVITO 2.9 版本的 Python script 功能可以免费使用,其他需要 Pro 版本
支持 SFTP,可打开远程文件
OVITO 菜单栏:
- 主菜单
- 视图窗口
- 动画工具条
- 修正通道(Add Modification)及其属性栏
- 渲染标签
- 叠层标签(添加坐标轴、colorbar 等)
-
- 原子轨迹跟踪显示
- 熔化过程中自由体积和中心对称参数的变化
输出 RDF
OVITO 显示多晶不同颜色
- 方式 1:添加 CNA Modification
- 方式 2:添加 ‘Color coding’ Modification,在右下方 ‘Input property’ 选择 ‘Particle Identifier’,此时,晶粒被设置为相同的颜色;在颜色条下方点击 ‘Adjust range’,设置不同的颜色对应不同的晶粒 ID
使用
-
- 仅保留位错与缺陷原子
- 输出各种位错线长度与位错密度的相关数据
- 输出每一帧中的不同相原子的数量的相关数据
- 统计每一帧中裂纹的表面积变化
- 为模型添加基础的光影
- 统计模型中的孔隙率(只适用 Pro 版)
- 绘制原子应力应变云图
- 根据 dump 文件输出的原子属性数据计算新的原子属性数据
- 对某一原子属性在空间上进行平均
- 对某一原子属性在一维和二维空间上绘制分布图(只适用 Pro 版)
- 绘制原子模型的表面轮廓线
- 切割展示模型的某一个晶面
- 结合 DXA 与汤普森四面体判定位错滑移面
- 选中特定原子修改颜色
- 修改原子的透明度
- 辅助建立含有非晶晶界的多晶原子模型
- 特定 Voronoi 指数的多面体团簇绘制
- 利用平移与周期性边界条件调整模型
- 冻结之前选择的原子以观察原子的移动趋势
- 在 OVITO 中绘制粒子属性的散点图与直方图
- 绘制原子位移矢量图
- 绘制特定原子的轨迹线
直接导入构型/轨迹文件,下方默认有 Particles 信息;添加 Modification 后,会出现 Global Attributes、Data Tables 另外两种类型的数据(添加 DXA,会多出 Dislocation、Surfaces 数据)
Add Modification 选项
- 无直接计算原子层间距的 Modification
1 | # Analysis |
- 常用 Expression selection 值:Expression selection - OVITO
1 | Position.X # x 方向笛卡尔坐标 |
空位、间隙识别及数目统计步骤:Ovito可视化弗伦克尔缺陷_哔哩哔哩_bilibili
- Wigner-Seitz defect analysis:识别空位和间隙原子并统计对应数目
- Expression selection:
Occupancy==0
空位,Occupancy>0
间隙原子 - Assign color:给空位和间隙原子分别着色以进行区分
多面体模板匹配(PTM):Polyhedral template matching — OVITO User Manual 3.11.3 documentation
- 可识别的 Ordering types(L1_0、L1_2、B2、zincblende / wurtzite)
LAMMPS 与 OVITO 自带的结构分析模块包括:共近邻原子分析(Common Neighbor Analysis);中心对称参数分析 (Centrosymetric Patameter) 与多面体模板匹配法(Polyhedral Template Matching)等。在分析点缺陷、线缺陷以及各种不同晶体结构时,这些方法是很有力、很方便的。需要指出的是,以上几种方法仅适用于已有良好定义的晶体,如 BCC、FCC、HCP、SC 等。对于不那么规则的晶体,例如单斜、三斜晶系等,可能会被错误的归入其它类别,或是归入 Others 中。
局域有序参数法(Local Ordering Parameter)
OVITO 中的渲染器:OpenGL renderer, Tachyon renderer, OSPRay renderer(后两者收费,其 Python API 可免费使用)
DXA 算法只能单线程运行;CNA,Voronoi analysis,PTM 算法可并行
OVITO Python
官方教程:OVITO Python
OVITO2.9后处理python脚本和一些python后处理代码(前 6 个官网有示例代码)
- 计算 MSD
- 自定义序参数(order parameter)
- 根据粒子的晶向对粒子进行着色
- 找到模型中所有重叠的原子
- 将模拟盒子的 6 个方向分别收缩到所有粒子的 6 个方向的坐标极限的
- 计算局域熵(local entropy)
- 统计 Voronoi 分析中出现频率最高的前 10 个 Voronoi 指数并将其输出
- 识别 FCC 晶体中的 ISF、ESF、TB 等面缺陷
- 识别 BCC 中的点缺陷和面缺陷
主要用于可视化:How to Script with OVITO
Voronoi 多面体指数常用
<n1, n2, n3, ..., ni, ...>
形式表示,其中ni
表示 Voronoi 多面体具有的 i 边形数;一般 n1 和 n2 都是 0,可不用写出来;二十面体的多面体指数为<0, 0, 12, 0>
,十二面体的多面体指数为<20, 0, 0, 0>
支持的输入文件格式:Input file formats — OVITO User Manual 3.11.3 documentation
可导出的文件格式:ovito.io.export_file — OVITO Python Reference 3.11.3 documentation
Pipeline 概念:Pipeline concept — OVITO User Manual 3.11.3 documentation
- OVITO modifiers are analysis or property calculation/setting routines. For anything you want to do, in terms of analyzing your data from a atomistic simulation, you will use a modifier which is appended to the pipeline via
pipeline.modifiers.append(...)
.
- OVITO modifiers are analysis or property calculation/setting routines. For anything you want to do, in terms of analyzing your data from a atomistic simulation, you will use a modifier which is appended to the pipeline via
整体流程:导入构型数据,添加 modifier 进行处理,导出计算数据(使用多个 modifier 时,需注意其顺序)
1 | from ovito.pipeline import Pipeline |
- Pipeline、DataCollection 类相关
1 | # DataCollection 相关 |
- 数据导出
1 | from ovito.io import export_file |
1 | from ovito.modifiers import ... |
- Global Attributes 和 Data Tables
1 | data.attributes[...] # 获取 Global Attributes 中对应 keyword 的数据 |
- 格式转换(OVITO Python 中的 DataCollection 可转换成 ASE、pymatgen 的格式)
1 | from ovito.io.ase import ase_to_ovito, ovito_to_ase |
- 计算 RDF
1 | pipeline.modifiers.append( |