CAE 误差分类:结果诊断与可信度验证
把误差分成建模、离散、迭代、输入、实现五类并给出各自的量级区间与量化手段,重点给出条件数-残差容差换算公式、Richardson 外推与 GCI 计算,以及输入不确定度的合成方法,用于判断一次计算的总误差由谁主导。
CAE 误差分类:结果诊断与可信度验证
把误差分成"建模、离散、迭代、输入、实现"五类并不难,难的是给出每一类的量级区间和量化手段,否则分类只是标签。本文给出五类误差的典型百分比区间、把残差容差换算成解误差上界的公式、Richardson 外推与 GCI 的算法,以及输入不确定度的合成方法,用于判断一次计算的总误差由谁主导。
五类误差的量级区间
| 误差类别 | 典型量级 | 量化手段 | 主导时的症状 |
|---|---|---|---|
| 模型误差(闭合、本构、边界假设) | 5%~30%,湍流模型在分离区可达 50% | 与高保真解或实验对照,模型形式不确定度分析 | 网格加密与迭代收紧都不改善 |
| 离散误差(截断 + 网格) | 粗网格 1%~10%,收敛网格 0.1%~0.5% | Richardson 外推、GCI、观测阶 | 目标量随网格单调变化 |
| 迭代误差(代数未收敛) | 由残差容差决定,相对残差 | 残差与条件数换算 | 残差仍在下降,目标量随之漂移 |
| 输入误差(材料、边界、几何) | 材料 1%~5%,边界条件 2%~10% | 灵敏度系数 + 不确定度传播 | 多工况同向偏移 |
| 实现误差(代码、单位、符号) | 应为 0,未清除时可达 100% | 制造解、单元测试 | 结果与量级估算矛盾 |
关键判据:模型误差在 5%~30% 区间,而离散误差在收敛网格上通常低于 0.5%。因此当"加密到 2 mm 仍差 8%"时,误差几乎必然来自模型或输入,而不是离散——继续加密是错误方向。
迭代误差与残差容差的换算
残差只说明线性系统解得如何,不是解误差本身。二者的换算由条件数控制:
为矩阵条件数, 为第 步残差。一次可核对的手算:结构化网格上 ,若残差容差设为 ,则解误差上界为 ,即 1000%,完全不可用;要把解误差压到 (0.01%),需要 的相对残差。这就是不可压 CFD 的压强方程常要求 而不是默认 的原因。若预条件把 降到 ,同样 残差即可达到 解误差,迭代次数从数千次降到几十次。
离散误差的外推与 GCI
用两套网格(加密比 )和观测阶 可估计细网格上的离散误差:
为粗、细网格上的目标量。取 、、,则
以 为参考,相对离散误差为 。取安全因子 (三套网格),网格收敛指数
即细网格解的真实误差有 95% 把握落在 2.48% 以内。若工程容差是 1%,则当前网格不满足要求,必须再加密一级或改用更高阶格式。
输入误差的传播
当目标量 依赖多个不确定参数 (弹性模量、载荷、导热系数),其一阶传播为
手算:悬臂梁端部位移 ,弹性模量 (即 ),载荷 。以对数灵敏度表示,、,故相对标准差
若实测位移偏差是 4.0%,其中 3.6% 可由输入不确定度解释,剩下不到 2% 才可能归因于离散或模型误差——这就是"输入误差必须先扣掉再谈其他误差"的定量理由。
失败模式:现象、根因与判定试验
| 现象 | 根因 | 判定试验 |
|---|---|---|
| 残差降到 但目标量仍以 0.5%/千步漂移 | 条件数大,残差容差过松 | 用 反算解误差上界 |
| 网格加密目标量单调漂移超过 2% | 离散误差未进入渐近区 | 计算 ,检查是否接近理论阶 |
| 三套网格 为 0.3 或负值 | 非渐近区或多类误差混合 | 补第四套网格,把 缩到 1.5 |
| 与实验差 20% 且网格无关 | 模型误差主导(闭合或边界) | 换湍流模型或本构,做同网格对照 |
| 所有工况同向偏 5% | 输入系统偏差(单位、系数) | 核对单位换算与材料数据来源 |
| 同一算例两次运行结果不同 | 实现误差(并行归约顺序、随机种子) | 固定核数重跑并比较位模式 |
误差预算表
报告里应给出一行总误差而不是一句"结果可靠":
E_model = 12.0% # 由模型对照给出,区间 +/-6%
E_disc = 2.48% # GCI, Fs=1.25, p=1.13
E_iter = 0.01% # kappa=1e4, residual=1e-8
E_input = 3.60% # E 3% + F 2%, RSS
E_total = sqrt(12.0^2 + 2.48^2 + 0.01^2 + 3.60^2) = 12.8%
注意不能把 12.8% 与 12.0% 当作两个结论:模型误差主导时,提升网格精度或收紧残差容差对总误差的贡献小于 5%,资源应投入到模型验证上。反过来,若模型误差已压到 3%,则 立刻变成第二主导项,加密网格才开始有回报。
各误差项的隔离顺序
诊断时按"实现 → 迭代 → 离散 → 输入 → 模型"的顺序逐层剥离,因为前面的误差会污染后面的估计:实现误差(单位、符号)会让所有量级判断失效;迭代未收敛会让网格收敛研究失去意义;只有前两层受控后,Richardson 外推得到的 才是可信的离散误差。
参考文献:
- Roache, P. J., Verification and Validation in Computational Science and Engineering, Hermosa Publishers, 1998.
- Oberkampf, W. L., & Roy, C. J., Verification and Validation in Scientific Computing, Cambridge University Press, 2010.
- ASME, V&V 20-2009: Standard for Verification and Validation in Computational Fluid Dynamics and Heat Transfer, ASME, 2009.
- Coleman, H. W., & Stern, F., “Uncertainties and CFD code validation”, Journal of Fluids Engineering, 119(4), 795–803, 1997.
- AIAA, Guide for the Verification and Validation of Computational Fluid Dynamics Simulations, AIAA G-077-1998, 1998.
- Richardson, L. F., “The approximate arithmetical solution by finite differences of physical problems”, Philosophical Transactions of the Royal Society A, 210, 307–357, 1911.