FDM vs FEM vs FVM:三种离散化技术的本质区别
比较有限差分法 (FDM)、有限要素法 (FEM) 和有限体积法 (FVM) 的数学起点、优缺点以及各自擅长的领域。
同一 PDE,三条路径#
要用计算机求解偏微分方程 (PDE),必须对连续空间进行 离散化 (discretization)。即便对于同一个方程,根据离散化哲学的不同,也会演变为完全不同的数值技术。
我们以简单的一维平流-扩散方程为例:
让我们看看 FDM、FEM 和 FVM 分别如何处理这一个方程。
1. 有限差分法 (Finite Difference Method, FDM)#
核心思想#
将微分直接近似为 差分 (difference)。
这是最直观的方法。通过对网格点 (node) 处的函数值进行泰勒级数展开来近似导数。
数学起点:泰勒展开#
点 处的泰勒展开:
由此导出差分近似:
前向差分 (Forward):
中心差分 (Central):
二阶导数:
应用于平流-扩散方程#
使用中心差分:
这变成了关于网格点未知数 的联立常微分方程 (ODE) 系统。
优缺点#
优点:
- 概念简单,实现容易
- 在结构化网格 (structured grid) 中非常高效
- 易于实现高阶精度 (紧致格式、类谱格式)
- 正交网格下矩阵结构清晰 (带状矩阵)
缺点:
- 难以应用于非结构化网格 (unstructured grid) —— 这是致命弱点
- 对于复杂几何形状的网格生成非常困难
- 不会自动满足守恒定律
代表性应用领域#
- DNS/LES (基于正交网格的湍流模拟)
- 气象/海洋模型 (结构化网格)
- 地震波传播模拟
- 基于紧致格式的高精度计算
2. 有限要素法 (Finite Element Method, FEM)#
核心思想#
将解近似为 基函数 (basis function) 的线性组合, 并最小化 加权残差 (weighted residual)。
FEM 不直接求解微分方程。相反,它将其转换为称为 弱形式 (weak formulation) 的积分形式。
数学起点:弱形式 (Weak Form)#
在原始 PDE (强形式,strong form) 上乘以测试函数 并积分:
对扩散项应用分部积分 (integration by parts):
这就是 弱形式。请注意核心变化:
- 原本需要二阶导数,分部积分后 仅需一阶导数
- 放宽了对解的连续性要求 ()
- 边界条件自然地包含在内 (Neumann BC = 右侧项)
伽辽金近似 (Galerkin Approximation)#
将解表示为基函数 的线性组合:
在伽辽金方法中,测试函数和基函数取自同一空间 ():
矩阵形式:
- : 质量矩阵 (mass matrix)
- : 刚度矩阵 (stiffness matrix)
- : 边界/源项向量
基函数的选择#
最常用的是基于 拉格朗日多项式 (Lagrange polynomial) 的单元:
| 单元 | 阶数 | 节点数 (2D 三角形) | 特点 |
|---|---|---|---|
| P1 (Linear) | 1阶 | 3 | 最基础,成本低 |
| P2 (Quadratic) | 2阶 | 6 | 可表示曲面形状 |
| P3 (Cubic) | 3阶 | 10 | 高精度,成本增加 |
优缺点#
优点:
- 天然适合非结构化网格 —— 使用三角形/四面体网格处理复杂形状
- 可以进行数学上严密的误差估计 (先验/后验误差估计)
- 与自适应网格加密 (adaptive mesh refinement) 结合良好
- 可以灵活选择 p-refinement (提高多项式阶数) 和 h-refinement (细化网格)
缺点:
- 不会直接满足守恒定律 (标准伽辽金法)
- 在平流主导问题中不稳定 (震荡) —— 需要 SUPG、GLS 等稳定化技术
- 需要求质量矩阵的逆 (或使用质量集中 mass lumping)
- 实现复杂度高于 FDM/FVM
代表性应用领域#
- 固体力学 / 结构分析 (FEM 的原始领地)
- 电磁场分析
- 热传递
- 生物力学
- 岩土/地质力学
3. 有限体积法 (Finite Volume Method, FVM)#
核心思想#
对 控制体 (control volume) 积分守恒定律, 并平衡通过体积边界的 通量 (flux)。
FVM 最直接地反映了物理守恒定律。
数学起点:积分型守恒定律#
将平流-扩散方程写成积分形式:
对于控制体 :
其中 是单元平均值, 是单元边界处的 数值通量。
数值通量的确定#
FVM 的核心在于如何计算单元边界通量:
平流项 —— 基于黎曼求解器 (Riemann solver) 或上风格式:
扩散项 —— 中心差分:
重构 (Reconstruction)#
仅靠单元平均值只有一阶精度。为了获得高阶精度, 必须对单元内部的分布进行 重构 (reconstruction):
MUSCL (2阶):
其中 是斜率限制器 (slope limiter), 是连续梯度的比例。
WENO (5阶):
通过对三个二阶多项式候选者进行非线性加权平均来实现五阶精度:
根据光滑度指示器 确定权重 ,在不连续附近自动给光滑的模板分配权重。
优缺点#
优点:
- 在离散水平上精确满足守恒定律 —— CFD 中的决定性优点
- 擅长捕捉激波和不连续面
- 可应用于非结构化网格
- 基于通量的思维直接对应物理直觉
缺点:
- 实现高阶精度比 FEM 困难 (重构变得复杂)
- 在扩散方程中可能比 FEM 效率低
- 在非结构化网格上实现高阶重构非常棘手
代表性应用领域#
- 整个 CFD 领域 (OpenFOAM, ANSYS Fluent, SU2)
- 可压缩/不可压缩流动
- 多相流、燃烧、反应流
- 气象/气候模型动力框架的一部分
核心对比#
数学起点#
| 技术 | 起点 | 核心工具 |
|---|---|---|
| FDM | 强形式 (Strong form) PDE | 泰勒展开 |
| FEM | 弱形式 (Weak form) | 基函数 + 加权残差 |
| FVM | 积分型守恒定律 | 控制体 + 数值通量 |
离散化“什么”#
这是最本质的区别:
- FDM: 离散化微分算子 ()
- FEM: 离散化解空间 (solution space)
- FVM: 离散化积分方程中的通量
未知数的位置#
- FDM: 网格点 (node) 处的点值 (point value)
- FEM: 节点 (node) 处的点值 (基函数的系数)
- FVM: 单元 (cell) 的平均值 (cell average)
综合对比#
| 项目 | FDM | FEM | FVM |
|---|---|---|---|
| 实现难度 | 低 | 高 | 中 |
| 非结构化网格 | 困难 | 天然适合 | 可能 |
| 守恒性 | X | X (标准) | O |
| 复杂几何 | 困难 | 优秀 | 可能 |
| 高阶精度 | 容易 | 容易 (p-ref) | 可能 (WENO) |
| 激波捕捉 | 可能 | 困难 | 优秀 |
| 数学理论 | 一般 | 优秀 | 一般 |
| 平流主导问题 | 一般 | 需要稳定化 | 优秀 |
边界模糊的现代技术#
近年来,结合三种技术优点的混合方法正受到活跃研究:
不连续伽辽金法 (Discontinuous Galerkin, DG)#
结合了 FEM 的基函数 + FVM 的通量概念。 在每个单元内部用多项式近似解 (FEM), 在单元边界用黎曼求解器计算通量 (FVM)。
同时满足 守恒性 + 高阶精度 + 非结构化网格。 但计算成本高,且在激波附近需要限制器 (limiter)。
谱差分 (Spectral Difference) / 通量重构 (Flux Reconstruction)#
与 DG 类似,但以微分形式求解而不进行积分,从而提高了效率。 与 GPU 加速结合良好,在下一代 CFD 求解器中备受关注。
无网格方法 (SPH 等)#
彻底取消网格的方法。基于粒子 (particle) 进行近似。 在自由表面流动、大变形问题上有优势,但存在精度/一致性问题。
结论:该如何选择?#
没有万能的技术。问题的性质决定了选择:
- 结构分析、热传递、电磁学: FEM
- 可压缩流动、激波、多相流: FVM
- DNS、结构化网格高精度计算: FDM
- 同时追求高阶精度 + 守恒性: DG (FEM + FVM 混合)
核心在于理解每种技术的 数学起点和局限性。 只有这样,才能针对问题选择合适的工具,并正确解释结果。
切换下拉菜单 FDM/FEM/FVM,立刻看到同一网格上自由度布置的差异。
같은 격자 위에 세 방법이 어떤 자유도(노드/셀/요소)를 가지는지 비교 — 보존성과 정확도 차이의 출발점.
如果对您有帮助,请分享。