HyperMesh是Altair公司的拳头产品,学名叫做有限元模型前处理工具。如果你是采购或者企业管理人员,看到这个学名就要懵了,啥是有限元模型?啥叫前处理?所谓有限元模型,我们在前面关于企业需要哪些仿真软件的文章中介绍过,做结构仿真有一种方法叫做有限元方法,其本质是搭积木,但它是反着搭的,不是从小积木开始搭大结构,而是是将一个大的结构,分割成一个个的小积木,因为每个积木的内部我们都事先研究清楚了,后面其实就是组装过程比较容易求解。这个分割之后的积木模型,就叫做有限元模型,HyperMesh这个软件,就是将几何CAD结构打散成一个个小积木的过程,这个过程,用行话讲,叫做画网格。画网格这个过程,就叫做有限元模型的前处理。有前处理,就有后处理,设置好的有限元模型,会丢给求解器求解,求解器算完之后,会丢出来一个结果文件,你要用专门的软件去查看结果,看看形变多少,应力是否超标,然后写报告截个图等等。这个过程就叫做后处理。
前处理其实也不止是画网格,前处理,就是从CAD几何开始,直到导出可以丢给求解器求解的文件结束。这里面涉及到CAD几何的清理,网格的划分,边界条件的设定(约束,载荷,工况),特殊卡片(输出控制等)。这些内容中,最花时间的是画网格,所以我们通常说,HyperMesh是画网格的工具。
那么,直观地看,啥是画网格呢?现在站长躺在沙发上手机打字,不愿意去电脑上截图了,就在手机上瞎画几笔。

左边是你导入的几何模型,右边是想通过HyperMesh希望画的网格,也就是我们前面说的积木。积木都是三维的,但有限元模型中的网格,既有3维的,也有2维1维的,其中的2d1d,都是对真实结构的简化处理。结构仿真的基础是简化,现实世界中物体都是三维的,但是通过理论计算,有的东西可以简化处理,比如一根工字梁,可以简化成一个1d的梁杆单元,为啥能简化?因为你一端固定,一端加载,用1d梁杆单元算出来的变形和你实际实验出来的一样,所以他们可以认为是等效的,那对于一个工字梁,1d单元建模相对3d的建模要简单很多,单元数量又少,建模时间和计算时间都少了,所以结构仿真工程师愿意把他简化成1d梁单元。2d单元也是类似,板壳理论证明了,一个薄板件,可以用一片2d面单元模拟,同样的好处:建模快,求解速度快,又有相当的准确率。
1d2d3d单元,也就是我们之前提到的积木,内部都已经被研究清楚了。后面需要给求解器输出的有限元模型,最基本的内容,就是节点的位置,自己每个单元都是由哪些节点组成的,类似下面这些(格式凭记忆可能有误)
grid,1,0,1,1,1
grid,2,0,1,1,2
grid,3,0,0,1,1
grid,4,0,1,2,1
cquad4,1,1,1,2,3,4
这是OptiStruct求解器关于节点和单元的卡片格式,前面的4行是1 2 3 4四个节点的位置信息,后面一行说的是这个4边形单元,编号是1,属性用的1号属性,并连接了1 2 3 4 四个节点。一般来说,求解器卡片都是明文的,所以如果你熟悉求解卡片的书写格式,你是可以手动写有限元模型的。写到这儿我又想起了念书的时候用APDL写塔吊模型的日子…当然,图中都是最简单的情况,真实产品的结构,面通常是曲的,体通常是奇形怪状的,不同的体之间又要相互连接,这时候你是不可能手写的,一个好用的可视化工具就必不可少了。好比我刚才上面画的图片,我只管用手指画,手机自动帮我在后台生成了图形。注意图形不是我画出来的,是我手指一动,手机知道我手指在这里动了,它后台帮我渲染出来了手指轨迹。手机就是我的一个可视化工具—你只管画,后台程序代码性的东西,交给工具。
关于1d 2d 3d网格各自的类型,以及其优劣对比,后面单独写文章说明,欢迎就要催更。
画2d网格是核心
1d梁杆,实际工程中用的并不多,最常用的行业是船舶和航空,船舶和飞机里面大量用到加强肋梁,都用3d网格建出来模型都跑不动,所以会用到1d。另外建筑行业用的应该会多一点,钢筋混凝土的柱子,可以等效成梁杆,只是我没接触过。
3d单元,在机械行业是很普遍的,机加工件,铸造件通常都需要用3d单元来模拟,但3d单元的生成,都是从2d单元开始的。如六面体单元,就是将2d四边形单元拉拽生成的(想象将电脑屏幕向外拽出来,空间中生成一个六面体),又比如最常见的四面体单元,也是通过先外表面包2d壳,然后向内生成3d单元。所以说,2d单元是核心。
2d单元,用的最多的就是汽车行业,汽车车身,一般都是钣金件,符合板壳理论的薄壁假设,所以每一片钣金,都会用HyperMesh画成一片壳单元来模拟。2d单元的核心,就是画四边形,这个在以后单元类型介绍的时候再详细说明吧。
前处理画网格软件门槛在哪里
听上去也不难,对吧?那为啥少有人做呢?能作为通用性前处理工具的,目前就HyperMesh和ANSA两家,CAD软件你经常听到的就有SolidWorks, CATIA, PROE, INVENTOR, UG等等,甚至CAE求解器更是多如牛毛:Abaqus, NASTRAN, OptiStruct, ANSYS, 还有很多流体求解,电磁求解器等等,为啥呢?我也没想明白
首先是几何读取,专用格式的买相应授权,中间格式的轮子应该很多了。
然后是网格划分,刚才讲了,核心是2d网格,面划分成四边形,这个算法有啥难的。
然后是模型交互,移动旋转缩放。隐藏反显,这里可能有点难,因为有很多对象之间关联关系要判断。
然后就是锦上添花的功能了,对象选择(几何对象点线面体,网格对象,载荷,约束,材料,属性),网格编辑,移动复制旋转对称,自动连接,自动网格质量优化。这里大概做做软件差异点吧,软件售前,展示的就是这些花里胡哨的功能。
最后是卡片设置,这里都是对接求解器卡片的内容,紧跟着求解器更新就行了,纯人力活也不难。
所以我估计开发这个软件不难,当然嘴巴一张一合最简单。CAD软件多是因为市场够大,求解器多是因为一开始他们就是各种公司扶持解决自己问题然后才变成商业软件的。至于画网格软件,估计是市场太难做了,HyperMesh已经实质性垄断了!
这个话题欢迎留言讨论。另外自主可控这么火,国内有识之士尽快去收购ANSA!(2024年4月更新:ANSA已经被Cadence收购了==、,Cadence也是工业软件巨头,做芯片设计EDA的,电子散热等。)