网格细化比与GCI收敛验证方法

分类: V&V・メッシュ収束 | 综合版 2026-04-12
Mesh convergence study diagram showing three mesh levels with GCI error bands and Richardson extrapolation
メッシュ細密化比 r と GCI による離散化誤差バンドの概念図

理论与物理

概述 — 什么是网格收敛性验证

🧑‍🎓

老师,网格收敛性验证需要比较几个级别的网格呢? 有人说“要试三个”,为什么两个不行呢?

🎓

最少需要三个级别。只比较两个网格的话,只能得出“结果相近所以没问题”的结论。如果有三个,就能估计收敛速度(阶数 p),并通过外推来预测网格尺寸趋于零时的极限解。这就是Richardson外推法,而量化其误差带的就是GCI(网格收敛指数)

🧑‍🎓

原来如此,两个点只能画直线,但有了三个点就能看出曲线的弯曲趋势,是这样吧。

🎓

正是如此。ASME V&V 20(计算流体力学与固体力学的验证与确认指南)也将这种三网格法规定为标准流程。在论文或项目报告中要声明“无网格依赖性”,出示GCI数值已成为国际通用的做法。

网格收敛性验证是定量评估离散化误差、保证解可靠性的V&V流程的核心。其要点可归纳为以下三点。

  • 细化比 r — 粗网格与细网格的代表尺寸之比。$r \geq 1.3$(推荐 $r = \sqrt{2} \approx 1.41$)
  • Richardson外推法 — 基于三个及以上网格的结果,外推网格尺寸趋于零时的极限解
  • GCI — 将离散化不确定性量化为95%置信区间

网格细化比 r 的定义

🧑‍🎓

细化比就是网格细化“倍率”吧? 如果 $r = 2$,就能把单元尺寸减半,看起来很简单。

🎓

对于结构网格,$r = 2$ 确实简单,但单元数在3D情况下会变成8倍。计算成本会爆炸式增长。因此ASME V&V 20推荐使用 $r = \sqrt{2} \approx 1.41$。这样单元数只需增加约2.8倍。反之,如果 $r < 1.3$,网格间的差异太小,会被舍入误差淹没,导致观测阶数 $p$ 的估计不稳定。

网格细化比的定义如下。

$$ r = \frac{h_{\text{coarse}}}{h_{\text{fine}}} $$

此处 $h$ 是代表网格尺寸。为确保始终有 $r > 1$,分子取粗网格,分母取细网格。

r 的推荐范围与依据
$r$ 的值3D单元数增加率判定
$r = 2.0$$\times 8$理想但计算成本高
$r = \sqrt{2} \approx 1.41$$\times 2.8$ASME V&V 20推荐
$r = 1.3$$\times 2.2$最低要求
$r < 1.3$不推荐($p$估计不稳定)

非结构网格的代表尺寸

🧑‍🎓

结构网格的单元尺寸均匀,所以 $h$ 很明确,但像四面体网格这样的非结构网格,$h$ 该如何定义呢?

🎓

最标准的方法是从所有单元体积的平均值反算等效长度。$d$ 是空间维数,2D用面积,3D用体积。

$$ h = \left( \frac{1}{N} \sum_{i=1}^{N} V_i \right)^{1/d} $$

$N$ 是单元数,$V_i$ 是各单元的体积(2D情况下为面积),$d$ 是空间维数(2 或 3)。通过此定义,即使是非结构网格也能获得标量形式的代表尺寸。

🧑‍🎓

那么对于非结构网格,细化比 $r$ 可以从单元数的比例计算出来吗?

🎓

是的。如果是各向同性细化,单元数比与 $r$ 的关系如下。

$$ r = \left( \frac{N_{\text{fine}}}{N_{\text{coarse}}} \right)^{1/d} $$

例如,一个3D模型中 $N_{\text{fine}} = 800{,}000$,$N_{\text{coarse}} = 200{,}000$,则 $r = (800{,}000 / 200{,}000)^{1/3} = 4^{1/3} \approx 1.587$,这确保了足够的细化比。

Richardson外推法

🧑‍🎓

Richardson外推法,简单说就是预测“网格无限细化时答案是多少”的方法吧?具体是怎么计算的呢?

🎓

离散化解 $f_h$ 相对于真解 $f_{\text{exact}}$ 可以用以下Taylor展开表示。

$$ f_h = f_{\text{exact}} + g_p \, h^p + g_{p+1} \, h^{p+1} + \cdots $$

这里 $p$ 是离散化格式的理论阶数,$g_p$ 是未知系数。忽略高阶项后,可以从三个网格($h_1 < h_2 < h_3$, $f_1, f_2, f_3$)得到外推值。

$$ f_{\text{exact}} \approx f_1 + \frac{f_1 - f_2}{r_{21}^{\hat{p}} - 1} $$

这里 $r_{21} = h_2 / h_1$,$\hat{p}$ 是从三个解估计出的观测阶数(后述)。

🧑‍🎓

也就是说,对最细网格的结果 $f_1$ 进行进一步修正,使其更接近真解,对吧。

🎓

没错。但由于截断了高阶项,外推值只是一个“估计”,并非真值。正因如此,才需要用GCI来量化其不确定性。

观测阶数 p 的计算

当细化比为等比($r_{21} = r_{32} = r$)时,观测阶数 $\hat{p}$ 可直接用下式计算。

$$ \hat{p} = \frac{\ln \left| \dfrac{f_3 - f_2}{f_2 - f_1} \right|}{\ln(r)} $$

$f_1$: 细网格的解,$f_2$: 中网格的解,$f_3$: 粗网格的解。如果 $\hat{p}$ 接近理论阶数 $p_{\text{formal}}$(例如:二阶单元为2),则可以判断解已进入渐近范围。

🧑‍🎓

如果 $r_{21} \neq r_{32}$(不是等比)怎么办? 实际工作中,由于网格划分的限制,很难做到完全等比吧?

🎓

问得好。这种情况下无法显式求解,需要通过迭代法(如定点迭代或牛顿法)求解以下非线性方程。

$$ \hat{p} = \frac{1}{\ln(r_{21})} \left| \ln \left| \frac{\varepsilon_{32}}{\varepsilon_{21}} \right| + \ln \left( \frac{r_{21}^{\hat{p}} - s}{r_{32}^{\hat{p}} - s} \right) \right| $$

这里 $\varepsilon_{32} = f_3 - f_2$,$\varepsilon_{21} = f_2 - f_1$,$s = \text{sign}(\varepsilon_{32}/\varepsilon_{21})$。通常迭代10次以内即可收敛。

GCI(网格收敛指数)

🧑‍🎓

看GCI的公式里有个安全系数 $F_s$,这是什么意思?

🎓

$F_s$ 是为了提高置信度的“保险系数”。Roache的原始论文中,对于两网格法推荐 $F_s = 3$(保守),对于三网格法推荐 $F_s = 1.25$。因为三网格法已经用观测阶数 $\hat{p}$ 验证了外推精度的一致性,所以可以减小安全系数。

细网格侧的GCI($\text{GCI}_{21}^{\text{fine}}$)定义如下。

$$ \text{GCI}_{21}^{\text{fine}} = \frac{F_s \left| \varepsilon \right|}{r_{21}^{\hat{p}} - 1} $$

这里 $\varepsilon$ 是相对误差。

$$ \varepsilon = \frac{f_2 - f_1}{f_1} $$
方法安全系数 $F_s$含义
两网格法3.0因 $\hat{p}$ 未知,故保守
三网格法1.25$\hat{p}$ 已估计,相当于95%置信区间
🧑‍🎓

我想看个具体例子。比如三个网格的最大应力分别是 248.3 MPa、251.6 MPa、260.1 MPa,该怎么算?

🎓

设 $f_1 = 248.3$(细),$f_2 = 251.6$(中),$f_3 = 260.1$(粗),$r = \sqrt{2}$。

$\varepsilon_{21} = 251.6 - 248.3 = 3.3$,$\varepsilon_{32} = 260.1 - 251.6 = 8.5$

$\hat{p} = \ln(8.5/3.3) / \ln(\sqrt{2}) = \ln(2.576)/0.3466 \approx 2.73$

$\varepsilon = (251.6 - 248.3)/248.3 = 0.01329$

$\text{GCI}_{21}^{\text{fine}} = 1.25 \times 0.01329 / (1.414^{2.73} - 1) = 0.01661 / 1.634 \approx 0.0102 = 1.02\%$

也就是说,对于细网格的结果 248.3 MPa,可以报告其存在 $\pm 1.0\%$ 的离散化不确定性。

渐近范围检查

是否进入渐近范围,可通过以下指标确认。

$$ \text{AR} = \frac{\text{GCI}_{32}}{r^{\hat{p}} \cdot \text{GCI}_{21}} \approx 1 $$

如果该值接近1(参考范围:$0.95 \leq \text{AR} \leq 1.05$),则解处于渐近范围内,GCI和Richardson外推法的可靠性高。若大幅偏离1,则可能网格还不够细,或者模型中包含奇异点。

🧑‍🎓

如果没有进入渐近范围该怎么办?

🎓

有三个选择。(1) 添加更细的网格重新计算,(2) 将评估点远离奇异点(例如:使用截面平均应力而非应力集中点应力),(3) 使用更高阶的单元以更快进入渐近范围。在实际工作中,(2) 通常是性价比最高的。

数值解法与实现

三网格法的步骤

基于ASME V&V 20的三网格法标准步骤如下。

  1. 生成三个级别的网格: 以细化比 $r \geq 1.3$(推荐 $\sqrt{2}$)生成粗、中、细三个级别。保持网格拓扑结构一致
  2. 在相同条件下执行分析: 边界条件、材料、求解器设置完全统一
  3. 提取评估量: 记录关注的物理量(最大应力、平均温度、压力损失等)的值 $f_1, f_2, f_3$
  4. 计算代表网格尺寸 $h_1, h_2, h_3$: 结构网格用单元尺寸,非结构网格用前述体积平均法
  5. 计算观测阶数 $\hat{p}$
  6. 计算Richardson外推值 $f_{\text{ext}}$
  7. 计算 $\text{GCI}_{21}^{\text{fine}}$ 和 $\text{GCI}_{32}^{\text{coarse}}$
  8. 计算渐近范围检查 AR: 接近1则OK
🧑‍🎓

步骤我明白了。但“保持相同拓扑结构”这一点,对于非结构网格来说很难吧?

🎓

确实,对于非结构网格,很难做到严格意义上的拓扑一致。因此,“将全局网格尺寸统一乘以 $1/r$”是更现实的做法。局部细化应在三个级别中应用于相同的区域和相同的比例,统一网格生成的“配方”。

非均匀细化比的扩展

当 $r_{21} \neq r_{32}$ 时,观测阶数 $\hat{p}$ 需要通过迭代法求解前述非线性方程。在实际应用中,以下定点迭代法足以获得足够的精度。

$$ \hat{p}_{k+1} = \frac{1}{\ln(r_{21})} \left| \ln \left| \frac{\varepsilon_{32}}{\varepsilon_{21}} \right| + \ln \left( \frac{r_{21}^{\hat{p}_k} - s}{r_{32}^{\hat{p}_k} - s} \right) \right| $$

初始值 $\hat{p}_0$ 用等比情况下的公式计算,迭代至 $|\hat{p}_{k+1} - \hat{p}_k| < 10^{-6}$。

多个评估量的处理

🧑‍🎓

有可能出现最大应力的GCI是1%,但挠度的GCI是5%这样的情况吧?应该报告哪个结果呢?

🎓

全部报告才是正确答案。GCI是针对每个评估量独立计算的,不能说“整个模型的GCI是1%”。局部量(应力集中点的应力)和整体量(总反力、最大挠度)的收敛性完全不同。通常局部量的收敛更慢。最佳实践是至少评估三个与设计决策直接相关的量,并报告各自的GCI。

实践指南

网格收敛性验证的工作流程

步骤作业内容判定基准
1. 网格生成粗、中、细三个级别($r \geq 1.3$)$r$ 的确认、网格质量指标(纵横比 < 5等)
2. 分析执行相同边界条件、求解器设置下运行三个工况所有工况正常收敛
3. $\hat{p}$ 计算观测阶数的计算$0 < \hat{p} \leq p_{\text{formal}} + 1$
4. GCI计算$\text{GCI}_{21}^{\text{fine}}$ 的计算与设计裕度的整合性
5. AR 检查渐近范围的确认$0.95 \leq \text{AR} \leq 1.05$
6. 报告记录GCI值和网格信息第三方可复现的详细程度

常见错误与对策

🧑‍🎓

有前辈咨询说“做了网格收敛性验证,但GCI达到了50%”,可能是什么原因呢?

🎓

GCI过大的原因主要有以下三点。

  • 在奇异点处评估 — 应力集中点(缺口尖端、载荷点)的理论解会发散到无穷大,因此无论网格多细都不会收敛。对策:在远离奇异点的位置评估,或使用截面平均应力
  • 细化比太小 — 如果 $r < 1.1$,舍入误差和离散化误差难以区分。对策:确保 $r \geq 1.3$
  • 分析未收敛 — 非线性分析中,如果求解器的收敛判定过于宽松,各网格的解本身就不准确。对策:将残差设置得足够小
🧑‍🎓

奇异点的问题,在实际工作中非常重要啊。拐角处的应力是无穷大的,所以无论网格多细,值都会一直增大……

🎓

是的。CAE新手常犯的错误就是“用最大应力做收敛性验证”。特别是对于没有圆角的尖锐边缘模型,最大应力会随着网格细化单调递增,永不收敛。评估量的选择决定了网格收敛性验证的成败。

报告书的记载事项

报告网格收敛性验证结果时,必须包含以下信息。

  1. 各网格的单元数、代表尺寸 $h$
  2. 细化比 $r_{21}$, $r_{32}$
  3. 评估量(物理量名称、位置、方向)
  4. 各网格评估量的值 $f_1, f_2, f_3$
  5. 观测阶数 $\hat{p}$
  6. Richardson外推值 $f_{\text{ext}}$
  7. $\text{GCI}_{21}^{\text{fine}}$(百
関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

メッシュ収束シミュレーター

関連する分野

V&V構造解析流体解析熱解析
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
关于作者