首页/文章/ 详情

【软件开发】DigiSim——一个基于数字图像处理的各向异性材料建模开源软件包

11月前浏览2330

软件简介

       DigiSim是一个开源软件包,用于基于数字图像处理的仿真。这是一个使用Matlab开发的简单、用户友好且易于使用的软件。该代码的主要目的是基于CT、MRI或数码相机拍摄的图像,对异质材料的微观力学行为进行建模。FEM和DEM模型都可以使用DigiSim软件包生成。此外,它还可以用于提取材料的微观结构,如夹杂物、孔隙和裂纹。DigiSim的基本计算流程如图1所示,该软件包的简要程序摘要如下:

   

图1 DigiSim软件包流程图

相关理论分析和代码地址已经在本公 众 号发表,详情见:

【理论算法】基于数字图像处理的堆积体结构特征提取与建模

   

图2 DigiSim 图标

数字图像准备

大多数数字图像是彩色或灰色图形,不能直接在DigiSim中使用。采用图像二值化处理来区分微观结构。对于一些有明显差异的图片,如图3a,可以直接使用阈值来获得二值图像。否则,需要一些复杂的过程或图像软件,如Photoshop(图3b)。建议在DigiSim中使用“JPG”文件格式。

   

图3 彩色图像的图像二值化

DigiSim运行——GUI模式

在获得二进制图像后,我们可以运行DigiSim来分析微观结构。软件包中提供了两种运行模式。一种是GUI模式,另一种是脚本模式。对于不熟悉MATLAB的用户,建议使用GUI模式。否则,首选脚本模式。

打开Digisim的文件夹,只需在命令窗口中写入Digisim(图4a),就会出现一个弹出窗口,如图4b所示。比例因子是一个像素的分辨率。基体和微观结构的网格尺寸是有限元法的种子距离。球体半径是DEM模型中粒子的大小。

   

图4 打开DigiSim界面

设置好5个参数后,我们可以点击“Pick An Image”选项,会出现一个选择窗口,我们可以选择二进制图片。图像将显示在左侧。

   

图5 选择图像

选择图片后,我们可以点击“位图矢量化”选项,名称将更改为“请等待”。过程完成后,名称将变为“Finish”,多边形几何体将出现在左侧窗口中。

   

图6 使用DigiSim进行位图矢量化

在获得微观结构的矢量几何结构后,我们可以点击“几何统计”选项。状态更改为“完成”后,将生成一个“xls”文件来记录几何图形信息。

   

图7 微观结构几何统计

然后我们可以点击“数值模型生成”选项。状态更改为“完成”后,将在同一文件夹中生成多个新文件。“dxf”文件是AutoCAD的多边形。“geo”和“py”是用于gmsh和ABAQUS的脚本。“p2dat”文件用于PFC。

   

图8 数值模型的生成

DigiSim运行——代码模式

脚本模型是熟悉MATLAB的用户的首选。一个典型的“.m”文件如下所示:

    clear;clc;  tic;  addpath subroutine  % set the image  image_file='concrete.jpg'; % image_file='DigiSim.jpg';  fn=image_file(1:length(image_file)-4);  % Vectorization bitmap  error=1.4;  scale=1/10;[ P] = vectorization2(image_file,error);  P=geom_scale(P,scale);  figure(1);  geom_plot(P);  % Geometry information statistics  [parea,fraction]=geom_area(P);  mg=min_bound_box2(P);  mbr_plot(mg);  geo_file='geometry.xls';  geom_stas(geo_file,parea,fraction,mg,P);  geo_sta_plot(mg,parea);  % Geometry and mumerical model OutPut  dxf_file=[fn,'.dxf'];  dxf_file_write(P,dxf_file);  gmsh_file=[fn,'.geo'];  lc=5;lc2=10;  gmsh_file_write(P,gmsh_file,lc,lc2);  abaqus_file=[fn,'.py'];  write_abaqus_2d(abaqus_file,P);  pfc_file=[fn,'.p2dat'];  radius=1;  write_pfc_2d_group(P,radius,pfc_file);  if Gmsh is sucessfully installed   inp_file=[fn,'.inp'];  str=['system(''gmsh.exe ',gmsh_file, '  -o ',inp_file,' -2'');']; eval(str);  if Abaqus is sucessfully installed  str=['system(''abaqus cae noGUI=',abaqus_file,''');'];eval(str);  toc;  
     

    如果您想分析新的数字图像,只需将image_file更改为您的文件即可。GUI模式中的五个参数具有相应的变量名称“error”、“scale”、“lc”、“lc2”和“radius”。此外,如果Abaqus和Gmsh正确安装在计算机上,我们可以简单地取消第32、33和35行的注释。软件包中提供了两个示例,用户可以运行代码“example1.m”或“example2.m”来轻松演示基于数字图像处理的建模。

     

    图9 使用Abaqus的有限元网格

    END

    来源:数字孪生与工程计算
    AbaqusMATLABAutoCAD裂纹理论PFC材料
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2023-06-06
    最近编辑:11月前
    Rockman
    博士 | 副教授 十年饮冰
    获赞 10粉丝 38文章 15课程 0
    点赞
    收藏
    未登录
    还没有评论

    课程
    培训
    服务
    行家

    VIP会员 学习 福利任务 兑换礼品
    下载APP
    联系我们
    帮助与反馈