基于STL格式文件的全四边形网格生成方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STL格式文件的全四边形网格生成方法

陈涛+, 高晖, 李光耀

(汽车车身先进设计制造国家重点实验室湖南大学长沙410082)

摘要: 提出一种以STL格式文件所描述的离散几何模型为基础,使用改进的铺路法自动生成全四边形网格的方法。重建STL文件的拓扑结构数据,而后进行模型的内外边界搜索及初始化布点。算法依次向模型内部加入新的节点以生成新的四边形网格单元,直至把模型内部全部覆盖。原始几何模型中的特征线被提取出来,并在网格生成阶段将其作为内部孔洞处理,减小了生成网格模型所导致的离散误差,在特征所在区域生成质量较佳的网格。使用一种联合Laplacian方法与小种群遗传算法(μGA)的网格光顺方法,可以有效地纠正反转单元、退化单元等形态质量很差的单元。多个算例验证了本文提出方法的有效性。

关键词: STL;网格剖分;特征提取;网格光顺;小种群遗传算法

0.引言

随着汽车碰撞有限元仿真分析在国际上各大汽车公司的广泛应用,对有限元网格模型的要求也越来越高。一方面,CAD模型中大量的细节需要在网格模型中得以保留,以便更加真实的模拟汽车碰撞过程;另一方面,为了提高碰撞仿真计算精度,保证求解的稳定性,要求网格模型中的单元具有更高的质量。目前在主流CAD(Computer Aided Design 计算机辅助设计)软件使用NURBS(非均匀有理b样条)作为几何建模内核,商业化网格生成软件需要通过接口软件从软件中获取模型进行网格剖分。但通过接口软件进行数据交换时常常会产生数据丢失或数据错误,严重影响了网格剖分的进行。近年来,面片格式的几何模型表述方式得到了广泛应用,逐渐成为NURBS表述的一种替代方式,如在快速原型制造领域使用的STL(Stereo lithography)文件格式,它使用三角形来表述几何模型,格式简单且不易出错,因此更多的研究者把倾向于使用面片模型作为网格剖分的输入模型[1]。

在汽车碰撞和薄板冲压等强非线性问题的有限元仿真计算中,优先使用四边形单元,因为相比于三角形单元,四边形单元具有更高的求解精度和计算效率。非结构化四边形网格的生成方法分为直接法和间接法两大类[2]。直接法包括影射法、铺路法、前沿

*国家973计划(2004CB719402)和教育部跨世纪优秀人才计划资助项目。.

* 联系作者:陈涛Email: danielchen2005@

推进法、四叉树法等;间接法则首先将待划分的区域划分为三角形单元,接着用不同的算法将三角形单元转换成四边形单元。Blacker[2]在1991年提出铺路法(Paving)属于直接法,具有适用性强,生成网格模型的质量高等优点,现已被广泛运用到商业化有限元分析软件的前处理程序中,如Ansys、HyperMesh等。

提出一种以STL格式几何模型的全四边形网格生成算法。克服了使用NURBS几何模型时所遇到的繁琐的模型修补问题。针对三角面片的特点,改进了原有的铺路算法,并能够更有效的控制网格单元尺寸的疏密过渡。原始几何模型中的重要几何特征在网格模型中均能够较好的保留。本文提出联合使用Laplacian方法与小种群遗传算法(μGA)的网格光顺方法,在合理的计算时间内,大幅提高了模型的单元质量。

1.STL文件的拓扑重建和特征提取

STL格式的数据文件中包含的三角面片,并不能满足有限元计算要求。从图1可以看到,模型包含有大量的狭长的三角形,无法满足碰撞仿真计算的精度要求。因此在本文所进行的研究中,三角面片模型仅作为生成四边形网格所需的背景网格。Béchet[2]使用STL格式的数据文件生成了满足有限元计算要求的三角形网格,而本文的研究关注于全四边形网格的生成。

图1 某车型行李箱盖面片模型

1.1模型的拓扑重建与边界初始化

STL格式的数据文件中提供了每个三角形的三个顶点的坐标和三角形的法向矢量。从模型的拓扑层次结构上看,STL格式中只有顶点—面片两个拓扑层次,二者之间也仅仅存在从属关系(顶点从属于某个单元)。进行STL模型拓扑重构的目的是要建立顶点—边—面片的拓扑层次结构,并提取拓扑实体之间的从属、相邻关系。依次从文件中读取三角面片,记录它的三个顶点的坐标和法向,并搜寻已存储的节点中是否存在重叠顶点,如果有则进行合并。由此建立顶点与顶点、面片与面片之间的相邻关系。读入完成之后,根据面片之间的相邻关系创建边,建立顶点—边—面片的完整拓扑层次结构关系。模型的边界包括内边界(指模型内部的孔洞)和外边界。边界由仅从属于一个三角形的边组成的。边界搜索分三步进行:

1.首先搜索出模型中所有的仅从属于一个三角形中的边;

2.将它们按照首尾相接的顺序排列,构成一条或多条边链,每一条链代表一个边

界;

3.最后要正确区别内外边界。假定模型的法向是Z轴正向,则外部边界链是逆时针方向的,而内部孔洞是顺时针方向的。

铺路算法需要首先对所有的边界布上偶数个点,并且点与点之间的距离直接的控制内部网格单元尺寸大小。因此需要根据目标网格的尺寸要求,在所有边界上布点。

1.2模型中的特征识别与特征提取

车身零部件的结构大都比较复杂,包含很多的特征,这些特征需要在网格模型中保留。在以STL格式表述的几何模型中,由于拓扑层次较低,只能识别特征边(Feature Edge)。这里使用二面角(dihedral angle)特征边的判断依据。首先对所有的边计算二面角以搜索出所有的特征边,并按照首尾相接的顺序完成排序,构成特征线。根据二面角的大小,将特征线分为强特征线(Strong Feature Line)和弱特征线(Weak Feature Line)。经多个算例测试,当边的二面角大于0.7弧度时应作为强特征,介于0.5弧度和0.7弧度之间时作为弱特征,小于0.5弧度的特征无需作专门的处理。图2所示的模型中,蓝色线表示强特征线,红色线表示若特征线。

图2模型中的强特征与弱特征

在后续的网格生成中,两者使用不同的处理方式。对于强特征线,算法将其视作一个面积为0的内部孔,并作与其他边界一样的布点处理。铺路算法的一个突出优点是可以在模型的边界附近生成质量极高的网格单元。采用这种对内部特征的处理方法,可以在特征周围得到高质量的网格。对于弱特征线的处理,则通过在网格生成过程中,将位于其邻近的节点移至特征线上,并且在后续的网格光顺中限制这些节点在特征线上移动以保持特征。

2.改进的四边形网格生成铺路算法

铺路法由Blacker[3]在1991年最先提出,原始的铺路法只适用于二维,Cass[4]把它从二维推广到三维,White[5]对算法的健壮性作了进一步的改进。该方法可用图3[4]说明,算法的输入是代表边界(包括内部边界和外部边界)的节点链,为了生成全四边形单元,每条边界节点链上必须的节点数必须是偶数。算法从边界节点开始,选择最适合生成四边形单元的节点作为一行的开始,加入一个单元,该行其他单元根据各点处的节点内角

相关文档
最新文档