搜档网
当前位置:搜档网 › 基于STL格式文件的全四边形网格生成方法

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

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

基于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@https://www.sodocs.net/doc/808527323.html,

推进法、四叉树法等;间接法则首先将待划分的区域划分为三角形单元,接着用不同的算法将三角形单元转换成四边形单元。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]说明,算法的输入是代表边界(包括内部边界和外部边界)的节点链,为了生成全四边形单元,每条边界节点链上必须的节点数必须是偶数。算法从边界节点开始,选择最适合生成四边形单元的节点作为一行的开始,加入一个单元,该行其他单元根据各点处的节点内角

的大小加入。随着铺路面(Paving)的向内部推进,最终会碰到自身或者其他的铺路面(有多个边界的情形下)。在每加入一行后要进行相交检查(Intersection checking),根据相交的具体情况做缝合处理。

在铺路面向内部的逐层推进的过程中,不断使用局部的平滑(smoothing)操作,调整单元中的节点位置以保证单元的质量,控制单元的尺寸。使用“收缩(tucking)”和“加楔子(wedging)”操作,调整凹凸区域的铺路面边界,减少不规则单元的产生。当整个区域都被加入了四边形单元,对整个网格模型使用光顺操作。

2.1使用背景网格计算节点

输入模型中的三角形面片可以直接作为背景网格,以生成全四边形网格。以图3为例说明如何利用背景网格来生成新的节点。

图3. 新节点计算

假定N i-1、N i 和N i+1位于当前的铺路面上,计算由这三点共同确定的新节点N j 的位置。首先找出N i 邻近的背景三角形网格的集合S {T 1,T 2,…,T n },将N i 依次投影到它们所在的平面上,寻找投影点落在三角形内的三角形T i 。设T i 所确定平面为θ,将N i-1、N i 和N i+1都投影到θ上,得到投影点P i-1、P i 和P i+1。计算向量1-i i P P 和1+i i P P 的夹角α,新节点N j 在切平面上的投影点P j 位于α的角平分线上。而点P j 距离P i 的距离为向量1-i i P P 和1+i i P P 长度之和的平均值,由此确定位于P j 的位置。

计算得到的P j 仍位于N i 切平面θ上,因此需要计算几何模型上距离该点最近的点。这里使用三角形单元形函数,计算出'j p 在原始模型上的近似点'j N 。步骤如下:

1.对三角形T i 的每一条边,利用Hermitian 插值,求出该边的中点,分别为P 4,

P 5,P 6;

2. 使用标准的三角形单元形函数,见(1)式,计算出'j p 的近似点。

6135324213

33222111444)12()12()12(X X X x x x x ξξξξξξξξξξξξ+++-+-+-= (1)

上式中,x 1,x 2,…,x 6分别是三角形顶点P 1,P 2,P 3和三角形边的中点P 4,P 5,P 6的坐标,ξ1,ξ2,ξ3是'

j p 在该三角形中的面积坐标。

2.2改进的局部单元尺寸调节方法

铺路算法的一个主要缺点对内部单元控制力较弱,单元距离边界越远,单元尺寸与边界处确定的理想尺寸的偏差也就越大。在网格生成过程中进行的相交、缝合、光顺操作等都会使单元尺寸偏离设定值。利用输入的三角面片建立覆盖整个问题区域的尺寸场,如果某处的网格单元尺寸与该处的理想尺寸不一致,即进行单元尺寸调节。

铺路算法中对局部单元尺寸调节均在铺路面上完成,主要的手段是“收缩(tucking)”和“加楔子(wedging)”操作。图4所示为加入楔子的情形,再沿铺路面对单元进行检查时,如果碰到连续三个或三个以上满足加入楔子条件的单元,就在它们的中间位置加入一个楔子单元。该方法的缺点是当单元尺寸变化剧烈时,难以满足要求;同时楔子单元的加入会使位置附近的单元质量大幅降低,而且这种影响会随着铺路面向模型内部的推进而继续。本文提出一种新的方法,使用Schneiders[6]提出网格细分过渡模版进行网格尺寸调节,如图5所示。在单元密度由稀疏向密集变化时,使用类似网格粗化的手段实现过渡;单元由密集向稀疏过渡时,采用与网格加密相似的方法使过渡更加平滑。这一方法的优点在于尺寸调节的能力更强,调节也仅对相邻的少数单元的质量产生影响,不会对其他网格的质量产生影响。

图4. 加入楔子控制单元尺寸图5 新的铺路面单元尺寸调节方法

3.Laplacian方法与小种群遗传算法结合的网格光顺方法

网格生成完成后,通常都包含有相当数量的形态质量较差的单元,如狭长单元、退化单元甚至反转单元,需要对网格质量进行调整。提高单元质量的最重要手段是网格光顺方法。最常用的网格光顺方法是Laplacian方法,它对网格内部的每个顶点定义一个拉普拉斯算子(Laplacian) 来确定一个调整方向,通过沿调整方向以一定的速度移动顶点来调整网格。其优点是计算简单,收敛快,缺点是如果初始网格包含有扭曲的单元,该方法难以处理。Canann[7]提出了一种Laplacian与基于优化方法相结合的光顺方法,在一定程度上解决Laplacian方法难以处理反转单元的问题。但是这一类基于梯度的常规优化方法易于陷入局部最优,并且要求描述单元质量的目标函数至少有一阶导数。Holdert[8]提出一种基于遗传算法的网格光顺方法,克服了常规优化算法的缺点,但如果针对模型中的所有网格均使用这种优化方法,计算耗费会很大,收敛速度较慢。

遗传算法由Holland根据达尔文的进化思想提出,其突出优点是具有全局优化搜索能力。Krishnakumar[9]提出了小种群遗传算法(μGA),采用二进制编码和一致交叉、竞争选择、最优保留的机制。μGA的特点是不进行变异操作和种群的个体较少,收敛速度

快,在保留最优个体的同时随机生成新的种群。它克服传统遗传算法在搜索进行的后续阶段收敛速度很慢,并且每代的种群数过大的缺点。本文提出一种Laplacian方法与μGA 相结合的组合网格光顺方法,其主要思想是:首先对模型中质量很差的少数单元(如反转单元和退化单元等)实施基于遗传算法的光顺,而后再剩余的大部分单元实施常规的Laplacian光顺。在使用遗传算法作网格光顺时,为进一步提高算法运行效率,采取以下措施:

1.为了减小搜索空间以提高收敛速度,将待优化节点坐标的搜索空间限制在由该节点的相邻单元所构成的局部区域内;

2.为了克服遗传算法共有的搜索的后续阶段收敛较慢的缺点,对每一个使用遗传算法作优化的单元,一旦该单元的形态质量有显著提高(如原来的反转单元转变为正常单元,或者退化的四边形单元转变为正常单元),即提前结束遗传算法的搜索,转而进行Laplacian光顺。

4.算例

A. 完成网格剖分的模型 C. 完成网格光顺的模型

图6 行李箱盖的网格剖分

应用本文提出的算法,开发出网格剖分软件STLQUAD。第一个算例是前面给出的某新概念车行李箱盖的,网格剖分和光顺后的结果如图6所示。可以看出,网格模型中保留了原始几何模型中的主要特征,并且在特征周围的网格非常规则,这对有限元求解非常有利。完成后的网格模型共包含有9457个四边形单元,9625个节点,最小的单元内角是32.29度,网格质量可满足仿真要求。

另一个算例是汽车碰撞吸能部件,几何模型见图2。模型中包含有大量的孔洞、强特征和弱特征,使用本文提出方法进行网格剖分和光顺处理,结果模型分别如图7a和7b所示,共包含2351个四边形单元。原始模型中重要几何特征基本被保留下来,网格单元尺寸过渡均匀。表一给出了未作网格光顺和完成光顺后的网格质量的对比。从该表可以看出,本文提出的网格光顺方法可以有效地提高网格质量。

表1. 光顺处理前后的网格质量对比

图7a 未作光顺的网格模型

图7b 光顺后的网格模型

5.结论

本文提出一种使用STL格式三角面片模型直接生成全四边网格的方法,克服了传统的基于NURBS几何模型的网格剖分方法,经常遇到的模型容易出错的缺点。对模型中的重要几何特征,使用特征识别和特征提取予以保留,并在特征位置生成形态质量较好的网格,这对于有限元计算,特别是对网格质量非常敏感的汽车碰撞仿真是非常有利的。联合使用Laplacian与μGA相结合的网格光顺方法,既有效地提高单元的形态质量,又能够在合理的时间内完成处理。

参考文献

[1]E. Béchet, J. C. Cuilliere, F. Trochu, “Generation of a finite element MESH from stereolithography (STL) files ”. Computer Aided Design, vol 34, 1-17, 2002

[2] Owen, Steven J,"A Survey of Unstructured Mesh Generation Technology", Proceedings, 7th International Meshing Roundtable, Sandia National Lab, pp.239-267, October 1998

[3] Ted D. Blacker, M. Stephenson, “Paving: A New Approach To Automated Quadrilateral Mesh Generation”, International Journal For Numerical Methods in Engineering, V ol 32, 811-847, 1991

[4] Cass, Roger J. "Generalized 3D Paving: An Automated Quadrilateral Surface Mesh Generation Algorithm", International Journal For Numerical Methods In Engineering, John Wiley & Sons, V ol 39, pp.1475-1489, 1996

[5] White, David R. and Paul Kinney ,"Redesign of the Paving Algorithm: Robustness Enhancements through Element by Element Meshing", Proceedings, 6th International Meshing Roundtable, Sandia National Laboratories, pp.323-335, October 1997

[6] Schneiders, R, "Refining Quadrilateral and Hexahedral Element Meshes", 5th International Conference on Numerical Grid Generation in Computational Field Simulations, Mississippi State University, pp.679-688, April 1996

[7] Canann, Scott A., Joseph R. Tristano, Matthew L. Staten. “An Approa ch to Combined Laplacian and Optimization-Based Smoothing for Triangular, Quadrilateral, and Quad-Dominant Meshes”, Proceedings, 7th International Meshing Roundtable, Sandia National Lab, 1998

[8] M Holder, J Richardson, “Genetic Algorithms, Another Tool for Quad Mesh Optimization?”, Proceedings, 7th Internati onal Meshing Roundtable, Sandia National Lab, pp.497-504, October 1998

[9] Krishnakumar, K., "Micro-Genetic Algorithms for Stationary and Non-stationary Function Optimization" SPIE's Intelligent Control and Adaptive Systems Conf., PA, 1196-32, 1989

All-Quad Mesh Generation from Stereolithography (STL) Files

Chen Tao+, Gao Hui, Li Guangyao

(State Key Laboratory of Advanced Design and Manufacture for Vehicle Body,

Hunan University, Changsha 410082)

+Phn: +86-731-882-1445, Fax: +86-731-882-1445, E-mail: danielchen2005@https://www.sodocs.net/doc/808527323.html,

Key words: STL; Mesh Generation; Feature Extraction; Smoothing; Micro GA

Abstract:A new unstructured quadrilateral mesh generation method is presented, which utilize STL file as input instead of CAD models. After the reconstruction of the model’s topology structure and extraction of the features in model, all boundaries are retrieved and initiated. To preserving important features in mesh model, feature lines are treated as holes, and elements in these areas have been improved. To adopt the facet model, some important aspects of the paving algorithm, such as projecting elements, mesh size control, are improved. An approach of combining Laplacian smoothing and μGA smoothing for quadrilateral mesh is presented, and it improves the mesh quality significantly. Finally two examples are presented to verify validity and performance of this method.

CFD网格及其生成方法概述

CFD网格及其生成方法概述 作者:王福军 网格是CFD模型的几何表达形式,也是模拟与分析的载体。网格质量对CFD计算精度和计算效率有重要影响。对于复杂的CFD问题,网格生成极为耗时,且极易出错,生成网格所需时间常常大于实际CFD计算的时间。因此,有必要对网格生成方式给以足够的关注。 1 网格类型 网格(grid)分为结构网格和非结构网格两大类。结构网格即网格中节点排列有序、邻点间的关系明确,如图1所示。对一于复杂的儿何区域,结构网格是分块构造的,这就形成了块结构网格(block-structured grids)。图2是块结构网格实例。 图1 结构网格实例 图2 块结构网格实例 与结构网格不同,在非结构网格(unstructured grid)中,节点的位置无法用一个固定的法则予以有序地命名。图3是非结构网格示例。这种网格虽然生成过程比较复杂,但却有着极好的适应性,尤其对具有复杂边界的流场计算问题特别有效。非结构网格一般通过专门的

程序或软件来生成。 图3 非结构网格实例 2 网格单元的分类 单元(cell)是构成网格的基本元素。在结构网格中,常用的ZD网格单元是四边形单元,3D网格单元是六面体单元。而在非结构网格中,常用的2D网格单元还有三角形单元,3D 网格单元还有四面体单元和五面体单元,其中五面体单元还可分为棱锥形(或楔形)和金字塔形单元等。图4和图5分别示出了常用的2D和3D网格单元。 图4 常用的2D网格单元 图5 常用的3D网格单元

3 单连域与多连域网格 网格区域(cell zone)分为单连域和多连域两类。所谓单连域是指求解区域边界线内不包含有非求解区域的情形。单连域内的任何封闭曲线都能连续地收缩至点而不越过其边界。如果在求解区域内包含有非求解区域,则称该求解区域为多连域。所有的绕流流动,都属于典型的多连域问题,如机翼的绕流,水轮机或水泵内单个叶片或一组叶片的绕流等。图2及图3均是多连域的例子。 对于绕流问题的多连域内的网格,有O型和C型两种。O型网格像一个变形的圆,一圈一圈地包围着翼型,最外层网格线上可以取来流的条件,如图6所示。C型网格则像一个变形的C字,围在翼型的外面,如图7所示。这两种网格部属于结构网格。 图6 O型网格 图7 C型网格 4 生成网格的过程

如何导入导出3D打印机可打印的stl文件以及模型尺寸的调整方法

如何导入导出3D打印机可打印的stl文件以及模型尺寸的调整方法如果想要让3D打印机进行工作还需要3D三维模型的配合才能完成。如果您从网上下载了一个stl格式的可打印三维模型,就可以放入3D打印机配套软件中进行打印操作了。如果您对下载好的stl格式的三维模型还不甚满意,而且恰好您稍微懂些3D软件的操作,就可以对下载的模型进行更改让其满足您的设计要求,今天乐彩科技就来说一下具体的操作步骤。 首先打开3D max软件,然后点击“文件”——“导入”——“导入外部文件到3D max 中”,就可以将stl格式的文件成功导入到三维模型制作设计软件中了,这个过程会比较长一些,如果stl文件过于大或者stl模型过于复杂化可能会出现打不开的情况。接下来爱玩3D max的你可以自由发挥你的想象力了,设计出好看的三维物体在3D打印机中进行打印操作。 关于导出3D打印机可打印的stl文件格式,只需要我们在三维设计软件如3D max中设计好三维模型,然后执行“文件”——“导出”——“从当前3D max场景导出外部文件格式”——在弹出的提示框中设置文件保存位置,然后为文件进行命名,并设置保存类型为:STL(*.STL)即可。 3d打印机打印的文件格式为.STL,图像模型文件用replicatorG打开。打开后可以看到模型的视图和相应信息。如果想要改变打印的模型尺寸,可以在软件右边的“Scale”按钮边的输入框内输入相应的参数,比如,输入2就放大一倍,写0.5就缩小一倍。当然你也可点击“Scale”按钮,点过之后再将鼠标箭头移动到模型视图区域,按着鼠标左键不放,往右拖动可以放大模型尺寸,往左拖动可以缩小模型。

网格划分主要软件

网格划分主要软件 网格划分——连续空间的离散化。 主要软件: ICEM-CFD(Ansys Inc): 最NB的网格划分软件,主要四个模块:Tetra(水平最高)、Hexa(用起来方便)、Global(难得的笛卡尔网格划分软件)、AutoHexa(算是垃圾,有那幺一点点用处)。接口贼多,几乎支持所有流行的CFD软件!!!使用方便,一个月内可以学会,两个月就可以针对课题努力了。这个软件还有后处理模块Visual3,但是目前说来还没有听过哪个兄弟用过,我也没用过。 Gridgen(Poinwise Inc): 你要学习网格理论,用它比较好,你要和它一起来完成网格,不能靠它自动给你个复杂网格。结构网格划分很好。帮助文档有些标新立异了,很多术语就是难为大家这些入门级别的,实体不叫实体,它非得说是Database,何必呢! Gambit(Fluent Inc): 好学、好用。就是要拖着一个Exceed当靠山,功能强大。但是占用内存比较多,常常会跑死机(不是个别的问题)。 CFX-build(Ansys Inc): 基于Patran的非结构网格划分软件,会Patran就会它!功能自不用说,Patran有多猛,搞FEA/CAE的兄弟都知道。 CFD-Geom(CFDRC Inc): 好学,不过有些概念要仔细领会,最好是对拓扑与网格结构、类型比较熟悉。 Patran(Msc Inc)、Hypermesh(Altair Inc): 这两个不说了FEA方面的猛将,CFD也可以借鉴。 以上按功能和在CFD领域的适用范围分类。 TrueGrid六面体网格划分工具 TrueGrid六面体网格划分工具 中文名称:TrueGrid六面体网格划分工具 英文名称:Scientific.Truegrid

结构化网格和非结构化网格

1. 什么是结构化网格和非结构化网格 1.1结构化网格 从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元。 它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。它的主要优点是: 网格生成的速度快。 网格生成的质量好。 数据结构简单。 对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际的模型更容易接近。 它的最典型的缺点是适用的范围比较窄,只适用于形状规则的图形。尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的几何形状的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了。 1.2非结构化网格 同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。 2.如果一个几何造型中既有结构化网格,也有非结构化网格,分块完成的,分别生成网格后,也可以直接就调入fluent中计算。 3.在fluent中,对同一个几何造型,如果既可以生成结构化网格,也可生成非结构化网格,当然前者要比后者的生成复杂的多,那么应该选择哪种网格,两者计算结果是否相同,哪个的计算结果更好些呢? 一般来说,结构网格的计算结果比非结构网格更容易收敛,也更准确。但后者容易做。 影响精度主要是网格质量,和你是用那种网格形式关系并不是很大,如果结构话网格的质量很差,结果同样不可靠,相对而言,结构化网格更有利于计算机存储数据和加快计算速度。

结构化网格据说计算速度快一些,但是网格划分需要技巧和耐心。非结构化网格容易生成,但相对来说速度要差一些。 4.在gambit中,只有map和submap生成的是结构化网格,其余均为非结构化网格。 采用分块网格划分的时候,在两个相邻块之间设置了connected,但是这两个块我要用不同尺寸的网格来划分。比如说我用结构化的六面体网格来划分,一遍的尺寸为2,另一边的尺寸为3,这时候公共边界面该怎么处理?如果采用cooper 的格式来划分这个网格,尺寸就是前面所说的,该怎么来做呢? 我用单独的两个块试过,就是在公共边界上采用interface的格式,但是由于与这个公共边界相邻的另一个边界也不得不用interface格式,结果导入fluent 的时候就说can not creat a bound loop,也不清楚这是什么问题。 如果中间面两侧的面网格一致,可以直接在fluent中merge,如果不一致,可以设interface 网格的正交性是指三个方向上的网格边之间互相垂直的程度。一般而言,三维网格单元中,三个方向上的网格边之间的夹角越接近90度则质量越好。这一点在规则区域(例如正方形方腔)很容易实现,但对于流动区域比较复杂的问题则非常困难。但一般情况下,应当保证所有的网格单元内的网格边夹角大于10度,否则网格本身就会引入较大的数值误差。 EquiSize Skew(尺寸扭曲率)和EquiAngle Skew(角度扭曲率)是评判网格质量最主要标准,其值越小,网格质量越高 一般来说,Fluent要求扭曲率3D小于0.85,2D小于0.75。 关于复杂模型和gambit中的实体及虚体 模型比较复杂,是在pro/E中建的模,然后用igs导入gambit,不过这样就产生了很多碎线和碎面并且在一些面交界的地方还存在尖角。我曾经做成功过把它们统统merge成一个虚面,中间设置了一个可以容忍尖角的参数,也可以划分网格,但把生成的msh文件导入fluent就会出错,这是virtual geometry的原因还是因为尖角的原因?还有,virtual geometry和普通的真实的几何体到底有什么区别?好像最大的区别是virtual geometry不能进行布尔操作,布尔操作(boolean operation)又是什么?使用virtual geometry需要注意哪些问题?virtual geometry是很头疼的问题。你把它们统统merge成一个虚面 按理说全是虚的也是可以算的。可能是因为尖角的原因,虚实最大差别:是virtual geometry不能进行布尔操作,boolean operation即是并 对于复杂外形的网格生成,不可避免的会用到virtual geometry,virtual face ,和virtual edge等, 1。作网格的时候,把所有的面全部合成一个虚面的做法不好,特别是对于复杂外形的网格生成,你最好在模型变化剧烈的地方多分几个面,这样会更有效的控制网格能够在模型表面曲率比较大的地方能够生成规则的结构或者非结构网格。

网格生成及修正技巧

网格生成及修正技巧 1引言 网格是CFD 模型的几何表达形式,也是模拟与分析的载体。网格质量对CFD 计算精度和计算效率有着重要的影响。对于复杂的CFD 问题,网格的生成极为耗时,并且极易出错,生成网格所需的时间常常大于实际CFD 计算的时间。因此,有必要对网格生成以及修正方法进行足够的研究。 考虑到目前的CFD 计算多是通过专用的网格生成软件来划分所需要的网格,因此,本文就如何利用专用前处理软件GAMBIT 来介绍网格的生成和修正技巧。 2 网格类型 网格主要有两种:结构网格和非结构网格[1] [2]在结构网格中,常用的2D 网格单元是四边形单元,3D 网格单元是六面体单元。而在非结构网格中,常用的2D 网格单元还有三角形单元,3D 网格单元还有四面体单元和五面体单元,其中五面体单元还分为棱锥形(或楔形)和金字塔形单元等。结构网格的最大特点在于网格中节点排列有序,邻点间关系明确,结构简单,构造方便,与计算机语言自然匹配,容易计算,网格生成速度快,质量好,数据结构简单等优点;缺点是适用的范围比较窄,只适用于形状规则的图形,对复杂几何形状的适应能力差。非结构网格舍去了网格节点的结构性限制,易于控制网格单元的大小、形状及节点位置,灵活性好,对复杂外形的适应能力强——流场变化比较大的地方,可以进行局部网格加密。但其无规则性也导致了在模拟计算中存储空间增大,寻址时间增长,计算效率低于结构化网格,计算时间长等缺点。 [1]。 (a )三角形 (b )四边形 图1 常用的2D 网格单元 (a )四面体 (b )六面体 (c )五面体(凌锥) (d )五面体(金字塔) 图2 常用的3D 网格单元 3 单连域与多连域网格 网格区域分为单连域和多连域两类。所谓单连域是指求解区域边界线内不包含有非求解

有限元设计软件生成网格的PAVING算法

有限元设计软件生成网格的PAVING算法 一、简介 使用有限元软件分析计算几何体的物理性质,其计算的过程可以划分为几个大的模块,输入几何体区域→为该区域生成一个网格→对生成的网格施加一个干扰→从受到干扰的网格开发分析数据→确定几何体的物理行为。分析计算流程图如图1所示。 图1 有限元分析的模块 在有限元分析的前处理模块中,网格生成时很重要的一个步骤。生成网格的质量会影响后处理计算结果的精度。当前,行业内流行多种网格生成的算法,各有各自的特点,该部分内容在本文国内外研究现状一节中已经详细阐述。其中paving算法健壮性良好,计算速度快,而且生成的网格质量好。本节主要阐述采用C++语言实现paving算法的实现过程。如图2所示,采用paving算法生成网格的算法流程图,从输入边界数据到最后输出划分好的网格,其中主要有生成新行,平滑处理,缝合处理,边界相交处理等几个子模块。

图2 Flow chart of paving algorithm 为了清晰理解上述paving算法的流程,以图3所示为例,图a当中为输入的原始外边界数 据,围成待划分网格的区域。选择边界上的一行节点为基础,添加生成一行新的浮动节点, 生成顺序为沿着外边界按逆时针方向进行。对新生成的浮动节点进行平滑处理, 使节点围成的单元的internal angle以及aspect ratio变得更为合理,单元更趋近于规则四边形。对剩余的待划分网格区域进行缝合,检查单元是否相交,对相交的单元进行处理,对单元进行调整,直到整个区域生成高质量的网格为止。 图3 paving算法铺筑单元示意图 依据图2所示流程图,生成相应的伪代码: Do Row choise While add row is not complete Add row portion Smooth row portion Seam boundary If intersection occurs then Connect overlaps Seam boundary End if Row adjustment

CAD系统输出STL文件方法大全

CAD系统输出STL文件方法大全 Alibre File (文件) -> Export (输出) -> Save As (另存为,选择 .STL) -> 输入文件名 -> Save (保存) AutoCAD 输出模型必须为三维实体,且 XYZ 坐标都为正值。在命令行输入命令 "Faceters" -> 设定 FACETRES 为 1 到 10 之间的一个值 (1 为低精度, 10 为高精度 ) -> 然后在命令行输入命令“STLOUT” -> 选择实体-> 选择 “Y” ,输出二进制文件 -> 选择文件名 CADKey 从 Export (输出)中选择 Stereolithography (立体光刻) I-DEAS File (文件) -> Export (输出) -> Rapid Prototype File (快速成 形文件) -> 选择输出的模型 -> Select Prototype Device (选择原 型设备) -> SLA500.dat -> 设定 absolute facet deviation (面片精度) 为 0.000395 -> 选择 Binary (二进制) Inventor Save Copy As (另存复件为) -> 选择 STL 类型 -> 选择 Options (选 项),设定为 High(高) IronCAD 右键单击要输出的模型 -> Part Properties (零件属性) -> Rendering (渲染) -> 设定 Facet Surface Smoothing (三角面片平滑)为 150 -> File (文件) -> Export (输出) -> 选择 .STL Mechanical Desktop 使用 AMSTLOUT 命令输出 STL 文件。 下面的命令行选项影响 STL 文件的质量,应设定为适当的值,以输出 需要的文件。 1. Angular Tolerance (角度差) ―― 设定相邻面片间的最大角度差 值,默认 15 度,减小可以提高 STL 文件的精度。 2. Aspect Ratio (形状比例) ―― 该参数控制三角面片的高 / 宽比。 1 标志三角面片的高度不超过宽度。默认值为 0 ,忽略。 3. Surface Tolerance (表面精度) ―― 控制三角面片的边与实际模 型的最大误差。设定为 0.0000 ,将忽略该参数。 4. Vertex Spacing (顶点间距) ―― 控制三角面片边的长度。默认 值为 0.0000, 忽略。 ProE 1. File (文件) -> Export (输出) -> Model (模型) 2. 或者选择 File (文件) -> Save a Copy (另存一个复件) -> 选 择 .STL 3. 设定弦高为 0 。然后该值会被系统自动设定为可接受的最小值。 4. 设定 Angle Control (角度控制)为 1 ProE Wildfire 1. File (文件) -> Save a Copy(另存一个复件)-> Model(模型)-> 选 择文件类型为 STL (*.stl) 2.设定弦高为0。然后该值会被系统自动设定为可接受的最小值。 3.设定 Angle Control (角度控制)为 1 Rhino File (文件)-> Save As(另存为 .STL )

关于结构化网格和非结构网格的适用性问题

? 傲雪论坛 ? 『 Fluent 专版 』 打印话题 寄给朋友 作者 关于结构化网格和非结构网格的适用性问题 [精华] 翱翔蓝天 发帖: 22 积分: 0 雪币: 22 于 2005-07-23 22:58 有些前辈认为,数值计算中应采用结构化网格,如果非结构网格则计算结果将“惨不忍睹”。搞压气机计算的同行也认为,必须用结构化网格。然而, 对复杂的计算域,如果采用结构化网格必然造成网格质量的急剧下降,扭曲加大等问题。我觉得这时,不如采用非结构网格。诸位,请提出自己的意见 waterstone 我为人人,人人为我 发帖: 78 积分: 0 雪币: 78 于 2005-07-24 09:51 我是这样看的:非结构网格使用很方便,外型越复杂就越显示出其优越性;至于计算结果的精度,就要看 非结构网格在单元网格面、体积处理上方法是不是比结构网格要差。就fluent 软件,它是用体积积分法求 解雷诺平均方程的,在单元网格面、体积处理上方法好像是按非结构网格方法处理的。你就是按结构网格方法来生成网格,进入fluent 中,进行数值计算时都是按非结构网格来处理,所以在fluent 中,你用结构化网格方法生网格,和用非结构网格计算没多大区别!我说说我个人看法。 liuhuafei 于 2005-07-25 13:53

发帖: 872 积分: 6 雪币: 158 来自: 上海 waterstone wrote: 我是这样看的:非结构网格使用很方便,外型越复杂就越显示出其优越性;至于计算结果的 精度,就要看非结构网格在单元网格面、体积处理上方法是不是比结构网格要差。就fluent 软件,它是用体积积分法求解雷诺平均方程的,在单元网格面、体积处理上方法好像是按非 结构网格方法处理的。你就是按结构网格方法来生成网格,进入fluent 中,进行数值计算时都是按非结构网格来处理,所以在fluent 中,你用结构化网格方法生网格,和用非结构网格计算没多大区别!我说说我个人看法。 计算精度,主要在于网格的质量(正交性,长宽比等),并不决定于拓扑(是结构化还是非结构化)。 例如同样的2d 的10×10的正交网格,fluent 采用非结构化方式对网格编号,另一种软件按结构化网格处理,如果其它条件相同,二者的精度应该是一样的。 我们通常所说的非结构化网格,第一映象就是网格质量差,不正交的,编排无规律的网格的三角形网格或四面体网格,实际上一个二维区域的三角形网格,如果控制得好(如相邻控制 体中心的连线与公共边基本接近正交的话),其不结构化网格(网格正交性好)的精度是一致的 翱翔蓝天 发帖: 22 积分: 雪币: 22 于 2005-07-25 23:00 谢了,有收获,受益匪浅 edwardzhu 发帖: 60 积分: 1 于 2005-08-05 11:08 听楼上一席话,胜读一年书。

网格生成技术

I 目录 1 概述 (1) 2 结构网格 (3) 2.1 贴体坐标法 (3) 2.2 块结构化网格 (11) 3 非结构网格 (16) 3.1 概述 (16) 3.2 阵面推进法 (16) 3.3 Delaunay三角划分 (19) 3.4 四叉树(2D)/八叉树(3D)方法 (21) 3.5 阵面推进法和Delaunay三角划分结合算法 (22) 4 其他网格生成技术 (23) 4.1 自适应网格 (23) 4.2 混合网格 (25) 4.3 动网格 (26) 4.4 曲面网格 (27) 4.5 重叠网格 (28) 5 网格生成软件 (29) 5.3 Gambit (29) 5.2 ICEM CFD (30) 5.1 TrueGrid (32) 5.2 Gridgen (34)

1 概述 计算流体力学作为计算机科学、流体力学、偏微分方程数学理论、计算几何、数值分析等学科的交叉融合,它的发展除依赖于这些学科的发展外,更直接表现于对网格生成技术、数值计算方法发展的依赖。 在计算流体力学中,按照一定规律分布于流场中的离散点的集合叫网格(Grid),分布这些网格节点的过程叫网格生成(Grid Generation)。网格生成是连接几何模型和数值算法的纽带,几何模型只有被划分成一定标准的网格才能对其进行数值求解,所以网格生成对CFD至关重要,直接关系到CFD计算问题的成败。一般而言,网格划分越密,得到的结果就越精确,但耗时也越多。1974年Thompson等提出采用求解椭圆型方程方法生成贴体网格,在网格生成技术的发展中起到了先河作用。随后Steger等又提出采用求解双曲型方程方法生成贴体网格。但直到20世纪80年代中期,相比于计算格式和方法的飞跃发展,网格生成技术未能与之保持同步。从这个时期开始,各国计算流体和工业界都十分重视网格生成技术的研究。上个世纪90年代以来迅速发展的非结构网格和自适应笛卡尔网格等方法,使复杂外形的网格生成技术呈现出了更加繁荣发展的局面。现在网格生成技术已经发展成为CFD的一个重要分支,它也是计算流体动力学近20年来一个取得较大进展的领域。也正是网格生成技术的迅速发展,才实现了流场解的高质量,使工业界能够将CFD的研究成果——求解Euler/NS方程方法应用于型号设计中。 随着CFD在实际工程设计中的深入应用,所面临的几何外形和流场变得越来越复杂,网格生成作为整个计算分析过程中的首要部分,也变得越来越困难,它所需的人力时间已达到一个计算任务全部人力时间的60%左右。在网格生成这一“瓶颈”没有消除之前,快速地对新外形进行流体力学分析,和对新模型的实验结果进行比较分析还无法实现。尽管现在已有一些比较先进的网格生成软件,如ICEM CFD、Gridgen、Gambit等,但是对一个复杂的新外形要生成一套比较合适的网格,需要的时间还是比较长,而对于设计新外形的工程人员来说,一两天是他们可以接受的对新外形进行一次分析的最大周期。要将CFD从专业的研究团体中脱离出来,并且能让工程设计人员应用到实际的设计中去,就必须首先解决网格生成的自动化和即时性问题,R.Consner等人在他们的一篇文章中,详细地讨论了这些方面的问题,并提出:CFD研究人员的关键问题是“你能把整个设计周期缩短多少天?”。而缩短设计周期的主要途径就是缩短网格生成时间和流场计算时间。因此,生成复杂外形网格的

各种3D软件如何导出STL文件

一、软件:Alibre 1. 文件-File 2. 导出-Export 3. 保存为-Save As > STL 4. 输入文件名-Enter File Name 5. 保存-Save 二、软件:Ashlar-Vellum 1. 文件-导出File > Export… 2. 选择STL导出格式-Select STL Export Type 3. 选择二进制选项并点 OK - Set Export Options to Binary > OK 4. 输入文件名Enter Filename 5. 保存Save 三、软件:AutoCAD 您的设计必须是三维实物,并且坐标值都为正 1. 保证目标是正空间(坐标值为正) 2. 在命令行输入“FACETRES” 3. 输入1到10之间一个数,1表示低分辨率,10表示高分辨率 4. 在命令行输入“STLOUT” 5. 选择目标模型 6. 输入"Y"表示输出二进制 7. 输入文件名-保存 四、软件:Autodesk Inventor 1. 保存为Save Copy As 2. 选STL Select STL 3. 选项选择高Choose Options > Set to High 4. 输入文件名Enter Filename 5. 保存Save 五、软件:CADKey 1. 从Export(输出)中选择Stereolithography(立体光刻) 2. 输入文件名 3. 点OK 六、软件:Catia 1.选择STL命令 2. 最大Sag=0.0125 mm 3. 选择要转化为STL的零件

4. 点击YES, 选择输出(export) 5. 输入文件名输出stl文件 七、软件:I-DEAS 1. 文件File > 输出Export > 快速成型文 件Rapid Prototype File > OK 2. 选择要导出的模型Select the Part to be Prototyped 3. 选择成型设 备Select Prototype Device > SLA500.dat > OK 4. 设置绝对面片精度到 0.000395 Set absolute facet deviation to 0.000395 5. 选择二进制Select Binary > OK 八、软件:IronCAD 1. 右键点击要输出的零件Right Click on the part 2. 零件性质Part Properties > 生成Rendering 3. 设置面片表面光滑到 150 Set Facet Surface Smoothing to 150 4. 文件File > 输出Export 5. 选择STL文件Choose .STL 九、Mechanical Desktop 使用AMSTLOUT命令输出STL文件 1.Angular Tolerance(角度差)-- 设定相邻面片间的最大角度差值,默认15度,减少可以提供STL文件的精度 2.Aspect Ratio(形状比例)--该参数控制三角面片的高度比。1标志三角面片的高度不超过宽度。默认值为0,忽略。 3.Surface Tolerance(表面精度)--控制三角面片的边与实际模型的最大误差。设定为0.0000,将忽略该参数。 4.Vertex Spacing(顶点间距)--控制三角面片边的长度。默认为 0.0000,忽略。 十、软件:ProE / ProEngineer 1. 文件File > 输出Export > 模型(或文件) Model (or File > Save a Copy) 2. 选择STL格式Set type to STL 3. 设置弦高(chord height)为0。然后该值会被系统自动设定为可接受的最小值。 4. 设置角度控制为1 5. 选择文件名 6. OK

mike21fm网格生成器中文教程

MIKE21 FM网格生成器培训教程

目录 17简介 (1) 17.1概念 (2) 17.2边界定义 (3) 18开始 (3) 18.1介绍 (3) 18.2数据位置 (4) 18.3 步骤1 - 建立一个工作区域 (4) 18.4步骤2 - 导入模型边界线 (5) 18.5步骤3 - 编辑陆地边界线 (7) 18.6 步骤4 - 定义开边界 (9) 18.7步骤5 - 生成网格 (9) 18.8步骤6 - 对陆地边界进行光滑处理 (10) 18.9步骤7 - 网格地形插值 (12) 18.10 步骤8 - 对网格进行光滑处理 (15) 18.11 步骤9 - 使用多边形来控制节点密度 (15)

MzGeneric.pdf手册中Mesh Generator部分 17 简介 网格生成器(mesh generator)为制作三角网格提供了工作平台。 创建合理的网格是模型获得可靠结果的重要条件。基于 MIKE Zero 之上的MIKE 21 Flow Model FM, MIKE 3 Flow Model FM 和 MIKE 21 Spectral Wave Model FM,都是以三角网格为基础的。 图 17.1 全球模型的陆地/海洋边界 网格的生成包括选择适当的模拟范围,确定地形网格的分辨率,考虑流场,风场和波浪场的影响,为开边界和陆地边界确定边界代码。此外,在考虑稳定性的前提下,确定地理空间的分辨率。 生成网格文件可以使用MIKE Zero网格生成器。网格文件是一个ASCII文件(扩展名*.mesh),其中包括地理位置信息和在网格中每一个节点的水深。文件还包括三角形的节点连通性信息。所有关于生成网格文件的配置信息都在网格定义文件(扩展名*.mdf) 中, 文件可以被修改和再利用。 网格生成器的功能包括从不同的外部信息源(例如. XYZ 水深点,XYZ等值线,MIKE 21矩形网格地形,MIKE C-MAP数据) 输入原始数据,或是用内置的制图工具手动创建地形数据。用户可以在网格生成器中导入背景图片,例如地图,在数据编辑时使用它们,或用来提高图形的后处理效果。

结构化网格与非结构化网格

对于连续的物理系统的数学描述,如航天飞机周围的空气的流动,水坝的应力集中等等,通常是用偏微分方程来完成的。为了在计算机上实现对这些物理系统的行为或状态的模拟,连续的方程必须离散化,在方程的求解域上(时间和空间)仅仅需要有限个点,通过计算这些点上的未知变量既而得到整个区域上的物理量的分布。有限差分,有限体积和有限元等数值方法都是通过这种方法来实现的。这些数值方法的非常重要的一个部分就是实现对求解区域的网格剖分。 网格剖分技术已经有几十年的发展历史了。到目前为止,结构化网格技术发展得相对比较成熟,而非结构化网格技术由于起步较晚,实现比较困难等方面的原因,现在正在处于逐渐走向成熟的阶段。下面就简要介绍一些这方面的情况。 1.1结构化网格 从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元。结构化网格生成技术有大量的文献资料[1,2,3,4]。结构化网格有很多优点: 1.它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。 2.网格生成的速度快。 3.网格生成的质量好 4.数据结构简单 5.对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际的模型更容易接近。 它的最典型的缺点是适用的范围比较窄。尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了。 结构化网格的生成技术只要有: 代数网格生成方法。主要应用参数化和插值的方法,对处理简单的求解区域十分有效。PDE网格生成方法。主要用于空间曲面网格的生成。 1.2非结构化网格 同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。 非结构化网格技术从六十年代开始得到了发展,主要是弥补结构化网格不能够解决任意形状和任意连通区域的网格剖分的缺欠.到90年代时,非结构化网格的文献达到了它的高峰时期.由于非结构化网格的生成技术比较复杂,随着人们对求解区域的复杂性的不断提高,对非结构化网格生成技术的要求越来越高.从现在的文献调查的情况来看,非结构化网格生成技术中只有平面三角形的自动生成技术比较成熟(边界的恢复问题仍然是一个难题,现在正在广泛讨论),平面四边形网格的生成技术正在走向成熟。而空间任意曲面的三角形、四边形网格的生成,三维任意几何形状实体的四面体网格和六面体网格的生成技术还远远没有达到成熟。需要解决的问题还非常多。主要的困难是从二维到三维以后,待剖分网格的空间区非常复杂,除四面体单元以外,很难生成同一种类型的网格。需要各种网格形式之间的过度,如金字塔形,五面体形等等。 非结构化网格技术的分类,可以根据应用的领域分为应用于差分法的网格生成技术(常常成为grid generation technology)和应用于有限元方法中的网格生成技术(常常成为mesh generation technology),应用于差分计算领域的网格要除了要满足区域的几何形状要求以外,还要满足某些特殊的性质(如垂直正交,与流线平行正交等),因而从技术实现上来说就更困难一些。基于有限元方法的网格生成技术相对非常自由,对生成的网格只要满足一些形状

自动网格生成法

自动网格生成法 二维网格生成—Advancing Front方法 从概念上来讲,Advancing front方法是最简洁的方法之一。单位元素生成算法始于一个特殊边界条件所定义的“front”,此算法逐级地生成各个元素,同时“front”元素离散地前进,直至整个区域都被元素所覆盖。 网格生成过程包括三个主要步骤: 1、在边界上生成节点,形成一个离散的区域边界。 2、在离散区域边界内生成元素(亦或节点)。 3、强化节点形状以提高网格图形清晰度。 在介绍这个方法之前我们先介绍以下有关于二维空间地几何表示。 一、二维网格的几何特征 我们利用网格参数(一般是空间的函数)来表征网格的一些性质,诸如节点尺寸,节点形状和节点方向等等。网格参数包括两个相互正交的单位矢量a1和a2表示的方向参数,和由两个相互正交代表节点形状的矢量的模值h1和h2。前者表征网格节点伸展的方向,注意的是,只有在生成的是非各向同性的网格内,方向参数才有定义,否则方向矢量是常单位矢量,而尺寸参数有h1=h2,这样就定义了各向同性的平凡网格。 二、区域的几何表示 边界曲线的表示: 我们一般用组合参数样条线表示曲线边界单位,利用参数t,我们利用二维矢量函数表达出曲线边界: r t=x t,y t,0≤t≤1 一般来讲,一条组合样条曲线至少是C1连续的,以保证边界曲线平滑和算法要求的数学连续性。我们下面将要用厄米三阶样条线,当然还有许多就不一一举例了。 样条线的参数表达式如下: X t=H0t,H1t,G0t,G1t?x0,x1,x,t0,x,t1T,0≤t≤1 转置的前两项是曲线的两个端点,而后两项是它们对t求导现在端点处的值。另外G和H分别是四个三阶厄米多项式: H0t=1?3t2+2t3 ; H1t=3t2?2t3 G0t=t?2t2+t3 ; G1t=?t2+t3 此时,参数表达式可以通过一个系数矩阵来描述: X t=1,t,t2,t3M x0,x1,x,t0,x,t1T,0≤t≤1 其中M矩阵读者很容易写出,是一个4*4的方阵,而每一列是这些厄米多项式的系数排列而成。我们把这个表示称之为样本表示。每个边界都包含n个这样的数据点: x i,i=1,2,3,……,n 利用内插法可以构造出如下形式的关系式: X u=H0t x u i?1+H1t x u i+Δi G0t x,t u i?1+Δi G1t x,t u i 其中Δi是单位区间的长度。同时参数t也变为离散的取值是单位区间从原点到任意点所有的个数。如果参数的离散取值正好是i,那么u的表达式将简化为:

基于映射法的六面体网格生成算法

基于映射法的六面体网格生成算法 王东风,翟建军,陈文亮 (南京航空航天大学机电学院,江苏南京 210016) 摘要:六面体网格划分技术是三维有限元仿真软件处理的关键环节之一,等参映射法既可适应特殊的区域边界形状,又可控制所生成单元的形状和密度。对基于等参映射法的六面体网格划分原理进行了深入研究,并在此研究基础上对等参映射法的计算过程进行了细致的分析,利用VC++开发了该算法的相应程序,最后给出了2个等参映射法具体的应用实例,计算结果表明该程序的计算精度已经达到了工程要求。 关键词:等参映射法;六面体网格;有限元 中图分类号:TP391 文献标识码:A 文章编号:1672-1616(2009)05-0025-03 在有限元仿真过程中,单元类型的选择对整个有限元仿真的计算效率、自动化程度、计算精度都将产生重要影响。六面体单元由于变形特性好、计算精度高等优点在三维有限元仿真领域中得到了广泛应用[1]。 映射法是三维网格划分中最早使用的方法,和扫略法、基于栅格法等其他方法相比,该方法生成网格速度快、生成的网格单元质量好、网格密度可控制[2~4]。映射法对复杂实体生成三维有限元网格有两大难点,一是子区域划分问题,二是子区域之间网格相容性问题。Price与Armstrong等提出中面法,将三维复杂区域分解成可映射子区域[5~7],但是该算法存在一些问题,特别是几何适应能力问题。李华和程耿东提出了三维组合式模板,一定条件下解决了子区域之间的网格相容性问题[2]。还有学者提出了Embedded Voronoi Graph[8]和BLOBs[9],对复杂实体利用映射法划分六面体网格。映射法在众多有限元分析软件中占有重要地位,美国Altair公司Hyper-Mesh软件中的Solid Mesh Panel就是利用映射法生成六面体网格。 本文对基于等参映射法的六面体网格划分技术进行了详细研究。通过形函数映射技术将物理域映射到参数空间域,对规则参数域进行网格剖分,将参数域的网格反向映射回物理空间,从而得到物理空间六面体网格。利用VC++实现了映射过程,在输入边界信息和划分信息后,即得到了六面体网格的节点信息和单元信息。 1 映射法生成四边形网格和六面体网格 本文主要讨论的是怎样在一个子区域中划分 六面体网格。这里的子区域指的是具有6个面12条边,每条边的特征点已知的区域。 求子区域六面体网格节点的步骤:(1)利用积累弦长参数化法对每条边进行参数化。(2)利用拉格朗日插值公式求边界函数。(3)利用边界函数,由双线性混合孔斯曲面片公式求曲面节点坐标。 (4)由孔斯线性混合插值公式求子区域节点坐标。 在计算的过程中要用到2种坐标系,即笛卡尔坐标系和自然坐标系。笛卡尔坐标系用x,y,z表示,自然坐标系用一组不超过1的无量纲参数r,s, t表示,边界点分别对应自然坐标等于1或0的点。如图1所示。 图1 自然坐标和笛卡尔坐标之间的变换 收稿日期:2008-08-08 作者简介:王东风(1979-),男,河南商丘人,南京航空航天大学硕士研究生,主要研究方向为CAD/CAM/CAE。

点云格式转换

点云格式转换: 在日常工作中,我们所用到的点云一般都为三角化后输出的网格面数据,其格式为标准格式STL格式。另一种为输出的点数据ASCII 格式. ⑴.STL是以一个文件的方式输出.输出的时候有ASCII和 binary两种方法,一般采用二进制(binary)的方法输出, 可以节省空间. ⑵.ASCII是把文件分成许多小的文件包输出的.一般是用输 出的点数来限制文件包的.

其中,STL是最常用的格式,因为它所包含的信息最全面,而且可以被大多数的软件所接受. 但有时因为不同的应用,测量后输出的数据有可能为VTX(顶点文件)、WRL和IV格式,而常用软件CATIA在导入点云时不支持以上两种格式.这时我们可以利用以下方法将VTX、WRL和IV转化为ASC 格式: 以上图中的foot模型为例. ⑴.用写字板将WRL格式文件打开.原文件大小为444KB.

⑵.将文件另存为TXT或DAT格式.此时文件大小为454KB.

⑶.将另存后的DAT文件的后缀名改为ASC格式.但此时文件大 小没有改变.(此时,如遇大型文件不方便存储和拷贝.) ⑷.用Imageware将文件打开,再重新另存为ASCII文件,此时文件 大小为293KB.

2 IV格式的转化同上. VTX格式的转化与上面方法基本相似,只是在写字板中将VTX 文件打开后会同时显示每个点的坐标和I,J,K变量值.需在坐标值与I,J,K变量值之间的空格处用逗号替换后再与以上方法同步即可. 以上方法的优点:1.在没有专用的三维扫描软件的情况下可以进行转换.2.可将大型的VTX、WRL、IV格式文件转换为ASCII文件,以方便存储和拷贝. 缺点:步骤烦硕,不能一步到位.特别是在大型文件的转换时,尽量避免采用VTX格式进行转换. 由于经验有限,以上方法难免有疏漏不正之处,敬请不吝指正.

Fluent 结构化网格与非结构化网格

简单地说:结构化网格只包含四边形或者六面体,非结构化网格是三角形和四面体。 结构网格再拓扑结构上相当于矩形域内的均匀网格,器节点定义在每一层的网格线上,且每一层上节点数都是相等的,这样使复杂外形的贴体网格生成比较困难。非结构网格没有规则的拓扑结构,也没有层的概念,网格节点的分布是随意的,因此具有灵活性。不过非结构网格计算的时候需要较大的内存。 在计算流体动力学中,按照一定规律分布于流场中的离散点的集合叫网格(Grid),分布这些网格节点的过程叫网格生成(Grid Generation)。网格生成对CFD至关重要,直接关系到CFD计算问题的成败。 非结构三角形网格方法 复杂外形网格生成的第二方向是最近应用比较广泛的非结构三角形网格方法,它利用三角形(二维)或四面体(三维)在定义复杂外形时的灵活性,以Delaunay法或推进波阵面法为基础,全部采用三角形(四面体)来填充二维(三维)空间,它消除了结构网格中节点的结构性限制,节点和单元的分可控性好,因而能较好地处理边界,适用于模拟真实复杂外型。非结构网格生成方法在其生成过程中采用一定的准则进行优化判断,因而能生成高质量的网格,很容易控制网格的大小和节点的密度,它采用随机的数据结构有利于进行网格自适应。一旦在边界上指定网格的分布,在边界之间可以自动生成网格,无需分块或用户的干预,而且不需要在子域之间传递信息。因而,近年来非结构网格方法受到了高度的重视,有了很大发展。 非结构网格方法的一个不利之处就是不能很好地处理粘性问题,在附面层内只采用三角形或四面体网格,其网格数量将极其巨大。现在比较好的方法就是采用混合网格技术,即先贴体生成能用于粘性计算的四边型或三棱柱网格,然后以此为物面边界,生成三角形非结构网格,但是生成复杂外型的四边形或三棱柱网格难度很大。 非结构网格方法的另一个不利之处就是对于相同的物理空间,网格填充效率不高,在满足同样流场计算条件的情况下,它产生的网格数量要比结构网格的数量大得多(一个长方体要划分为5个四面体)。随机的数据结构也增加了流场参数交换的时间,因此此方法要求较大的计算机内存,计算时间长。在物面附近,非结构网格方法,特别是对于复杂外形如凹槽、细缝等处比较难以处理。 非结构网格与结构网格一样都属于贴体网格,模型表面网格的好坏直接关系到空间网格的质量,因而它们的模型表面网格必须同时与网格拓扑结构和当地的几何外形特性相适应,为了更好地适应其中一方面,有时不得不在另一方面作出让步,因而往往顾此失彼。因此,在生成非结构网格和结构网格时,处理模型表面又成为一个关键而费时的工作。 计算精度,主要在于网格的质量(正交性,长宽比等),并不决定于拓扑(是结构化还是非结构化)。个人感觉采用结构化网格还是非结构化网格,主要看解决什么问题,如果是无粘欧拉方程的话,只要合理布局,结构和非结构都能得到较为理想的结果。但如果涉及到粘性影响的话,尤其在壁面处,结构网格有一定优势,并且其对外形适应性差的缺点,也可以通过多块拼接网格解决。事实上,目前有的非结构网格软件,也开始借鉴结构网格的优点,在壁面处进行了类似结构网格的处理,如cfx的壁面加密功能。 一般来说,网格节点走向(这里假设计算过程中物理量定义在网格节点上)贴近流动方向,那么计算的结果就要好一些。对于不是非常复杂的流动。例如气体的喷管流动,使用四边形(二维)网格就比较三角形网格要好。不过即便是四边形网格,fluent也是按照无结构网格进行处理的。 非结构和结构网格的计算结果如何取决于算法,除非网格实在惨不忍睹。我觉得现在已发展到了基于结构网格与非结构网格上的计算,各自的优势相差越来越不是很明显了。

相关主题