液滴接触角边界曲线识别—巧用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]


请添加图片描述

一、物理模型构建-液体氧化硅表面的润湿行为

1. 初始结构:在氧化硅表面构建液体模型

在这里插入图片描述

2. 平衡态:液滴与氧化硅表面呈现一定接触角

在这里插入图片描述

二、根据Ovito识别液滴表面

1. 确定表面原子

这里需要点击 S u r f a c e   m e s h \rm Surface\ mesh Surface mesh,首先选择出液体对应的type,这将进一步作为全局变量,成为每一个原子的一个property。

在这里插入图片描述

2. 在 E x p r e s s i o n   s e l e c t i o n \rm Expression\ selection Expression selection中选择边界

1. 这里我们可以看到,多了一个 S u r f a c D i s t a n c e \rm SurfacDistance SurfacDistance的选择。

在这里插入图片描述

2. 选择边界,具体请下载测试文件。

在这里插入图片描述

3. 删除其他原子

在这里插入图片描述

三、Matlab程序绘图

clc;clear;
% file is file path of lammps file 
file = 'plot.dump'
try
    dump = fopen(file,'r');
catch
    error('Dumpfile not found!');
end

i=1;
while feof(dump) == 0
    id = fgetl(dump);
     if (strncmpi(id,'ITEM: TIMESTEP',numel('ITEM: TIMESTEP')))
            timestep(i) = str2num(fgetl(dump));
    else
     if (strncmpi(id,'ITEM: NUMBER OF ATOMS',numel('ITEM: NUMBER OF ATOMS')))
            Natoms(i) = str2num(fgetl(dump));
     else
      if (strncmpi(id,'ITEM: BOX BOUNDS',numel('ITEM: BOX BOUNDS')))
            x_bound(i,:) = str2num(fgetl(dump));
            y_bound(i,:) = str2num(fgetl(dump));
            z_bound(i,:) = str2num(fgetl(dump));
      else
       if (strcmpi(id(1:11),'ITEM: ATOMS'))
            for j = 1 : 1: Natoms
                atom_data(j,:,i) = str2num(fgetl(dump));
            end
            i=i+1;
       end
      end 
     end
   end
end


XYZ = atom_data(:,3:5,:);

for i = 1:40
    
XYZ_plot = XYZ(:,:,i);

drawnow;
sz = 150;
scatter(XYZ_plot(:,2),XYZ_plot(:,3),sz,'MarkerEdgeColor',[0 .5 .5],...
              'MarkerFaceColor',[0 .7 .7],...
              'LineWidth',1.5);box on;
line([0 143],[22 22],'LineWidth',3,'Color','k','LineStyle','-');       
          
xlim([0 143]);
ylim([0 200]);
% plot(xx(1:1:end)',temp(1:1:end,ii),"ko");hold on;
% plot(xx(30:70)',p1(1).*(xx(30:70))'+(p1(2)),...
%      'r-.','Linewidth',5);
% 
xlabel('Y axis','fontsize',20);
ylabel('Z axis','fontsize',20);
set(gca,'fontsize',20,'linewidth',1.5);
% title(strcat("frame: ",num2str(ii)));  
% 
    print(num2str(i),'-djpeg','-r200');
end

四、测试文件

链接:请点击
提取码:ij47

猜你喜欢

转载自blog.csdn.net/qq_43689832/article/details/131599669