首页/文章/ 详情

木木带你深度解析Abaqus细观骨料如何生成?

11月前浏览5797

细观复合材料分析概述

复合材料细观模型的建立和分析已经非常成熟,已经存在大量的文献进行研究,有二维、三维的,也有各式各样的骨料形式,如二维:圆形、椭圆形、随机多边形等等;三维:球形、椭球形、随机凹凸多边形等等。建立的有限元模型的类型主要分为两种:网格映射的骨料模型几何边界的骨料模型。如下图所示:

两种建模方法的侧重点不一样,各具特色。其中网格映射是在已有的网格基础上进行分区定义材料属性,无需修改模型,形成的模型较规整;而几何边界划分形成的骨料形状则是精确描述骨料形状,并可以通过边界嵌入 Cohesive 单元层模拟界面特征,但网格划分过程中,容易出现形状不佳的网格,特别对于三维模型,大多数情况下只能采用四面体网格进行划分。通常根据研究的内容确定仿真最终效果,再选择合适的仿真建模方法。

为了实现骨料的生成和随机投放生成有限元分析模型,往往需要耗费大量的精力进行编程,而采用的语言以Matlab为主,也是在校研究生比较熟悉的编程工具,我们之前也编写过Matlab的骨料嵌入程序,使用过后主要存在一下弊端:

  • 形成结构形式简单,通常为圆形或方形边界形式为主,对于复杂结构适用性差;
  • 骨料投放速度有限,特别对于骨料占比较高的模型生成,所需试错时间较多;
  • 生成的数据无法直接形成模型,需要通过其他软件或二次开发生成有限元模型。

为了解决这一系列问题,在 ABAQUS 软件的基础上,开发了POLARIS_MesoConcrete插件,用于生成复合材料细观模型。

功能简介

POLARIS_MesoConcrete是木木所在团队陈佳敏老师开发的一款Abaqus插件,用于生成二维、三维复合材料细观周期性或非周期性模型,是一款前处理几何建模插件。插件可实现任意几何外形中嵌入骨料(含ITZ) 和孔隙;支持的骨料形式多样,其中二维支持:圆、椭圆、正多边形、随机多边形, 同时二维骨料支持主轴方向范围的指定;三维支持:球、椭球、随机 12和 24 面体。插件使用简单,并可同时生成网格拓扑骨料和几何刨分骨料的有限元模型,避免繁琐的建模过程,大大节约使用者的时间,提高工作效率。

插件功能

  • 支持任意几何外形:对于二维平面问题,只能在plane中嵌入骨料;对于三维模型,只能在solid实体部件中嵌入骨料。而任意几何外形,则表示部件的外形边界可以任意,只需提前进行网格划分;
  • 支持部件全局或局部区域嵌入骨料,这样可以满足一些钢筋、锚固件等位置上不能嵌入骨料的需求;
  • 周期性细观模型更贴合单胞分析需求,且能实现更高骨料含量,避免传统方式在模型边界出现纯砂浆区域;
  • 支持骨料和孔隙:复合材料搅拌过程中会卷入空气而无法排除,因此模型支持定义各种形状的孔隙;
  • 二维支持骨料几何类型:圆、椭圆、正多边形、随机多边形;其中多边形的边数量可随着面积增大而增大;随机多边形是在椭圆基等边多边形的基础上,通过节点在径向和环向波动生成的随机凹凸多边形。且支持二维主轴方向的指定, 可以是具体数值, 也可以在一定范围内波动;
  • 三维支持骨料几何类型:球、椭球、随机12和24多面体;其中随机12和24多面体是在椭球形多面体的基础上,通过节点在径向和周向波动生成的随机凹凸多面体。
  • 支持二维和三维骨料定义界面过渡区(ITZ),并可指定ITZ尺寸;
  • 在原有模型基础上同时生成网格拓扑骨料和几何刨分骨料的有限元模型,拓扑骨料是在原有网格基础上,通过单元分组定义材料属性,实现骨料、浆体以及界面单元的区分;
  • 支持富勒公式的二维、三维骨料级配、以及泰波三维骨料级配;
  • 如果需要更多级配或骨料形式,可以提供计算公式,进行定制化开发。

使用方法

运行要求

系统要求:Windows XP、 Windows 7/8/10

ABAQUS版本:6.14 及以上

插件安装

  1. 获得插件安装包:POLARIS_MesoConcrete_VX_abq14.exe;
  2. 双击安装包,弹出插件安装界面如下:
  1. 点击Next,插件将自动安装到%homepath% \abaqus_plugins 目录下;
  2. 重启Abaqus软件,在窗口的工具条中将新增两个工具条,其中:
    • 第一个图标为:随机骨料嵌入插件
    • 第二个图标为:骨料级配数据计算插件
  3. 第一次点击应用会弹出注册窗口, 请将注册码发送给开发者获取密钥,注册成功后可以正常使用了。

插件界面

工具条中单击插件按钮将弹出POLARIS_MesoConcrete插件界面如下:

Video Introduction按钮:点击后可以跳转到视频介绍链接,请在联网状态下点击,否则无法观看。

Documentation按钮:点击后可以在网页状态下,打开帮助文档。

Regions区块:定义骨料嵌入的区域类型

Gradation区块:定义骨料的类型和对应的参数;

级配定义表格

  • Type:定义嵌入Void孔隙或Aggregate骨料;
  • D_max:骨料的最大直径;
  • D_min:骨料的最小直径;
  • Proportion:骨料含量;
  • Shape:骨料形状;
  • ITZ:过渡区宽度,设置为0则是没有过渡区;

Other区块:设置生成部件的其它属性

  • Part Type下拉框:设置部件的类型,可选:Mesh Mapping为像素映射网格模型;
  • Geometric Partition为几何刨分模型;Both为同时生成像素映射网格和几何刨分模型;
  • Rock Gap:骨料之间的间隙;
  • Delete Void Elements复选框:当生成像素映射网格模型时,当勾选复选框,将删除骨料类型为Void的单元;否则进行保留。

级配管理和保存窗口如下:

工具条中单击级配按钮将弹出POLARIS_MesoConcreteGrading插件界面如下:

Method区块:定义骨料级配的计算方法

Type下拉框中支持三种计算方法,分别为

  • Fuller_3D,富勒级配,计算三维骨料级配,P_k为总的骨料含量    
       
  • Fuller_2D,富勒级配+瓦拉文,计算二维骨料级配。    
  • Taibal_3D,泰波级配,计算三维骨料级配,n为指数型系数,通常大于0.3,小于0.7。
 

Grading区块:定义骨料级配的计算方法。

  • 左侧表格,定义级配分界线;
  • 中间 Calculate 按钮,启动进行运算;
  • 右侧表格,生成级配数据。注意:最后一行数据只是参考,不能使用。

使用的常见问题和注意事项

  1. 当嵌入区域选择Part_All或Part_Set时,需要提前选择嵌入的部件,否则将提示“NoPart be selected!”;且当选择部件类型包含Geometric Partition时,选择的部件必须包含几何面信息,否则提示:“Part:[PartName] don't have GeoFaces!”或“Part:[PartName] don't have GeoCells!”。
  2. 当嵌入区域类型为Part Set时,未指定嵌入的Set集合名称,将提示“No Set be selected!”。
  3. 当骨料类型为:二维椭圆骨料或三维椭球骨料时,最大最小轴长比值需要大于等于1,否则提示:“EllipsoidRatio >= 1!”,且Max EllipsoidRatio >= Min EllipsoidRatio。
  4. 当骨料类型为:二维多边形骨料或三维多面体骨料时,最小边的数量Min EdgeNum必须大于等于3条,才能围成骨料,否则提示“EdgeNum >= 3!”;最大边数量 Max EdgeNum必须大于等于最小边数量 Min EdgeNum,否则提示:“MaxEdgeNum >= MinEdgeNum !”;半径随机系数Radius Random需要大于等于0小于1,否则提示:'0 <= Radius Random < 1 !';角度随机系数 Angle Random需要大于等于0小于1,否则提示:'0 <= Angle Random< 1 !';形状系数Shape Ratio必须大于等于1.2, 否则将提示:'Shape Ratio >= 1.2!'。
  5. 级配表格中需要输入级配信息,否则提示:'Complete table datas please!';每行数据的D_max需要大于D_min,否则提示:'D_max>D_min!';最小粒径D_min需要大于0,且大于最小网格尺寸;骨料含量Porprotion需要大于 0 小于1;所有骨料含量的总和需要小于1
  6. 使用二维嵌入插件时,选择的部件只能是二维部件,否则提示:'Part[PartName] is 3dmodel,Cann't insert 2D aggregate!',同样,使用三维嵌入插件时,选择的部件只能是三维部件,否则提示:“Part[PartName] must be 3d model!”。
  7. 选择部件嵌入骨料前,部件需要提前进行网格划分,否则提示:“Part:[PartName] hasn't be meshed!”,同时,建议网格尺寸需要小于最小骨料尺寸,否则嵌入会失真
  8. 当选择的部件为二维,而选择的骨料类型为“3D_”开头时,将提示“Part[PartName] type is 2D, but aggregate type is not!”;或当选择的部件为三维,而选择的骨料类型为“2D_”开头时,将提示“Part[PartName] type is3D, but aggregate type is not!”;表示,用户选择的部件类型和骨料类型需要匹配

运行提示

嵌入骨料过程,在 ABAQUS 信息窗口中,会实时弹出信息,提示进程:

  • ===========[Start]=======
  • 当提示:[info] Part is OK !,表示选择的部件不存在问题;
  • 当提示:[info] Total Area/Volume :,表示统计完嵌入区域的面积或体积;
  • 当提示:[info] Get part infomations !,表示模型信息读取完毕;
  • 当提示:[info] Total Num:,表示骨料库生成完毕;
  • 当提示:Label: NowID/TotalID,表示正在随机嵌入第 NowID 个骨料;
  • 当提示:[Failure] Times: %d,表示当前嵌入骨料失败,提示尝试的次数;
  • 当提示:[Success] Times:%d / %d,表示当前嵌入骨料成功,提示尝试的次数;
  • 当提示:[info] Part:%s has been created!,表示成功创建映射网格部件;
  • 当再次提示:[info] Part:%s has been created!,表示成功创建几何描述骨料的部件;
  • 当提示:[info] Type:Aggregate range[D_min ~ D_max] Num: * Proportion:** %,提示
  • 当提示:Propress:进度, SuccessNum:累积成功数量, FailureNum:失败成功数量,FreeEleNum:自由单元数量;
  • 当提示:[Info] Please wait while the model is being created...,表示开始生成几何模型;
  • 最后将提示嵌入骨料的生成报告:
  • =========Reports=============
  • 耗时提醒:Time-consuming: 7.7860 s
  • [0] D:10.0~15.0, RockNum[S-6,F-0,T-6] , Area[S-500.0(20.00%),F-0(0.00%),T-500.0(20.00%)]
  • [1] D:10.0~18.0, RockNum[S-3,F-0,T-3] , Area[S-375.0(15.00%),F-0(0.00%),T-375.0(15.00%)]
  • ……
  • All succeeded!

命名法则

POLARIS_MesoConcrete 插件在嵌入骨料过程中会生成新的部件,并在映射网格模型中通过定义不同的单元集合区分骨料、边界和砂浆,因此为仿真用户自定义名称冲突,特声明插件各部分属性的命名规则如下:

  • 新建几何描述骨料的部件:oldPartName-GeoType;
  • 新部网格映射骨料的部件:oldPartName -MeshType;
  • 网格映射骨料部件中新生成一些集合:
    • ZZ-BlankElem:包含砂浆的单元集合;
    • ZZ-BoundaryElem:包含骨料和砂浆界面的单元集合;
    • ZZ-BoundaryNodes:包含界面单元外部节点的节点集合;
    • ZZ-RockElem:包含骨料的单元集合;
    • ZZ-VoidElem:包含孔隙的单元集合;
    • ZZA-Layer:不同级配下的骨料颗粒集合;
    • ZZA-Layer-ITZ:不同级配下的骨料颗粒的 ITZ 集合。

文件输出

POLARIS_MesoConcrete插件在嵌入骨料之后,会在ABAQUS的工作目录下,输出骨料的基本信息文件RockData-timestring.csv文件,二维模型的骨料文件包含:Label编号、LayerId级配、maxD最大直径、Area面积、max_r最大半径、min_r最小半径、angle长轴角度、status投递状态(Success表示投递成功,Failure表示投递失败);三维模型的骨料文件在二维文件基础上不包含Area和angle,增加Volume体积输出

定制开发需求

定制骨料类型

虽然已经提供了足够的二维和三维的骨料类型,可以满足大多数复合材料细观结构的分析需求,但不排除特殊骨料生成算法或特定几何形状的骨料,我们都可为您提供定制化解决方案。

定制级配公式

如果您有特殊级配计算公式是插件目前还没有的,只需要给定计算公式,我们将实现,并集成到插件当中。

其它定制开发需求

如果您有其他的应用需求,同样可以和我们联系,进行合作开发。

案例演示

二维方形试件嵌入椭圆骨料

二维方形试件嵌入随机多边形骨料

二维周期性混合骨料模型

当定义嵌入区域为Box_2D时,可以在矩形区域内嵌入周期性骨料模型如下所示,且支持多种骨料类型同时嵌入并分组。

二维任意多边形嵌入随机多边形骨料

二维五角形嵌入随机多边形骨料

二维主轴倾向骨料的嵌入

242个椭圆颗粒,颗粒总含量55%,红色颗粒长轴角度控制在45度,蓝色颗粒长轴角度范围30~60度随机变化,耗时26.9秒。

二维含ITZ骨料几何模型生成

二维模型,包含4类骨料(圆形、椭圆、正多边形、随机多边形),各种颗粒均包含ITZ,不同组份分别创建Set集合。

三维含ITZ骨料几何模型生成

三维模型,包含4类骨料(球、椭球、12面体、24面体),各种颗粒均包含ITZ, 不同组份分别创建Set集合。

三维单根钢筋模型嵌入随机多边形骨料

三维长方体中部包含圆形钢筋,在模型中嵌入多面体骨料,可生成体素模型和几何模型如下。

三维周期性骨料模型

当定义嵌入区域为Box_3D时,可以在长方体区域内嵌入周期性骨料模型如下所示。

二维拉伸平板的周期性骨料模型

当定义嵌入区域为Box_2D时,勾选Plane3D,并定义平板厚度,可生成平板型周期性骨料模型如下所示:


来源:易木木响叮当
Abaqus复合材料二次开发其他软件MATLABUGUM材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-11-23
最近编辑:11月前
易木木响叮当
硕士 有限元爱好者
获赞 217粉丝 246文章 347课程 2
点赞
收藏
未登录
1条评论
Redamancy
签名征集中
10月前
想问下这个插件在二维,单一粒径范围下,插入随机多边形骨料,所能得到的最大骨料分数为多少
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈