基于Ovito的团簇识别分析

关注 M r . m a t e r i a l   , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 多 \color{blue}{多} 精 \color{orange}{精} 彩 \color{green}{彩}


主要专栏内容包括:
  †《LAMMPS小技巧》: ‾ \textbf{ \underline{\dag《LAMMPS小技巧》:}}  LAMMPS小技巧》: 主要介绍采用分子动力学( L a m m p s Lammps Lammps)模拟相关安装教程、原理以及模拟小技巧(难度: ★ \bigstar
  ††《LAMMPS实例教程—In文件详解》: ‾ \textbf{ \underline{\dag\dag《LAMMPS实例教程—In文件详解》:}}  ††LAMMPS实例教程—In文件详解》: 主要介绍采用分子动力学( L a m m p s Lammps Lammps)模拟相关物理过程模拟。(包含:热导率计算、定压比热容计算,难度: ★ \bigstar ★ \bigstar ★ \bigstar
  †††《Lammps编程技巧及后处理程序技巧》: ‾ \textbf{ \underline{\dag\dag\dag《Lammps编程技巧及后处理程序技巧》:}}  †††Lammps编程技巧及后处理程序技巧》: 主要介绍针对分子模拟的动力学过程(轨迹文件)进行后相关的处理分析(需要一定编程能力。难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  ††††《分子动力学后处理集成函数—Matlab》: ‾ \textbf{ \underline{\dag\dag\dag\dag《分子动力学后处理集成函数—Matlab》:}}  ††††《分子动力学后处理集成函数—Matlab》: 主要介绍针对后处理过程中指定函数,进行包装,方便使用者直接调用(需要一定编程能力,难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  †††††《SCI论文绘图—Python绘图常用模板及技巧》: ‾ \textbf{ \underline{\dag\dag\dag\dag\dag《SCI论文绘图—Python绘图常用模板及技巧》:}}  †††††SCI论文绘图—Python绘图常用模板及技巧》: 主要介绍针对处理后的数据可视化,并提供对应的绘图模板(需要一定编程能力,难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  ††††††《分子模拟—Ovito渲染案例教程》: ‾ \textbf{ \underline{\dag\dag\dag\dag\dag\dag《分子模拟—Ovito渲染案例教程》:}}  ††††††《分子模拟—Ovito渲染案例教程》: 主要采用 O v i t o \rm Ovito Ovito软件,对 L a m m p s \rm Lammps Lammps 生成的轨迹文件进行渲染(难度: ★ \bigstar ★ \bigstar )。

  专栏说明(订阅后可浏览对应专栏全部博文): ‾ \color{red}{\textbf{ \underline{专栏说明(订阅后可浏览对应专栏全部博文):}}}  专栏说明(订阅后可浏览对应专栏全部博文):
注意: \color{red} 注意: 注意:如需只订阅某个单独博文,请联系博主邮箱咨询。 l a m m p s _ m a t e r i a l s @ 163. c o m \rm lammps\[email protected] [email protected]

♠ \spadesuit † \dag 开源后处理集成程序:请关注专栏《LAMMPS后处理——MATLAB子函数合集整理》
♠ \spadesuit † \dag † \dag 需要付费定制后处理程序请邮件联系: l a m m p s _ m a t e r i a l s @ 163. c o m \rm lammps\[email protected] [email protected]


本博客是《团簇生长过程-Ovito渲染》的扩展部分。
请添加图片描述

一、根据Ovito的Cluster analysis保存信息

1. 每一帧数据

这里储存的信息是每一帧的统计结果。
请添加图片描述
请添加图片描述

2. 每一帧数据结构

请添加图片描述
我们可以看到包括了当前帧内的团簇ID和团簇Size
请添加图片描述

二、根据Matlab读取每一帧的信息

1. 读取信息

读取路径下的全部文件

clc;clear;

file_path = 'K:\博客文件\Ovito渲染案例\';
 
img_path_list = dir(strcat(file_path,'c.*'));

img_num = length(img_path_list);


if(img_num>0) %有满足条件的文件  
    for frame      = 1:img_num-1 %逐一读取  
        file      = strcat(file_path,"c.",num2str(frame));  

        [cluster_id cluster_size] ...
            = textread(file, '%n%n', 'headerlines', 2, 'emptyvalue', 0);

        cluster_record = [cluster_id cluster_size];
        if(isempty(cluster_id)==1)
            cluster_id=0;
            cluster_size=0;
        end
        cluster_max(frame,1)    = max(cluster_size);
        
        drawnow;
        
        
        bar(cluster_size./max(cluster_size),'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',10)
        xlabel('Cluster ID','fontsize',20);
        ylabel('Cluster size/Maxsize','fontsize',20);
        set(gca,'fontsize',20,'linewidth',1.5);        

        print(strcat(num2str(frame),'.jpg'), '-dpng', '-r150');
    end 
end
  

2. 团簇大小

为了方便比较,团簇大小我们进行归一化处理,每一帧的团簇size/当前帧最大的团簇size。

        bar(cluster_size./max(cluster_size),'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',10)
        xlabel('Cluster ID','fontsize',20);
        ylabel('Cluster size/Maxsize','fontsize',20);
        set(gca,'fontsize',20,'linewidth',1.5);    

请添加图片描述

三、统计结果

在这里插入图片描述

四、文件下载

链接:请点击
提取码:kzlu

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43689832/article/details/128507134
今日推荐