随着计算机图形、硬件、以及3D打印技术的发展,基于面片网格的图形渲染及其格式变得越来越普及。有限元分析(FEA)中,工程师们也常常拿到基于面片网格的几何文件(如STL文件等),并进行后续的分析工作。由于面片网格和有限元实体网格有着根本性的区别,面片网格是无法直接用于有限元计算的,需要将面片网格转换为有限元分析可用的实体网格。本文就STL面片网格和有限元网格的特点做一个概述,同时实例演示如何将STL网格转换为FEA网格。
三角面片网格
三角面片网格是指由三角形网格组成的表面模型,利用点和边组成许多空间小三角形面片来逼近三维模型表面的一种数据形式,这种逼近方法也是大多数三维网格文件所采用的图元表示法,利用三角形可以近似逼近出几乎所有的三维立体模型。由于三角面片网格的处理简便快捷、可视化效果好,表现能力佳, 因而被视为描述三维立体模型的常用手段之一。随着计算机图形学的迅猛发展,三角网格模型已广泛应用于三维动画、电子商务、计算机辅助设计、工业制造、数字娱乐等诸多领域。尤其是随着3D打印技术的蓬勃兴起,三角面片网格更成为三维立体模型表示方法的焦点。同时也发展出了不同的数据存储格式,其中STL,OFF,OBJ,PLY等被广泛使用。
STL文件格式(stereo lithography,光固化立体造型术的缩写)是由3D Systems 公司于1988 年制定的一个接口协议,是一种为快速原型制造技术服务的三维图形文件格式。STL 文件由一系列无序的三角形面片组成,每个三角形面片的定义包括三角形各个顶点的坐标及三角形面片的法矢量,它没有用来反映三角面片之间的拓扑关系,每个三角面片都与相邻的三角面片之间共用两个顶点。由于它的文件格式简单且不易出错,STL 已成为快速原型技术领域最为常用的文件格式和事实上的接口标准。目前,几乎所有市面上的3D打印机都是通过识别STL模型来进行打印生产。
另一种广泛应用的三角面片文件格式OFF(Object File Format)也是采用ASCII明文的形式。和STL文件不同的是,OFF文件会给出顶点个数和三角面片及边数的信息,但OFF文件并不指出三角面片的法向量信息。OFF文件可读性强,以点集和面集表示思路简单清晰,都是OFF关键字开头,易于辨认。除了OFF文件以外,PLY(Standford triangle mesh),OBJ等面片网格也在工业和学术界有着一些应用。我们会在以后的文章中描述。
有限元分析中的三维实体网格
虽然三维有限元分析中会有一些特殊类型的单元,如代表板壳的平面单元,和代表索梁的线单元。但应用最广泛的还是三维实体单元,常用的实体单元有四面体和六面体单元,大量地应用于三维结构,热,流体,声学,以及电磁仿真中。实体单元不仅还有整体的表面信息,内部也都有离散的网格划分。这种不同也使得FEA实体网格要比STL代表的表面网格要复杂许多,同时数据量也大很多。
有限元网格对于网格的质量要求也比较高,不能有畸变的网格,网格的密度适中,网格密度过小会导致计算不精确,密度过大会导致计算量过大,增加计算负担。一些几何复杂的区域,也需要相对较密的网格。常用的网格质量检查定量参数有:
雅克比值(Jacobian Raito):来自于全局坐标和局部坐标下单元的雅可比矩阵比值,理想值为1,且不能小于0。
长度比(Aspect ratio): 指的是单元的最长边与最短边的比值。理想单元具有1的长宽比。
偏斜度(Skewness):衡量一个单元的面正规程度,值的范围从0到1,值越小表示单元越理想。
单元的阶次也会影响有限元分析的结果,通常情况下,二阶单元要比线性的一阶单元要好,但二阶单元由于节点数的增加,也会导致计算量相对增加。
转换STL面片网格为FEA网格
通用有限元软件WelSim已经支持了将STL面片网格转换为有限元分析的实体网格。使用者可以通过导入STL文件,快速地进行自动化网格划分,生成四面体实体网格(Tet4),并导出FEA网格文件,用于后续的有限元分析。
步骤如下:
1. 在WelSim软件中,新建一个有限元工程FEM Project,并从菜单或者工具栏中选择导入几何体。会出现如下对话框弹出:
2. 选择一个STL文件,点击打开(Open)。
3. 由于是STL几何模型,默认显示三角面片网格,用户可以在属性窗口中选择取消网格显示。
4. 简单设置单元的最大尺寸,这里根据几何体大小,我们设置最大单元尺寸为10 mm。点击生成网格(Mesh All)按钮,进行有限元网格划分。
5. 如图所示,一共生成了4025个节点,16112个Tet4单元。
6. 将生成的有限元网格数据保存为文件。右键点击Mesh节点,并选择导出网格(Export Mesh)。如下图所示:
7. 目前支持的网格文件格式有:UNV,WelSim自有格式,Abaqus的inp格式,和Nastran的bdf格式。保存对话框如图所示:
至此,将STL面片网格文件转换为可用于有限元分析(FEA)或者流体动力学(CFD)分析的实体网格就完成了。本文的结尾会送上软件操作视频,供大家参考。
注意事项
目前版本的WelSim,对基于STL面片网格所生成的FEA实体网格不支持Tet10单元。