@daidezhi
2016-05-18T11:49:41.000000Z
字数 2111
阅读 7827
CFD
FVM
OpenFOAM
Mesh
基于有限体积方法
离散的求解器可以使用任意单元类型
的非结构网格系统,在二维
情况下,控制体单元类型可以为
- 三角形(Triangle);
- 四边形(Quadrilateral);
- 五边形(Pentagon);
- 六边形(Hexagon);
- 多边形(Polygon)。
同样地,在三维
情况下,控制体单元类型可以为
- 四面体(Tetrahedron);
- 金字塔(Pyramid);
- 六面体(Hexahedron);
- 棱柱体(Prism);
- 多面体(Polyhedron)。
对于结构网格,只需在求解器内部将其单元作为四边形(2D)或六面体(3D)来处理。因此,结构网格和非结构网格的区别不在于单元类型,而在于求解器内部的数据结构和具体算法。
在CFD技术高速发展的今天,非结构网格系统因其对于复杂几何外形的高度适应性而被所有主流CFD求解器(Fluent
, OpenFOAM
, Star-CD
等)采用。严格来讲,二维的三角形、四边形也属于多边形,三维的四面体、金字塔、六面体、棱柱体亦可归类于多面体,因此,使用统一的多边形或者多面体网格数据结构可以更加方便的处理和使用任意单元类型的非结构网格或者混合网格系统。
OpenFOAM不支持二维网格,对于导入的外部二维网格,OpenFOAM会自动给网格加一个厚度,然后将前后面边界条件设置为空(empty
)。OpenFOam多面体网格文件位于算例文件夹下的/constant/polyMesh
子文件夹,所有文件均为ASCII
格式,具体文件及其包含的信息如下表所示。
文件 | 存储信息 |
---|---|
points |
所有节点的三维坐标 |
faces |
构造面单元的节点编号 |
owner |
与面单元相对应owner 体单元编号 |
neighbour |
与面单元相对应neighbour 体单元编号 |
boundary |
边界条件设置 |
pointZones |
|
faceZones |
|
cellZones |
points
文件points
文件以矢量场的形式存储所有节点坐标,单位为米(m)
,除去文件开头说明,包含内容如下图所示。节点的编号即为其坐标数据在points
列表中的位置,初始编号为0
。
faces
文件faces
文件存储面单元—节点
拓扑结构数据。除去文件开头说明,包含内容如下图所示。面单元最少由3个节点组成(三角形),其构造节点总数为每一行数据第一个整数(任意不小于3的值),每一行括号内的整数为面单元构造节点的编号,表示其在points
列表中的位置。面单元的编号即为数据在faces
列表中的位置,初始编号为0
。整个faces
列表包含边界面单元。
owner
文件如下图所示,owner
体单元(以下简称单元
)与neighbour
单元的标识基于公共面单元face
外法矢的方向,即由owner
单元指向neighbour
单元。owner
单元与neighbour
单元有时亦被称为左单元
与右单元
,意义相同。
owner
文件存储owner单元—面单元
拓扑结构数据。除去文件开头说明,包含内容如下图所示。owner
列表存储相对应面单元的owner
单元编号,初始编号为0
,owner
列表的位置对应面单元的编号,亦对应于其在faces
列表中的位置。任何一个面单元总存在一个owner
单元,因此owner
单元总数与面单元总数nFaces
相等。
此外,节点总数nPoints
、体单元总数nCells
、面单元总数nFaces
以及内部面单元总数nInternalFaces
相关信息存储于owner
文件开头说明(见下图)。
neighbour
文件neighbour
文件存储neighbour单元—面单元
拓扑结构数据。除去文件开头说明,包含内容如下图所示。neighbour
列表存储相对应面单元的neighbour
单元编号,初始编号不为0
,neighbour
列表的位置对应面单元的编号,亦对应于其在faces
列表中的位置。需要特别说明的是,因为边界面单元没有neighbour
单元,neighbour
单元总数与内部面单元总数nInternalFaces
相等。
boundary
文件boundary
文件存储整个网格的边界信息,比如边界区域名称、边界类型type
、面单元个数nFaces
以及起始面单元编号startFace
等。除去文件开头说明,包含内容如下图所示。
需要说明的是,边界面单元(无neighbour
单元)存储于faces
列表的最后,如下图所示,灰色元素表示每个边界区域的起始面单元。
pointZones
文件、faceZones
文件以及cellZones
文件一般使用不到,暂且不予讨论。
感谢您的阅读,欢迎讨论和批评指正。
作者:戴得志
2016年5月17日