3. 数值校验的核心指标与误差度量

守恒定律的数值校验,本质上是在回答一个问题:数值解在多大程度上偏离了它本应严格保持的守恒关系。要回答这个问题,不能只凭“看起来差不多”,而需要一组定义清晰、量纲明确、可横向比较的误差指标。本节围绕绝对误差、相对误差、L1/L2/L∞ 范数、守恒量漂移率与收敛阶展开,并给出指标选取与工程阈值的设定思路。

一、从单点误差到全场误差

设数值解为 u_h,参考解(解析解或高精度解)为 u_ref,在第 i 个离散点上的误差定义为 e_i = u_h,i − u_ref,i。注意符号约定:本节统一采用“数值解减参考解”,因此正误差表示数值解偏大。绝对误差 |e_i| 保留物理量纲,适合判断某一点是否超出允许偏差;相对误差 |e_i| / |u_ref,i| 无量纲,适合跨量级比较,但当参考值接近零时会急剧放大甚至失去意义,此时应改用绝对误差或引入分母保护 max(|u_ref,i|, ε)。

单点误差无法刻画整体精度,于是引入范数。对 N 个离散点:

L1  = (1/N) · Σ |e_i|            平均绝对误差,反映整体偏差水平
L2  = sqrt( (1/N) · Σ e_i² )     均方根误差,对大误差更敏感
L∞  = max |e_i|                  最大误差,反映最坏点

三者的工程含义不同:L1 平滑,适合评估平均精度;L2 会放大个别大偏差,常用于优化目标与稳定性评估;L∞ 直接对应“最坏情况”,是安全校核与阈值判定的首选。实际校验中建议三者同时输出,若 L∞ 远大于 L1,说明误差集中在局部(如激波面、边界层、源项附近),应回到网格与格式层面排查,而不是简单加密全局网格。

二、守恒量漂移率:守恒校验的主指标

守恒定律校验关注的不是逐点误差,而是守恒总量的时间演化。设守恒量 Q(t) = ∫ u dΩ,数值离散后为 Q_h(t) = Σ u_i V_i。定义相对漂移率:

δ(t) = |Q_h(t) − Q_h(0)| / |Q_h(0)|

若存在外部通量,则应扣除边界通量的累积贡献后再计算,否则会把物理输运误判为守恒破坏。工程上常同时记录漂移率的瞬时值与时间累积值,并关注其增长趋势:一个合格格式的漂移率应随步数近似线性缓慢增长(舍入误差累积),若出现阶跃式跳变,往往意味着边界处理、限制器或源项离散存在缺陷。

守恒量漂移率与收敛阶的判读逻辑 δ(t) 随时间演化 时间步 n δ 阈值 δ_max 合格:缓慢线性累积 异常:阶跃跳变 超限:需排查 log(L∞) 对 log(h) 的斜率 log(h) log(L∞) 斜率 ≈ p(收敛阶) p = log(e₁/e₂) / log(h₁/h₂) 三点拟合可检验渐近性

三、收敛阶的计算与验证

收敛阶是判断离散格式是否按理论精度工作的关键。设网格尺度为 h,误差为 E(h),若 E(h) ≈ C·h^p,则用两组网格可得:

p = log( E(h₁) / E(h₂) ) / log( h₁ / h₂ )

例如取 h₁ = 0.1、h₂ = 0.05,测得 L∞ 误差分别为 3.2e-3 与 8.1e-4,则 p = log(3.95)/log(2) ≈ 1.98,与二阶格式的理论值 2 吻合。工程上建议用三组网格做最小二乘拟合,并检查相邻两点算出的 p 是否稳定;若 p 明显低于理论值,常见原因是边界处理降阶、限制器在光滑区被激活、或参考解本身精度不足。需要强调:收敛阶必须用同一范数、同一参考解、同一输出时刻计算,否则比较无效。

四、指标选取原则与工程阈值

指标选取应遵循“与校验目标对齐”的原则:验证格式精度用 L2 与收敛阶;验证守恒性用漂移率 δ;安全校核与最坏情况评估用 L∞;跨量级、跨算例比较用相对误差。阈值设定没有普适数值,应结合物理量级、容许偏差与计算成本确定。下表给出一组示例性参考(属于合理假设,非实测结论):

指标典型用途示例阈值超限时的常见原因
相对误差(单点)关键监测点校核≤ 1e-3局部网格不足、边界条件不一致
L2 范数整体精度评估≤ 1e-4格式精度不足、参考解误差偏大
L∞ 范数最坏点安全校核≤ 1e-2激波/间断处振荡、限制器失效
漂移率 δ守恒性验证≤ 1e-6(每千步)边界通量未扣除、源项离散不守恒
收敛阶 p格式正确性验证≥ 理论值 − 0.3边界降阶、参考解精度不足
阈值应写成“指标 + 范数 + 时刻 + 网格”的完整判据,例如“t = 2.0 s、h = 0.05 时 L∞ ≤ 1e-2”,避免只写一个孤立数字导致复现困难。
相对误差在参考值接近零处不可靠;漂移率在存在真实边界通量时若不扣除通量贡献,会把物理输运误判为守恒破坏。这两点是守恒校验中最常见的误判来源。

实践中建议把上述指标固化为一次校验的输出清单:同一算例至少输出 L1、L2、L∞、δ 与 p 五项,并附上网格、时间步、参考解来源与输出时刻。这样既能让单次校验结论可追溯,也能让不同算例之间的精度对比建立在同一口径之上。