本节摘要:一张 CFD 结果要过三级质检才算数:验证回答"方程解对了吗"(网格收敛性、代码基准测试),确认回答"方程建对了吗"(与实验基准比对),不确定性量化回答"误差有多宽"(数值误差 + 模型误差 + 输入误差的合成预算)。本章与全书的收口:知道数据的置信边界,是工程师与算图师的分水岭。
前面两节各造了一条数据生产线。这一节装质检站——没有质检的生产线,产得越多越危险。
验证的对象是数学问题:给定方程,数值解是否收敛到方程的真解。两条主路:
验证通过只说明"数学上没算错",不保证"物理上是对的"——方程本身可能就简化的过了头。接力棒交给确认。
确认的对象是物理问题:数值解与真实世界比,像不像。参照物按可信度排序:飞行试验 > 风洞试验(高雷诺数)> 风洞试验(常规雷诺数)> 其他高保真模拟。确认算例要选物理内容与本任务同类的基准——国际上积累的基准数据库里,圆柱绕流(层流卡门涡街、阻力危机)、后台阶分离、跨声速翼型压力分布是三张最常考的卷子。
确认读数要讲究方法:不是"算出来 0.62、实验 0.60,误差 3%,通过"这么草率,而是先分账——误差来自湍流模型、来自转捩位置、还是来自试验修正链?7 章讲的激波/边界层干扰区、5 章讲的分离区,正是 RANS 确认失败的重灾区。确认失败的根源分析比通过与否更有价值:它告诉你这个模型在什么流动上该打几折。
单点答案不如带误差棒的答案。不确定性分两类来源,处理方式不同:
工程化做法是"误差预算表":目标量(如巡航阻力系数)= 中心值 ± 数值项 ± 模型项 ± 输入项,各项独立估宽、按方和根合成。型号决策里的"阻力预留"(比如按 CFD 中心值加百分之五定发动机推力)就是预算表的行政化表达。给出置信边界的人才能签发数据——这是本节最想交付的职业习惯。
某翼型阻力计算,三套网格的 Cd 结果:粗网格 100 万单元 0.00832,中网格 800 万 0.00795,细网格 6400 万 0.00784:
Cd = [0.00832, 0.00795, 0.00784] err = abs(Cd[2] - Cd[1]) / Cd[2] * 100 print(f"中到细的变化率: {err:.2f}%") # 约 1.4%
中到细的变化约 1.4%——处于"勉强可接受"的边缘:若任务要求阻力精度优于 1%,还需再加密或改用外推。同时注意变化趋势单调收敛(8.32 → 7.95 → 7.84,步长递减),说明接近网格无关而非振荡未收敛。单调性 + 变化率 + 目标精度三件套齐了,数值项才能写进误差预算。
确认环节的公信力来自公共基准。国际上积累的验证与确认算例库里,常考的三张卷子在本教程里都见过底牌:层流圆柱绕流(雷诺数 40 到 1000 的阻力系数与斯特劳哈尔数,考非定常与涡街);后台阶分离(再附位置与 recovery 剖面,考分离流动的湍流模型);跨声速翼型压力分布(某个著名试验工况的 Cp 与抖振边界,考激波位置与激波/边界层干扰)。投稿级 CFD 论文的标配动作就是把新方法在这三张卷子上打分——你的求解器若连圆柱涡街都算不齐,后面的宣传一律免谈。这套"先考卷后应用"的秩序,是数值方法五十年来没有塌方的制度原因。
三条常用路:敏感性扫描——把湍流模型系数在标定区间内扰动,看目标量漂移宽度;多模型并行——同一工况跑两三个档次不同的湍流模型,结果带宽就是模型不确定性的经验估计;同类基准外推——用基准算例上"模型误差占目标量百分之几"的比例外推到本工况。三条路都贵在诚实:模型项的预算必须写进交付文档,而不是折进"工程系数"里偷偷消化。误差预算的价值不在数字多准,而在把"我们不知道什么"写清楚。
因为它是唯一没有"模型"的一环:真实雷诺数、真实大气、真实结构弹性、真实操纵品质一次性齐备。风洞补不齐的雷诺数、CFD 修不准的湍流,在飞行里都是"原生数据"。代价同样清楚:一架次试飞的成本顶得上数月风洞,且试飞点受安全包线限制。终审的价值不在数据多,而在校准整个预测体系——试飞发现的系统偏差会逐级回溯到风洞修正链与 CFD 模型,成为下一轮标定的输入。三级体系就这样咬合成一个自校准闭环:预测、裁决、修正、再预测。
全书到这儿合上最后一页流程:概念从流体性质一路筑到方法质检。愿你在下一次看到激波纹影、压力分布或极曲线时,认得出每一处形状背后的因果链条。