很多人刚接触仿真时,会有一个很自然的误解:既然 FDM、FVM、FEM 都要把计算域离散成点、控制体或者单元,那它们对网格的要求应该差不多吧?
但真正做过结构、计算流体力学(CFD)、传热或者多相流之后,你会发现情况并不是这样。结构有限元工程师经常盯着 Jacobian、单元畸变、二阶单元、应力集中区域;CFD 工程师则反复强调 skewness、orthogonal quality、边界层、y+、网格增长率;而有限差分法最喜欢规则网格、结构化网格、清楚的上下左右邻居关系。
同样都叫“网格”,为什么关注点差这么多?答案其实不在软件习惯,而在三种方法的底层离散思路不同。
一句话概括:
FDM:在点上近似导数。
FVM:在控制体上保证守恒。
FEM:在单元内做插值和积分。
这三个入口不同,所以它们怕的“坏网格”也不是同一种坏。

有限差分法,英文叫 Finite Difference Method,简称 FDM。它的想法很直接:微分方程里不是有导数吗?那我就用相邻网格点上的数值差,去近似这个导数。
比如一维问题里,一阶导数可以写成:
du/dx ≈ (u_{i+1} - u_i) / Δx
二阶导数可以写成:
d²u/dx² ≈ (u_{i+1} - 2u_i + u_{i-1}) / Δx²
这里最关键的不是“单元”,也不是“控制体”,而是点和点之间的关系。对第 i 个点来说,左边是谁?右边是谁?上面是谁?下面是谁?网格间距是多少?差分格式要用哪几个点?这些点组合起来,就叫 stencil,也就是差分模板。

所以 FDM 最喜欢的网格是规则的、结构化的、坐标方向清楚的。比如一个矩形区域,横向等间距、纵向等间距,点的编号很规整。这样写差分公式非常方便,程序实现也清楚。
但如果几何变得很复杂,边界弯弯曲曲,孔洞很多,局部还有细小结构,FDM 就会开始别扭。不是说它完全不能做复杂几何,而是它天然更依赖规则点阵。复杂边界会让差分模板变得难处理,边界条件也更麻烦。
所以 FDM 对网格的典型要求可以这样理解:
网格点排列要规整,邻居关系要清楚,否则差分公式不好写。
在经典规则网格 FDM 里,主要麻烦通常不是像 FEM 那样检查单元 Jacobian,也不是像 FVM 那样检查控制体面通量,而是点和点之间的几何关系破坏了差分模板的简单性。
有限体积法,英文叫 Finite Volume Method,简称 FVM。它的出发点和 FDM 不一样。FDM 直接近似微分方程里的导数;FVM 更关心守恒。
以流体为例,质量、动量、能量都不能凭空消失。FVM 会把计算区域划成一个个控制体,然后对每个控制体写守恒方程。你可以把一个网格单元想象成一个小盒子。这个小盒子里面的量怎么变化?取决于:
从各个面流进来多少
从各个面流出去多少
内部产生或消耗多少
所以在 FVM 里,网格面非常重要。因为通量是从面上算的。

速度穿过哪个面?压力梯度怎么投影?热量从哪个方向传递?对流项、扩散项怎么离散?这些都和单元面的位置、方向、面积、法向量有关。因为 FVM 最终要把梯度、对流量和扩散量都落到控制体的各个面上,所以面的位置、法向、中心连线和插值路径一旦偏得太多,通量离散就会先出问题。
这也解释了为什么 CFD 里特别在意几个指标:
如果相邻单元中心连线和面法向偏离得很厉害,扩散通量就不再容易沿着正确方向计算,非正交修正会变大。如果网格太偏斜,面通量插值会更容易引入误差。如果边界层网格不够,壁面剪切、阻力、换热系数和近壁速度梯度就可能不可信。
所以 FVM 的网格要求,核心不是“这个单元像不像标准单元”,而是:
这个控制体能不能可靠地计算穿过各个面的通量。
这就是为什么做 Fluent、CFX、OpenFOAM 这类 CFD 时,工程师会特别关注面质量、正交性、边界层和 y+。对 FVM 来说,坏网格的危险在于:守恒方程虽然还写在那里,但通量计算的几何基础变差了。
有限元法,英文叫 Finite Element Method,简称 FEM。它和前两者又不一样。FEM 的网格单元不只是一个“空间小块”,它还承载着形函数。
简单说,FEM 会在单元节点上放未知量,然后用形函数去描述单元内部的场变量怎么变化。比如结构里,节点上有位移,自由度通过形函数插值到单元内部;然后由位移导数得到应变,再由材料关系得到应力。
这条链条大概是:
节点自由度
→ 形函数插值
→ 单元内部位移场
→ 位移导数
→ 应变
→ 应力
→ 单元刚度 / 内力
→ 组装整体方程
这里有一个关键问题:真实工程里的单元可能是扭曲的四边形、三角形、六面体、四面体,不可能每个都长得规规矩矩。为了方便计算,有限元通常会先在一个标准单元上定义形函数和积分点,再通过坐标映射把标准单元变成真实单元。
也就是:
标准单元
→ 坐标映射
→ 真实单元
这个映射质量就非常关键。Jacobian 描述的就是标准坐标到真实坐标之间的局部映射关系。它告诉求解器:标准单元里一个很小的变化,到了真实单元里变成了多大的长度、面积或体积变化,方向有没有翻转,局部是否接近退化。工程软件里常看的 Jacobian 行列式、Jacobian ratio 或相关质量指标,本质上也都在检查这个映射是否可靠。
如果一个单元被拉得太扁、扭得太厉害,甚至局部翻转,那么映射就会出问题。映射一差,后面很多东西都会受影响:
所以 FEM 对坏网格的敏感点,不只是“单元不好看”。更准确地说:
有限元怕坏网格,是因为坏网格破坏了标准单元到真实单元的映射。
映射一差,导数、积分和矩阵组装都会受影响。
这也是为什么结构仿真里,经常会关注 Jacobian、单元畸变、单元阶次、积分点、接触区域网格和应力集中区域加密。FEM 的核心不是守恒通量,而是:在单元内部用形函数近似连续场,并把每个单元的贡献组装成整体方程。所以它对网格质量的要求,自然会围绕形函数、映射和积分展开。
讲到这里,三种方法看起来差异很大。但它们的共同点也很重要。真实世界里的温度、压力、速度、位移都是连续变化的。计算机不可能真的保存无限多个位置的值,所以必须离散化。
三种方法都在做同一件事:
连续场问题
→ 离散成有限数量的未知量
→ 建立代数方程组
→ 用计算机求解
差别只是入口不同:
FDM 从导数近似入手。
FVM 从控制体守恒入手。
FEM 从弱形式、形函数和单元插值入手。
所以它们都需要网格,也都需要验证网格是否足够合理。网格太粗,物理梯度会被抹平;网格太差,数值误差会被放大;网格没有放在关键区域,结果看起来可能很漂亮,但工程意义不一定可靠。
这就是为什么无论用 FDM、FVM 还是 FEM,都不能只说“我网格数量很多”。更专业的做法是问:

结构里可以看位移、反力、应力路径、固有频率。CFD 里可以看压降、流量、升阻力、平均换热系数、壁面剪切。涂布、多相流或自由液面问题里,可以看膜厚、界面位置、接触线位置、气泡或液桥稳定性。
方法不同,但网格验证的思想是相通的。
如果要把 FDM、FVM、FEM 对网格的不同要求压缩成三句话,可以这样记:
FDM:点要排得清楚。
因为它用相邻点的差分近似导数。
FVM:面要算得可靠。
因为它用控制体表面的通量保证守恒。
FEM:单元映射要稳定。
因为它用形函数、积分和组装近似连续场。
所以,同样是“坏网格”,三种方法看到的风险并不一样。对 FDM 来说,坏可能意味着邻居关系和差分模板难以定义;对 FVM 来说,坏可能意味着面通量、正交性和插值误差变差;对 FEM 来说,坏可能意味着单元映射、Jacobian、导数换算和积分精度出问题。
这就是为什么结构有限元工程师、CFD 工程师和数值方法教材里的网格语言听起来不一样。他们不是在互相矛盾,而是在服务不同的离散逻辑。
真正理解这一点之后,再看软件里的网格质量指标,就不会只把它们当成一堆颜色和数字。你会知道:
网格要求不是软件习惯,
而是离散方法底层数学决定的。
COMSOL Documentation, The Finite Element Method and Shape Functions. 支撑有限元中形函数、有限元空间和单元插值的基本概念。
https://doc.comsol.com/5.5/doc/com.comsol.help.comsol/comsol_ref_xmesh.26.3.html
COMSOL Documentation, Mesh Element Quality. 支撑网格质量、低质量单元、Jacobian 相关质量判断与收敛风险。
https://doc.comsol.com/6.4/doc/com.comsol.help.comsol/comsol_ref_mesh.24.24.html
Ansys Fluent User's Guide, Mesh Quality. 支撑 CFD 网格质量中 skewness、orthogonal quality 等指标的重要性。
https://www.afs.enea.it/project/neptunius/docs/fluent/html/ug/node167.htm
Long Chen, UC Irvine, Finite Volume Methods. 支撑 FVM 中控制体、守恒形式和通量离散的基本解释。
https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1784105150768_cqqkfh.jpg
University of Colorado Boulder, Introduction to Finite Differences. 支撑 FDM 中用差分格式和 stencil 近似导数的基本思路。
https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1784105129508_4k6qsc.pdf