2. 网格生成基础
有限差分法的第一步不是写差分格式,而是把连续的求解区域“切”成有限个离散节点。网格生成的质量直接决定了差分近似的截断误差、边界条件施加的便利性以及最终线性方程组的规模与条件数。本节围绕三个问题展开:结构化与非结构化网格的本质区别、一维到三维网格的生成方法、以及如何用可量化的指标评价网格质量。
一、结构化网格与非结构化网格的概念
结构化网格的核心特征是节点之间的连接关系具有规则的拓扑结构:每个内部节点都有固定数量的相邻节点,节点可以用整数指标 (i, j, k) 唯一标识,且相邻指标之差为 1。在二维情形下,结构化网格等价于一个从计算域参数平面 (ξ, η) 到物理平面的映射 x(ξ, η)、y(ξ, η)。正因为存在这样一张“指标地图”,差分格式可以直接写成 u[i+1][j] − 2u[i][j] + u[i−1][j] 的形式,无需查找邻居表,内存访问连续,并行分区也容易实现。
非结构化网格则放弃了指标规则性,节点通过显式的连接表(如三角形单元的顶点编号列表)描述邻接关系。它的优势在于对复杂几何的适应性:任意形状的边界都可以用三角形或四面体填充,局部加密只需在需要处插入节点,不必让整条网格线贯穿全域。代价是数据结构复杂、需要存储邻接信息、差分格式通常要借助有限体积或有限元思想构造,且网格质量对结果影响更敏感。
需要强调一个常见误解:结构化网格并不等于“矩形网格”。贴体坐标下的结构化网格可以是弯曲的 O 型、C 型网格,只要指标拓扑仍是规则的三族曲线即可。判断标准是拓扑规则性,而非几何形状是否方正。
二、一维、二维、三维网格的生成方法
一维网格最简单,本质是在区间 [a, b] 上布置节点 x₀ < x₁ < … < x_N。均匀网格取 Δx = (b−a)/N;非均匀网格常用几何级数加密,例如在边界层附近取 x_i = a + (b−a)·(r^i − 1)/(r^N − 1),其中 r > 1 为增长比。选择 r 时需保证相邻单元尺寸比不超过约 1.2~1.3,否则差分格式的局部截断误差会显著恶化。
二维网格的生成方法主要有三类。代数网格法通过双线性或超限插值,把计算域中的规则网格映射到物理域,实现简单但边界正交性难以保证;椭圆网格法求解 Poisson 方程 ∇²ξ = P、∇²η = Q 来光滑网格,源项 P、Q 用于控制网格向边界聚集;Delaunay 三角化则从点集出发构造满足空圆性质的三角形网格,适合复杂外形的非结构化离散。工程中常把代数法作为初值、椭圆法作为光顺步骤组合使用。
三维网格在一维、二维方法基础上扩展:结构化网格采用三向指标 (i, j, k) 与三线性/超限插值映射;非结构化网格以四面体为主,常用 Delaunay 四面体化或推进阵面法(advancing front)生成,边界层区域则用三棱柱单元逐层拉伸,兼顾贴体性与各向异性分辨率。三维网格的节点数随尺度立方增长,因此生成前必须估算规模:若 x、y、z 方向各取 100 个节点,总量即达 10⁶ 量级,直接求解的存储与计算代价需提前评估。
三、网格质量评价指标
网格“看起来密”不等于“质量好”。工程上通常用以下几类指标定量判断:
- 长宽比(aspect ratio):单元最长边与最短边(或对应高度)之比。二维三角形建议控制在 5 以内,边界层允许各向异性但一般不超过 100;过大长宽比会放大差分格式的方向性误差。
- 偏斜度(skewness):衡量单元偏离正多边形/正多面体的程度,常用 0~1 归一化,超过 0.85 通常视为质量差。
- 正交性(orthogonality):相邻单元中心连线与公共面法向的夹角,理想为 0°;超过 60°~70° 会显著影响扩散项离散精度。
- 雅可比行列式:结构化贴体网格中映射的 Jacobian J = ∂(x,y)/∂(ξ,η),必须处处同号且远离零,否则映射折叠、网格自相交。
- 光滑度(smoothness):相邻单元尺寸的比值,一般要求 ≤ 1.2,突变会引起截断误差的局部跳变。
以一个教学示例说明判断过程:在 1 m × 1 m 的方形域上生成 20 × 20 均匀结构化网格,Δx = Δy = 0.05 m,所有单元长宽比为 1、偏斜度为 0、正交性为 0°,属于理想质量;若改用边界层加密,首层厚度取 1×10⁻⁴ m、增长比 1.2,则首层单元长宽比可达 500,此时应检查该区域是否仅用于捕捉法向梯度,并在报告中注明各向异性是有意设计而非缺陷。上述数值为示例参数,实际工程需结合雷诺数、梯度尺度与求解器要求确定。
选择结构化还是非结构化,取决于几何复杂度与精度需求的权衡:外形规则、需要高阶差分或高效并行时优先结构化;几何复杂、局部特征尺度差异大时优先非结构化并在边界层采用棱柱/六面体混合。无论哪种,网格质量指标都应在求解前完成检查,而不是等结果异常后再回头怀疑网格。