【Abaqus】输出任意参量平均值的插件

0.出发点

数值仿真数据的合理处理对于结果非常重要,特别是细观模型,包括特殊结构、3D打印材料、颗粒、纤维填充等代表性单元,需要通过提取其平均值才能与试验进行对比。下面是个简单的算例,在y方向压缩极小曲面之Gyroid。

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的图1

为了对比该极小曲面的应力水平,采用同样的材料做了单轴压缩,两种情况对比如图所示:

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的图2

从图中可以看到,如果仅去极小曲面上的一个点作为其应力应变,其曲线甚至比实心立方体还高,显然这是不合理的。出现这种现象的主要原因是,此类细观结构或变形不均匀时,不能取一个点代表整个模型,不然很可能会出现较大的误差。对此问题,细观力学有些方法,比如作用力反作用力法,体积平均法等,但也有人认为对于细观结构,作用力反作用力法 不太合理。体积平均法的简单表达式如下:

【Abaqus】输出任意参量平均值的插件的图3

即模型中每一个单元的应力(应变)对单元体积积分后,除以模型整个体积。上述应力应变曲线也证实,采用该方法能够得到较为真实的数据。

如果进提取某个方向的平均应力-应变,也许采用作用力反作用关系更快些;然而,有时候需要不同参量,如von mises应力等的平均值,此时需要通过python进行批量处理。

****基于以上需求,做了各abaqus后处理插件,可以提取任意参量的平均值。******

介绍

插件主界面如下图所示,功能主要包括:


  • 定义任意step;
  • 可以选择每隔n个帧提取,实际上这是为了加快提取速度;
  • 可以提取标量:当所输出为标量时,比如用户自定义SDV1等,members可以不填写;同时支持多个变量,比如SDV1,SDV2等;
  • 有份量的参量:比如应力S及真实应变LE等都是有方向的,此时不仅需要给出参量名称,也需要给定方向,比如要提取S11 则在Name填写S,members填写11; 如果相提取mises平均,则在Name先填写S,members 再填mises即可。同样支持多个量同时提取,比如 Name:S,E 而members:22同时提取S和E的2方向。
【Abaqus】输出任意参量平均值的插件的图4
  • 可以自定义单元集合ElementSet或直接从屏幕选择:二选一;建议先定义好ElementSet,因为直接选取的话也会消耗时间(单元数量很多时);如果前期没有定义set,后续将odb以可读写方式打开(技巧:直接运行插件一次即可以可读写方式打开),如图所示,再定义set即可:
【Abaqus】输出任意参量平均值的插件的图5
  • 可以对结果转换坐标输出:支持前处理或后处理自定义坐标后转换输出,如图所示。
【Abaqus】输出任意参量平均值的插件的图6
  • dVi==1:当前处理没有输出EVOL或只想提取算数平均数时勾选,此时提取速度快;如果需要提取体积平均如式(1),则需勾掉,并必须有EVOL。
  • 可以动态显示:
【Abaqus】输出任意参量平均值的插件的图7
【Abaqus】输出任意参量平均值的插件的图8

***前段时间共享源代码,后来发现别人做成插件倒卖,所以做成了简单的插件;希望共同学习,尊重自己、尊重别人*****

***附件是插件,一般可以放到C:\Users\用户名\abaqus_plugins下即可***

***打开abaqus,菜单栏中点击plug-ins,里面找出Average即可*****

欢迎咨询讨论:QQ180280578、微信allisforA。


(5条)
默认 最新
请问这个体积均匀化法的使用条件是什么呢?我的模型基体的网格数量是6w个,第二相的网格数量是5000个,平均均匀化法提取的整体曲线与只提取基体的曲线基本一样,这是对的吗
评论 1 点赞
回复
如果是两种材料性能相差较大,不应该差不多
评论 点赞
请问想输出一个单元集的S11的平均值,但是提示list index out of range该怎么解决呢?
评论 2 点赞
回复
你好,你这个问题解决了吗
评论 点赞
回复
联系我,远程给看下
评论 点赞

查看更多评论 >

点赞 3 评论 11 收藏 6
关注