网格类型通常被分类为结构化(曲线坐标)或非结构化。如前所述,结构化网格与有限差分法历史上相关。有限体积法和有限元法允许更一般的网格。
1.结构化网格
结构化网格,也通常称为网格,是其结构和形成允许容易识别相邻单元格和点的网格。这种属性源于结构化网格是应用于分析坐标系统(矩形、椭圆形、球形等),形成规则网格。
从编程的角度来看,形成结构化网格的单元格或点可以这样枚举,以至于可以分析地进行相邻查询,基于单元格或点的坐标。
考虑下图中的网格。它的前几个单元格被枚举,以及前四个左侧和右侧边界单元格。这个网格是矩形网格的一个例子。为了说明获得单元格邻接关系的便利性,很明显,要从任何单元格获得右侧邻接关系,问题被简化为在其枚举上加一。
同样,任何单元格的顶部邻接关系是通过在其单元格枚举上加九来获得的。这允许每个网格元素直接映射到数组或向量,使计算更简单。
任何曲线网格也可以映射到这样的坐标和相邻系统。因此,从编程的角度来看,在邻接查询方面,曲线网格和矩形网格之间几乎没有区别。
结构化网格也可以在边界拟合方面进行定义。例如,笛卡尔网格适合矩形的边界,而圆柱形网格适合圆柱的边界。
可以混合边界拟合,并有许多不同的曲线或表面定义边界。这些包括任何可参数化的曲线和表面,如样条和NURBS(非均匀有理基样条)。网格算法将决定如何通过这些表面分布点以及如何连接相对表面,这取决于每个曲线或表面应该创建多少点。
2.非结构化网格
非结构化网格更通用,可以任意近似任何几何形状。与结构化网格不同,后者的坐标和连接性映射到矩阵的元素中,非结构化网格需要特殊的数据结构,如邻接矩阵或列表和节点坐标列表。非结构化网格的节点/单元格编号可以是任意和稀疏的,因为它不需要任何分析形式的邻接查询。
复杂几何体,如果使用结构化网格生成将是不切实际的,可以使用非结构化网格化技术进行离散化。非结构化网格的灵活性允许使用各种单元格类型并存于同一网格中,使其能够实现更好的几何拟合和整体元素质量。
单元格类型可以分为2维单元格和3维单元格。常见的2维单元格类型是三角形和四边形。常见的3维单元格类型是四面体和六面体,但也可能包括金字塔和楔形。
这些单元格类型形成了所谓的有限元动物园finite element zoo,因为这些单元格类型通常与有限元方案一起使用。有限体积方案在单元格类型使用方面更为灵活,有时允许使用任何多边形和多面体。
网格单元格不需要是一致的。非一致网格是那些出现悬挂节点的网格。这些节点在网格自适应过程中更常见。