网格生成 01:历史与问题版图

网格为何随数值计算而生

连续域Ω\Omega 中的偏微分方程有无限多个自由度,计算机只能保存有限数据。网格做的是选择有限个节点、单元和基函数,把连续解uu 近似为

uh(x)=∑i=1Nuiϕi(x).u_h(x)=\sum_{i=1}^{N}u_i\phi_i(x).

因此,网格从一开始就不是纯绘图结构:它决定基函数的支撑、积分区域、矩阵稀疏模式、误差传播和并行通信。

关键历史节点

时期关键思想今天留下了什么
1908Voronoi 将最近点分区推广到高维对偶单元、控制体积、采样与功率图
1934Delaunay 研究空圆/空球三角剖分非结构单纯形网格的核心拓扑
1950–1960 年代有限元从结构力学走向通用 PDE 离散网格质量开始与数值误差直接绑定
1970–1980 年代映射网格、椭圆网格生成、前沿推进、四叉树/八叉树结构网格与自动非结构网格分流
1981Bowyer–Watson 增量 Delaunay插点式 Delaunay 的标准框架
1990 年代paving/plastering、sweeping、Ruppert/Chew refinementquad/hex 工程路线与有保证三角网格
1999–2004CVT、优化网格、DistMesh、polycube“网格是能量极小化/参数域采样”成为主流
2006–2011PGP、QuadCover、MIQ、CubeCover方向场、整数周期与全局参数化形成现代路线
2016–2023叶状结构、Strebel/亚纯微分、Abel–Jacobi从“优化出结果”深入到存在性与拓扑障碍
2024–2026工业级并行、曲边高阶、solver-aware、RL/生成式辅助数据方法进入流程,但经典几何约束仍是底座

为什么会有这么多算法家族

它们选择了不同的“先决定什么”。

flowchart TB
    P[连续区域]
    P --> A[先放点<br/>Delaunay / CVT]
    P --> B[先推边界<br/>Advancing Front]
    P --> C[先分层级格子<br/>Quadtree / Octree]
    P --> D[先设计方向<br/>Cross / Frame Field]
    P --> E[先做块分解<br/>Mapping / Sweeping]
    P --> F[先建参数域<br/>Polycube / Integer Grid Map]
    P --> G[先建内在结构<br/>Conformal Metric / Differential]
  • Delaunay 先保证局部空圆性质,再处理尺寸和边界;
  • 前沿推进从已知边界生长,边界控制强,但前沿碰撞复杂;
  • 树分解先获得鲁棒覆盖,再处理阶梯边界和复杂奇异结构;
  • 场方法先决定单元方向,再尝试积分成网格;
  • 共形方法先找满足全局约束的内在度量或微分,再提取布局。

历史上反复出现的三个误区

误区一:单元越规则,数值解一定越准

局部等边只适合各向同性误差。如果解沿一个方向变化极快,长而窄但方向正确的单元可能更有效。质量必须相对于目标 PDE 和度量M(x)M(x) 定义。

误区二:光滑方向场一定能积分成四边形网格

方向场只给“朝向”,网格还要求闭路周期为整数、参数映射不翻转、奇异点满足更强的全局约束。大连理工与合作者 2023 年的工作正面解释了交叉场与四边形网格并不等价。

误区三:能生成拓扑单元,就解决了网格生成

拓扑存在、几何有效、数值高质、工程鲁棒是四个不同层级。一个 all-hex 连接关系仍可能在嵌入时产生负 Jacobian;一个理论存在的参数化也可能在 CAD 缝、薄隙和容差误差上失败。

推荐原始资料

自测

  1. 为什么前沿推进和 Delaunay 插点不能简单说谁“更先进”?
  2. 一个参数化算法要变成网格算法,还缺哪三类约束?
  3. 把“网格质量”脱离 PDE 讨论,会漏掉什么?

答案:它们优先满足的约束不同;还缺离散周期/拓扑一致性、局部可逆性与边界/尺寸约束;会漏掉误差方向、离散算子条件数和实际求解代价。