HyperMesh联合Abaqus隐式分析
责任编辑:Pepsi     时间:2024-07-31     来源:转载于:CAE交流之家
责任编辑:Pepsi
时间:2024-07-31  来源:转载于:CAE交流之家
分类: 技术分享
浏览量: 927

最近在科研项目上,卡了我快一年的难题稍见曙光。这个模型我之前一直都是用HyperMesh划分网格,生成inp文件再导入Abaqus定义边界条件的。但是这样来回在两个界面之间折腾效率还是比较低。这次我终于下定决心学习使用HyperMesh独立完成Abaqus的全程前处理工作。


1.png

这个模型中,涉及到在HyperMesh中定义Abaqus的材料、截面、分析步、场输出,以及耦合、边界条件等信息。我会用一个简化模型将整个流程讲清楚。
对了,我使用的是HyperMesh 2020版,Ribbon风格新界面。虽说软件版本不是最新,但HyperMesh发布Ribbon风格的新界面也快两年半了,我已经快要有点不记得旧界面该怎么用啦。

01

问题和动机

首先,咱来聊聊为啥要用HyperMesh完成全部前处理工作。

一般来说,Abaqus的网格划分功能不太能胜任稍微复杂一点的几何。使用HyperMesh或是ANSA这类专业前处理工具相对来说能更轻松地画出漂亮的网格。而在Abaqus/CAE界面下,定义分析步、边界条件等操作则比较方便,全程图形界面操作。

但是,如果你的项目涉及到好几个不同的模型方案的对比,方案之间又不太方便通过类似Morph的功能修改的话,如果只导出包含网格的inp文件再放到Abaqus里定义载荷等信息,就可能面临更多的重复操作。

我之前几个项目也是这么做的。其实也不麻烦,用abaqus.rpy录制一段小脚本,把重复性工作自动化就好。但这次我还是想搞点不一样的。稍加研究后我实现了在HyperMesh中完成Abaqus的全部前处理。刚好前些天看到有别人发了ANSA联合Abaqus做隐式分析的推送,那我也来写一篇HyperMesh的推送吧。



02

Abaqus简单模型

用Abaqus建立一个简单的梁模型。emmmm……实在太简单了也不好,左端固定,就在右端定义一个参考点然后加一个刚性耦合Coupling吧。然后在右侧参考点处施加一个扭转位移。


2.png

别问我为什么是在Abaqus里建模而不是HyperMesh。因为这是简单有效的学习过程——在HyperMesh这类基于关键字的前处理软件里,想要完成完整的前处理流程,当然可以直接去求解器的文档参考它的关键字。但如果能有一个写好的求解器inp文件供参考,学习效率自然会更高。

在单元这里,我给它添加一点不一样的属性:C3D8R单元,增强沙漏刚度控制。其实这个选项在简单模型里完全体现不出区别。


3.png

最终在Abaqus里的位移:


4.png

这个文件命名为hm_test.inp。

03

HyperMesh参考步骤

在HyperMesh中导入刚才的inp文件,来参考一下这个inp文件在HyperMesh里呈现的结构。


5.png

那么,在HyperMesh里重做一遍全部操作吧~


6.png

创建一个长方体模型。模型建立和网格划分这部分工作就不再赘述,一般如果是真正的工程问题,如果模型太简单了我们还真没必要劳烦HyperMesh。


7.png

好的,我们得到了一个只有网格的模型。现在让我们来按照Abaqus的操作逻辑,从创建材料开始。


8.png

1. 创建材料。

在HyperMesh的Model选项卡中找到添加材料功能。其实也可以在左侧模型树上右键Create-Material.


9.png

在HyperMesh切换到新界面时,底部的Panel面板仍得到保留。因此同样的卡片编辑功能,有两套(或者也可以说是三套?)GUI。其一就是新建材料时的这种对话框,其二是在模型树中点选材料,下面的属性框(其实就是把新建材料的Name-Value表格给固定到屏幕左下角),其三是右键某一对象时选择Card Edit时的编辑卡片窗口。


10.png

11.png


这里只需要勾选最简单的Elastic,输入E和NU即可。


2. 定义截面。

在Materials右侧就是Properties按钮。Card Image选择SOLIDSECTION,材料选择刚才定义的结构钢。


12.png

注意,如果要对单元类型中的减缩积分算法进行控制的话,虽然在Abaqus/CAE界面中是在单元类型里定义,但在Abaqus的inp文件中,是把这些信息归类为截面控制类别的。所以还需要添加一个Property,卡片选择SECTION_CONTROLS,定义好对单元类型的控制属性。然后在第一个Steel_section中引用它。


13.png

14.png

定义好材料和截面,将截面赋予给刚才建立好的Component即可。


15.png

3. 定义分析步。

这次直接右键创建Load Step吧。


16.png

分析步类型选择为static。


17.png

注意,在HyperMesh中,如果模板设置为Standard 3D,则只能创建Abaqus/Standard分析步。如果想要创建Abaqus/Explicit分析步,则需要将模板切换为Explicit.

18.png


其他设置如图所示。其实,这个界面就是针对Abaqus的*STEP分析步可用的关键字做了一个GUI。它的每一个选项和Abaqus关键字的语法都是对应的。初学者可以参考从Abaqus导出的inp文件来进行设置,而更多高级选项,其含义在Abaqus文档的*STEP关键字页面里都有写。


19.png

Abaqus界面中默认的场输出和历程输出选项,在HyperMesh中也需要显式定义一下。但都不算很难。就选择PRESELECT就好。


20.png

分析步的定义其实还没结束。后面还需要把设定好的载荷Loadcols和接触Group放进分析步里。

4. 定义相互作用。

HyperMesh中,把大部分的相互作用都称为Group。这个命名我着实是没太看懂,但……你说是就是吧。


21.png

在定义耦合之前,需要定义一个参考节点的set,和一个耦合的SURFACE。定义好以后,新建一个Group对象,Card Image选择COUPLING。


22.png

5. 定义载荷。

这个模型中,载荷只有位移边界条件。在HyperMesh里,当然可以直接点BCs和Loads创建载荷,再把它们归类到Load Collectors里。但如果希望在Abaqus中打开还能看到以集合形式定义的位移边界条件的话,还是像这样设置比较好:


23.png

这里有DOF1和DOF2,但我在里面写上了PINNED。在Abaqus文档 > Prescribed Conditions > Boundary Conditions 页中,介绍了*BOUNDARY关键字的用法:


24.png


25.png


就是说,可以从DOF1约束到DOF2,同样也可以在第一个位置写上XSYMM等关键字。这和Abaqus/CAE中的图形界面操作是一致的。

固定边界条件用PINNED关键字,而参考点处的边界条件就可以直接设置了:Analyze-BCs-Constraints


26.png

27.png


6. 修改单元类型。

在HyperMesh的Abaqus模板下,可以直接在下方的 3D 面板上修改单元类型。选右下角的elem types即可。(如果换成ANSYS模板,就不能这么做了。ANSYS模板里,需要定义一个sensor对象,卡片选为ETType。所以我才说,HyperMesh这谜一样的卡片类型名称简直是阻碍学习者的最大障碍之一)


28.png

选择单元,切换单元类型后点击update即可。


29.png

30.png


Hex8单元有这么多类型可选。

全部定义好以后,导出inp文件,就可以直接提交Abaqus计算了。


31.png

小喵使用的是并行超算云。在云端提交Abaqus作业,只需要在写好的.sh文件里,修改inp文件的文件名,定义使用的核心数就可以了。


来源:转载于:CAE交流之家

回复:

Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved. 湘ICP备20015126号-2
联系我们