【Abaqus】输出任意参量平均值的插件
0.出发点
数值仿真数据的合理处理对于结果非常重要,特别是细观模型,包括特殊结构、3D打印材料、颗粒、纤维填充等代表性单元,需要通过提取其平均值才能与试验进行对比。下面是个简单的算例,在y方向压缩极小曲面之Gyroid。
为了对比该极小曲面的应力水平,采用同样的材料做了单轴压缩,两种情况对比如图所示:
从图中可以看到,如果仅去极小曲面上的一个点作为其应力应变,其曲线甚至比实心立方体还高,显然这是不合理的。出现这种现象的主要原因是,此类细观结构或变形不均匀时,不能取一个点代表整个模型,不然很可能会出现较大的误差。对此问题,细观力学有些方法,比如作用力反作用力法,体积平均法等,但也有人认为对于细观结构,作用力反作用力法 不太合理。体积平均法的简单表达式如下:
即模型中每一个单元的应力(应变)对单元体积积分后,除以模型整个体积。上述应力应变曲线也证实,采用该方法能够得到较为真实的数据。
如果进提取某个方向的平均应力-应变,也许采用作用力反作用关系更快些;然而,有时候需要不同参量,如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方向。
- 可以自定义单元集合ElementSet或直接从屏幕选择:二选一;建议先定义好ElementSet,因为直接选取的话也会消耗时间(单元数量很多时);如果前期没有定义set,后续将odb以可读写方式打开(技巧:直接运行插件一次即可以可读写方式打开),如图所示,再定义set即可:
- 可以对结果转换坐标输出:支持前处理或后处理自定义坐标后转换输出,如图所示。
- dVi==1:当前处理没有输出EVOL或只想提取算数平均数时勾选,此时提取速度快;如果需要提取体积平均如式(1),则需勾掉,并必须有EVOL。
- 可以动态显示:
***前段时间共享源代码,后来发现别人做成插件倒卖,所以做成了简单的插件;希望共同学习,尊重自己、尊重别人*****
***附件是插件,一般可以放到C:\Users\用户名\abaqus_plugins下即可***
***打开abaqus,菜单栏中点击plug-ins,里面找出Average即可*****
欢迎咨询讨论:QQ180280578、微信allisforA。
查看更多评论 >