最近工作上总是需要建模带多种连接的结构,正好看到知乎上有两位CAE工程师写的文章很详细:
有限元分析:结构力学仿真第四步——焊点、焊缝、螺栓、粘胶、弹簧、接触连接关系建模
上善若水:HyperWorks Connectors 连接元功能介绍(上)
里面很详细的讲了各种连接关系应该选择何种单元模拟,但是文章中没有讲软件中如何具体操作实现,所以我决定分几篇文章来写一写,各种连接在Hypermesh 中是如何操作建模的。
希望文章能帮到各位同行,如有错误也希望各位同行能够帮忙指正。
上面的引文里是这么介绍螺栓建模方法的:
螺栓是机械行业使用最为广泛的连接方式,有限元仿真建模时,一般有三种建模方法:刚性RBE2单元直接抓螺栓孔,柔性RBE3+梁单元 ,去除螺纹的实体螺栓。
但根据我的工作经验,NVH算模态 时,对螺栓连接主要考虑的是其对整体刚度的影响,不考虑其局部的应力(个人经验,不一定对,欢迎各位指正),所以RBE3用来模拟螺栓较少,主要采用的就是
2. RBE2+梁单元模拟。
下面就针对这两种方法讲讲软件里怎么实现。
两个打了孔的板子,已经画好了Washer。
点击右下角的工具栏,1D->Connector->bolt,进入下面的界面
简单介绍一下这个界面,上图里第1个框的功能是选择需要建立的螺栓模型的位置,第2个框的功能是选择需要建立的螺栓模型的类型。最右边几个参数一般是默认的,不用改动,如果有兴趣了解最右那几个参数的作用,可以参考Altair 的官方文档[1]。
建一个用RBE2模拟螺栓的模型:
首先就要选择location,在其中一个板子上选择所有需要建模的螺栓孔即可,例如下图
两点需要注意的事项:
选择connect what,这是选择需要连接哪两个物体的,在这个例子里就是选中这两块板子。
num layers的意思是同时连接几层板子,这个例子里只有两层,所以不用改,就用2就好。
tolerance指的是板子之间的距离容限,根据实际情况设置一下,保证板子之间的距离<tolerance就行,比如我这两块板子之间的距离是0.05m,所以我设置的tolerance是0.1m。
第2个框里的type选择bolt(general),即一般螺栓,这种类型就是纯粹用RBE2单元模拟螺栓连接。因为是RBE2单元,所以不需要设置单元属性。底下直接选择no property。
点击Create按钮后就可以看到创建的螺栓了。
当然,RBE2单元的螺栓也有好几种,比如在type选项里,还有种带washer的螺栓(下图中的bolt(washer1)),也是纯用RBE2模拟螺栓,但RBE2单元会同时约束住螺栓孔周围的一圈washer。
当然,type里还有好几种都是纯用RBE2模拟螺栓的,比如bolt(washer2),bolt(washer1 alt)等等,各自有一些约束形式上的差异,可以都试试,但我个人觉得常用的还是bolt(general)和bolt(washer1)这两种。
因为要建立梁单元,所以我们首先要创建一个梁截面,点击左上角的页面Model->HyperBeam View之后,就可以进入编辑梁截面的页面。
在左上角空白处右键创建梁截面,里面有很多截面可以选择,我一般选择圆截面。
这个例子中螺栓孔半径是5mm的,所以填了0.005m。
然后点击Model View重新回到模型界面,还是按第1节的方法建立螺栓,只不过type一栏要选择bolt(CBAR)。
下面的default post script不用动,就使用默认就好。
这个功能其实是Hypermesh自己出的一个脚本语言,叫tcl,通俗来说,就是你可以自己用tcl脚本语言编程来建模,属于高端玩法。
技术大牛可以去自己改动,自己编写,如果不会用tcl,就用官方默认的脚本就好。
然后点击create创建完成后,就可以看到已经建模完成了。
需要注意的是,虽然这时已经创建好了梁单元,但还没给梁单元赋截面属性,所以要进入左上角的Properties View页面,给梁单元赋截面属性
可以看到,软件自动帮我们建了两个属性,我们将其一起选中,然后在左下角的属性编辑器中,将beamsec(梁截面)属性中,选上我们刚刚创建的那个圆形截面
这时就可以看到,CBAR单元已经有截面属性了,变成了圆柱体。
P.S. 如果看不到圆柱体,应该是没把1D单元显示打开,打开方法是点击右下角菜单栏的这个按钮,切换成1D Detailed Element Representation。
额外提一句,Hypermesh里创建连接关系后(例如螺栓、弹簧等),会在左上角出现一个Connector的页面,点进去可以很方便地查看、管理现在已经存在Connector连接。