首页/文章/ 详情

一篇文章入门网格划分

3年前浏览3523

网格是多物理场仿真软件中的重要一环,本文主要从以下几个方面介绍网格:


1. 网格生成软件开发;

2. 网格生成软件工具;

3. 网格操作。


1. 网格功能开发

网格是有限元分析中很重要的一个因素,从技术方面考虑:

1. 网格的数量影响到求解的精度和效率

2. 网格的质量影响到求解的精度(网格单元是否畸形,网格密度是否合理)

3. 网格的阶次影响到计算精度

4. 不同分析类型对网格类型要求不同(相同的几何,流体,热,结构所需要的网格不同)

5. 复杂几何网格错误难以检查


从以下几个方面介绍前处理器中的网格开发

1. 网格生成算法

2. 网格类型与质量检查

3. 网格加密/自适应网格划分

4. 网格显示

5. 网格开源工具

6. 网格商业工具


1. 网格生成

结构化网格:

结构化网格具有统一的拓扑结构,区域可以划分为规则的单元,节点之间有规律的索引。结构化单元只适合于求解模型简单,几何规则的情况。结构化网格算法也比较简单很容易实现。

例如对一个六面体实体划分网格,在其中一个面上划分四边形,然后沿垂直该面方向上扫略即可生成规则的六面体网格。

非结构化网格:

大部分工程案例几何都不规则,网格需要使用非结构化网格。

常用的算法有:Delaunay三角形算法,波前法(Advancing front method),映射(Mapping)方法,分治法,四叉树/八叉树。具体可参考《Mesh Generation》一书

网格工具与几何接口:

网格划分的对象是几何,因此需要定义好 几何和网格工具的接口,即几何数据以何种方式传给网格工具。通常网格划分需要点线和边的数据,对于Nonmanifold几何,还需要提供公共部分的属性,比如相邻的面需要设置成double-side以方便网格工具识别。

网格参数:

网格参数的确定与调整,在开发过程中,网格的默认参数确定是一项比较繁琐的工作,没有哪个网格算法或者工具能够保证完全生成高质量的网格,尤其对于通用CAE软件,开发专业的CAE软件可能还好一点。需要找到高效的调试手段,保证网格生成的稳定和质量


2. 网格类型与网格质量检查

按形状分:

常用面网格:三角形/四边形;

常用体网格:四面体/六面体/金字塔/;

按阶次分:

线性:每条边只有两个点;

二阶:每条边上中点有一个点;

多阶:每条边上中点有多个点;

几种常见类型网格:

图片

图片

图片

质量检查:

网格质量直接影响到求解器求解的精度。差的网格甚至有可能导致求解器计算失败。

下面介绍一下常用的网格质量检查指标:

Aspect Ration(纵横比):最长边与最短边的比值

Jacobian:雅克比值反映了单元偏离理想形状的程度,取值范围从0-1,取值越高网格质量越好。

Skew(扭曲度):=90-Min (A1,B1) 其中A1 B1为单元中心线与底边夹角A1 B1=180

Warpage(翘曲角):

Tetra Collapse(四面体坍塌比)=Min(H/Sqrt(Area))/1.24;

H为定点到对面的高度,Area为定点对面的面积,0为完全坍塌,1为正四面体。


3. 网格加密/自适应网格划分:

参考附录


4.网格显示:

在有网格数据后,需要显示网格。网格的显示很容易实现,主要是结构的物理设计要注意一下。网格的数据结构可以使用公共组件的定义。


网格数据结构仍然和单元数据结构保持一致,针对不同的单元设计不同的显示网格类,调用方只需调用Mesh_Drawer_Base接口。这样即能与有限元网格数据兼容,也实现了网格数据与显示的解耦,方便了整个结构的模块化。


5. 开源网格工具:

这里讨论的是能用于实际工程的开源工具,做研究和学术的工具不在之列。

开源的划分网格的工具箱很多,信手拈来就可以有一大串,但大部分的开源网格工具不是很难用,就是网格质量差,或是复杂几何划分不出来。以下介绍几个难易和实用程度都不错的开源网格工具:

Gmsh

http://www.geuz.org/gmsh/

Gmsh是一个自动的三维有限元网格生成器,并带有CAD生成功能和后处理器。支持三角形,四边形,四面体,六面体,三菱柱,金字塔形等。Gmsh生成的网格质量比起商业网格引擎毫不逊色。自带脚本生成几何的功能也为研发提供了不少便利,省去了利用商业CAD软件建模的开销。Gmsh提供可直接调用的Binary,也提供了源码。核心算法用C 实现。


TetGen

http://www.wias-berlin.de/software/tetgen/

TetGen是一个在德国的中国人写的生成四面体网格生成工具。考虑到目前大部分网格都是三角形和四面体,TetGen的从网格生成效率和质量,都相当不错。


NetGen

http://www.netgen-toolbox.org/


CGAL

http://www.cgal.org/

CGAL全称是Computational Geometry Algorithms Library。

网格划分只是其中一部分功能。作为一个通用的算法几何库,在网格生成功能方面也有相当的参考和实用价值。

以上几种工具不仅是自己用的比较顺手,在国外也被很多科研单位作为研发工具。


6. 商业网格工具:

这里介绍的商业网格工具是指用于研发的网格引擎,而不是划分网格的产品。以下几款都是本人用过的商业网格工具:

Distene

http://www.meshgems.com/

PTC,Ansys最新划分网格的工具.

特点:API接口调用简单,划分质量和效率都相当高。

缺点:不便宜


VKI

www.vki.com

很多商业CAE软件划分网格工具,包括Ansys,Nastran.

特点:接口齐全,与商业CAD和商业CAE软件网格接口齐全。

缺点:不能生成六面体。


Simmetrix

www.simmetrix.com

很多中小CAE软件划分网格工具.

特点:模块齐全,几何,网格,仿真都有涉及。


2. 网格软件工具

开发网格工具主要是软件工程师的工作,仿真应用工程师主要是使用网格软件工具。

网格划分失败,或者无效,主要由以下原因:

1. 几何信息错误

几何通常存在拓扑错误(比如边不连续,实体不封闭),自由边,面,细小狭长面,几何干涉等等。一般软件都有几何清理工具;

2. 网格质量差

几何没有问题,但是划分出来的网格无法进行计算,或者计算不收敛,很多情况下是由网格质量不合格造成。抛开网格引擎本身问题,网格质量不合格一方面和几何有关,还和网格参数设置有关。事实上网格参数有很多,而且大部分都相互排斥,比如可以设置网格整体数量,同时设置网格单元大小,这样就会产生冲突,具体实现依赖于网格引擎本身。

3. 网格不符合业务逻辑

好的网格质量表现在两方面:一数目尽可能少,二尽可能反应物理场变化特点。早期的仿真软件网格参数设置非常粗糙,完全依赖工程师经验。后来的软件可以根据物理场特点自动设置网格参数,并且引入自适应网格,大大提高了网格质量。


仿真软件前处理都有网格划分功能,工程师熟练掌握即可。通用前处理网格划分工具目前用的顺手的当属Hypermesh和ANSA。Hpyermesh上手快,门槛低,通常几何只要不要出现太大错误都能生成网格,而ANSA则相对入门较高。这也是两个工具的思路不同造成的:Hypemesh重在生成网格,而ANSA则重在高效的处理网格。对于新人,建议先使用Hypermesh,熟练后再转ANSA。

此外PointWise,CFmesh,Turbogrid等等也都是功能很强的专业网格划分工具。


3. 网格操作

据统计,仿真中80%的时间消耗在了前处理上,而前处理一半以上时间消耗在了网格生成中。

了解了网格软件开发和网格划分软件之后,更好的操作网格会大大提高工作效率:

1. 专业软件开发网格质量评估

网格质量评估的指标很多,对于开发人员,可以将生成的网格导出为中间格式,比如bdf,inp等,再导入到ANSA,Hypermesh中评价网格指标;

2. 网格文件中间格式

很多仿真项目有做benchmark的需求,比如在ANSYS中做的分析,我们可以导出为CDB,然后倒入Hpyermesh中,再导出inp,对比ANSYS和ABAQUS仿真结果;如果关键字出现问题,我们可以针对ANSYS或者ABAQUS做二次开发,自己将这些关键字加进去;

3. 自定义网格处理方法

对于大的网格文件,比如大于10G,在文件读写上会出现性能瓶颈。我们可以做二次开发,或者开发工具软件,将网格文件按照点坐标,单元分成多个文件,一个点坐标文件也可以拆分成多个,采用多线程乃至分布式处理,提高网格处理效率。

4. 网格流程质量改进

我们可以开发专业的网格质量改进工具。对前处理工具输出的初始网格优化加密,再保存为求解器输入网格文件,这种操作可以根据业务定义网格划分流程和改进质量,避免自适应加密或者人工加密,大大提高前处理效率。

声明:原创文章,欢迎留言与我讨论,如需转载留言

理论科普网格处理系统仿真ANSYS 其他Abaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-02-12
最近编辑:3年前
多物理场仿真技术
www.cae-sim.com
获赞 126粉丝 323文章 220课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈