OVITO使用(1)——如何进行缺陷分析

我们在模拟辐照的级联碰撞过程时,常常需要观察辐照产生的缺陷(包含间隙原子和空位)变化,通过ovito中的Wigner-Seitz defect analysis方法(即W-S法)可进行相关分析。

它的原理如下图所示[1],将完美晶体(未经辐照的晶体)视为参考模型,并对它进行网格划分,一个原子占据一个网格位置。辐照发生后晶体内的原子发生迁移,相较于参考模型,有的网格位置原子离开,留下一个空位,即没有原子占据;有的网格位置有其他原子进入,这些原子视为间隙原子,即存在两个及以上的原子占据。因此,我们在进行识别的时候,Occupancy==1表示未离位的原子;Occupancy==2表示间隙原子;Occupancy==0表示空位。

具体操作步骤如下:

①以单晶为例,我们将计算文件拉入ovito,选择W-S分析法,命令框下方给出了缺陷数量信息(一般来说,单晶中产生的空位和间隙原子数量相等)。

②为了更好的观察间隙原子和空位的变化,我们通过Expression selection命令,在Boolean expression框中输入Occupancy==1将未离位的原子删去。

③同样通过Expression selection命令选中间隙原子(Occupancy==2或者Occupancy>1)和空位(Occupancy==0),并分别赋予不同的颜色,这样就能够帮助我们更好的观察和分析他们的变化规律。

④最后,我们可以输出动画,将整个过程呈现出来(以输出整个动画为例,选择Complete animation;每1步输出一帧(Every Nth frame,类似于视频倍速,数值越大,输出动画播放越快);这里画质选择1024×768,大家可以根据自己的需求更改;勾选Save to file,选择存储位置;背景默认为白底,有需要的可以更改;最后点击图中②位置的Render即可导出,文件导出时动画注意选择gif或者mp4格式)

⑤还可以导出数据绘制成图。选择File,选中Export File,选择存储路径,编辑文件名,选择要输出的数据信息(这里我们选取时间步长、间隙原子和空位数量信息),这样就可以了。

[1] https://ovito.org/manual/reference/pipelines/modifiers/wigner_seitz_analysis.html

附上手册命令网址,有不足之处欢迎大家补充~

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
要对ovito图片文件夹进行分类,可以使用以下步骤: 1. 数据预处理:遍历ovito图片文件夹,将每张图片转换为数字表示,例如使用像素值或特征提取算法,然后将所有图片的数字表示存储为一个数据集。 2. 特征提取:使用无监督方法,例如聚类算法,从ovito图片数据集中提取特征。 3. 聚类:使用聚类算法,例如K均值聚类,将ovito图片数据集分成不同的类别。 4. 评估:评估聚类结果的质量,例如计算轮廓系数或使用可视化工具检查结果。 5. 应用:将分类结果用于ovito图片文件夹的进一步处理或其他应用中。 下面是一个基于Python的示例代码,使用K均值聚类算法对ovito图片文件夹进行分类: ```python import os import numpy as np import cv2 from sklearn.cluster import KMeans # 定义ovito图片文件夹路径和分类数 folder_path = 'ovito_folder' n_clusters = 3 # 遍历ovito图片文件夹,将所有图片转换为数字表示 img_data = [] for filename in os.listdir(folder_path): img_path = os.path.join(folder_path, filename) img = cv2.imread(img_path) img = img.reshape((-1, 3)).astype(np.float32) img_data.append(img) img_data = np.concatenate(img_data) # 模型训练:使用K均值聚类算法将ovito图片文件夹分为n_clusters个类别 kmeans = KMeans(n_clusters=n_clusters, random_state=0).fit(img_data) # 分类结果可视化:将每个像素点的类别转换为颜色,并保存分类结果 for filename in os.listdir(folder_path): img_path = os.path.join(folder_path, filename) img = cv2.imread(img_path) img_data = img.reshape((-1, 3)).astype(np.float32) labels = kmeans.predict(img_data) centers = kmeans.cluster_centers_ res = centers[labels] res = res.reshape((img.shape)) cv2.imwrite(os.path.join('ovito_classification', filename), res) ``` 在上述代码中,使用`os.listdir()`遍历ovito图片文件夹,将每张图片转换为数字表示,并将所有图片的数字表示存储为一个数据集`img_data`。接着使用K均值聚类算法`KMeans`将ovito图片数据集分为n_clusters个类别,并将每个像素点的类别转换为颜色,最终得到分类结果并保存到`ovito_classification`文件夹中。 需要注意的是,上述代码仅提供了简单的分类示例,实际应用中需要根据具体问题进行参数调整和模型优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Molecular Der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值