ASME V&V规范 — 计算仿真的验证·有效性确认
V&V的基本概念
Verification与Validation的区别
V&V是Verification and Validation的简称对吧?ASME规范里写了什么?
是的,V&V是计算仿真\"品质保证\"的根基,但这两个过程实际上完全不同。
- Verification(验证) —「是否在正确求解方程?」
- Validation(有效性确认) —「是否在求解正确的方程?」
用著名的表述来说,Verification是\"solving the equations right\",Validation是\"solving the right equations\"。
所以Verification就是bug检查?
包括bug检查,但范围更广。Verification分为两个部分:
- Code Verification(代码验证) — 检查求解器源代码是否有bug,数学算法是否被正确实现。通过与解析严密解(Method of Manufactured Solutions等)对比来确认
- Solution Verification(解的验证) — 检查特定问题的数值解是否充分收敛。定量评估网格密度·时间步长·迭代收敛的影响
例如,使用Abaqus进行结构分析时,检查Abaqus代码本身是否正确是Code Verification,确认你创建的模型网格是否足够细是Solution Verification。
那Validation呢?
Validation是\"计算模型是否能正确再现现实\"的流程,通过与实验数据对比来确认。例如:
- 碰撞仿真的变形量是否与实车试验相符
- CFD预测的压力损失是否与风洞试验计测值一致
- 结构分析的固有振动数是否与锤击试验结果一致
这里的关键是,Validation之前必须完成Verification。数值误差大的解与实验对比毫无意义。
V&V的层级结构
V&V做一次就完成了吗?
不是,V&V有分层结构。ASME V&V 10定义了以下4个阶段:
- Code Verification — 求解器代码的数学准确性
- Solution Verification — 单个问题的数值误差评估
- Model Validation — 与实验数据对比的有效性确认
- Predictive Capability Assessment — 对无实验数据条件的预测信心度评估
层级越往下越难。最后的\"预测能力评估\"是判断对未经测试条件的仿真结果能信任到什么程度,需要不确定性定量化(UQ: Uncertainty Quantification)。
ASME V&V规范体系全景
V&V 10 — 计算固体力学的V&V
ASME V&V规范有多少种?
主要有3种:
| 规范编号 | 适用领域 | 初版 / 修订 |
|---|---|---|
| V&V 10 | 计算固体力学(Computational Solid Mechanics) | 2006 / 2019修订 |
| V&V 20 | CFD·热传导(Fluid Dynamics & Heat Transfer) | 2009 |
| V&V 40 | 医疗器械的Computational Modeling | 2018 |
V&V 10是最基础的吗?
是的。V&V 10-2006是计算力学领域首次系统化V&V流程的标准规范。2019年修订版(V&V 10-2019)更加强调不确定性定量化(UQ),增强了概率论方法。主要内容包括:
- V&V的定义与术语统一
- Code Verification手法(MMS: Method of Manufactured Solutions)
- Solution Verification手法(Richardson外推、GCI)
- Validation实验的计划与要求
- Validation Metrics的定义
- 不确定性分类(aleatory / epistemic)与传播方法
V&V 20 — CFD·热传导的V&V
V&V 20是CFD版本对吧?与结构分析有什么不同?
V&V 20-2009针对CFD和热传导。与结构分析相比,CFD有以下难点:
- 湍流模型的选择 — RANS、LES、DNS结果差异很大。模型形式误差(model form error)占主导
- 非线性性 — Navier-Stokes方程本质上非线性,网格收敛比结构分析更缓慢
- 数值扩散 — 对流项的离散化方案对结果影响很大
V&V 20最大的贡献是提出了分离数值误差与物理模型误差的方法论。将Validation比较误差 $E$ 分解为:
其中 $S$ 是计算值,$D$ 是实验值。这个 $E$ 中的误差可以分类为:
$u_{\text{num}}$ 是数值误差,$u_{\text{input}}$ 是输入参数不确定性,$u_{\text{exp}}$ 是实验不确定性。
实验也有不确定性啊。不是只有计算的问题。
完全正确。传感器精度、试样偏差、环境条件波动——这些都需要定量化。现实中很多\"计算与实验不符\"的报告,其实是忽视了实验侧的不确定性。
Verification — 代码与解的验证
Code Verification
Code Verification的具体做法是什么?商用求解器也需要吗?
Code Verification的标准方法是MMS(Method of Manufactured Solutions)。步骤是这样的:
- \"制造\"一个解析解 $u_{\text{exact}}(x,t)$(即使物理上无意义)
- 将该解代入控制方程,反推所需的源项 $f(x,t)$
- 将源项输入求解器进行计算,测量与 $u_{\text{exact}}$ 的误差
- 系统地细化网格,确认误差收敛次数与理论值(如2阶精度为 $O(h^2)$)是否一致
对于商用求解器,求解器开发商应该已完成Code Verification——但不一定所有功能·要素类型都验证过了。使用新要素或材料模型时要特别小心。
所以\"制造的解\"是关键?
对。即使物理上无意义,但数学上正确的解,可以确实检测代码中的bug。实际上,著名CFD代码(FUN3D、OpenFOAM等)都通过MMS验证发现过bug。
Solution Verification
Solution Verification就是网格收敛确认对吧?
是的,但\"网格细化结果不再变化就OK\"这种定性判断不够。ASME V&V规范要求定量的误差估计。基础是Richardson外推。用3个网格尺寸 $h_1 > h_2 > h_3$ 计算,求观察到的收敛次数 $\hat{p}$:
其中 $r = h_3/h_2 = h_2/h_1$(一定的细分比),$f_i$ 是各网格下的关注量。然后用这个 $\hat{p}$ 来计算GCI。
GCI(网格收敛指数)
GCI是什么
GCI是什么?论文里经常看到。
GCI(Grid Convergence Index)是Roache在1994年提出的网格依赖性定量指标,ASME V&V 20也正式推荐。CFD和结构分析论文投稿时展示网格独立性的标准方法。
计算公式是:
其中:
- $F_s$ = 安全系数(3网格时为1.25,2网格时为3.0)
- $\varepsilon = (f_2 - f_1) / f_1$ — 粗网格与细网格的相对误差
- $r$ = 网格细分比(通常1.3~2.0)
- $\hat{p}$ = 观察到的收敛次数
比如GCI = 2%是什么意思?
\"当前使用的网格的解,相对于理论的无穷细网格的解,在95%置信区间内精度约为2%\"的意思。GCI越小,网格独立性越高。
实务中的参考值:
- GCI < 1% — 网格充分收敛(学术论文水平)
- GCI 1~5% — 工程上多可接受
- GCI > 5% — 应进一步细化网格
渐近一致性确认
只计算GCI就可以了?
还要再确认一点。用3个网格时,要检查\"渐近一致比(Asymptotic Range)\":
这个值接近1说明解已进入渐近范围,Richardson外推可信。偏离1太远可能说明网格还太粗,或有奇点等问题。
Validation — 有效性确认
Validation实验的要求
Validation用的实验与普通实验有区别吗?
大不一样。ASME V&V 10对Validation实验提出以下要求:
- 边界条件完整计测 — 仿真用到的所有边界条件(温度、位移、荷载、流速等)都要实测
- 初始条件记录 — 残余应力、初始温度分布等也需要
- 计测不确定性定量化 — 传感器精度、重复精度、空间分辨率等都要明确
- 与仿真的独立性 — 看到实验结果后调整模型参数(\"调参\")是禁止的
最后一点最难。\"调到与实验一致\"不是Validation,那叫Calibration(标定)。
Validation Metrics
\"计算与实验吻合\"怎样定量判断?
用Validation Metrics。代表性的有:
- 相对误差: $E_{\text{rel}} = |S - D| / D$ — 最简单但在 $D \approx 0$ 处发散
- Validation Metric (Oberkampf & Barone): 考虑概率分布的积分型指标
- Area Validation Metric: 响应曲线(时间历程、分布)的面积差异标准化指标
$V = 1$ 完全吻合,$V = 0$ 完全不一致。实务上通常 $V > 0.9$ 认为吻合良好。
只比一个点的值不行,要比整个分布。
对。只有峰值应力吻合,但应力分布完全不同的话,模型不能算妥当。V&V 10推荐选择多个SRQ(System Response Quantities)来全面检证。
实务应用
监管产业的V&V要求
所有行业都必须做V&V吗?
法律上强制的是\"监管产业\":
- 核能 — 美国NRC(核管会)要求提交仿真结果时附上V&V报告。10 CFR 50中有V&V流程的规定
- 航空航天 — FAA(美国联邦航空局)的Advisory Circular AC 25.571中有FEM损伤容限分析的V&V指南
- 医疗器械 — FDA(食品药品监督部)推荐以ASME V&V 40为基础的Computational Modeling信心实证
汽车、工程机械等没有法律义务,但为了避免产品诉讼或内部品质标准,越来越多企业采用。
V&V报告的写法
V&V报告要写什么?有实务用的模板吗?
基于ASME V&V 10的报告必填项目是:
- 概念模型 — 物理现象的抽象化、假设(线性/非线性、2D/3D、定常/非定常)
- 数学模型 — 控制方程、本构关系、边界条件
- 计算模型 — 网格规格、要素类型、求解器设定、收敛准则
- Code Verification结果 — 使用过的benchmark、收敛次数
- Solution Verification结果 — GCI值、网格收敛曲线
- Validation结果 — 与实验对比、Validation Metrics值
- 不确定性定量化 — 输入参数的不确定性、传播结果
- 适用范围明示 — 本模型的妥当性成立条件范围
特别是第8项,必须明确指出\"本模型仅在200℃以下、应变率1000/s以下经过有效性验证\"这样的限制条件。
实务检查清单
先进动向与V&V 40
V&V 40 — 医疗器械的计算建模
V&V 40是医疗器械专用对吧?为什么医疗器械单独有规范?
因为涉及人命。V&V 40-2018的最大特点是\"CREDIBILITY(可信性)框架\"。模型的可信性从4个因素评估:
- Verification — 代码·解的验证
- Validation — 与实验对比
- Applicability — 使用条件是否在Validation范围内
- Context of Use — 对决策的影响(风险基础)
重点是\"Context of Use\"。用来预测人工关节耐久性(影响上市批准)的模型需要高可信性,但用于产品设计初期筛选的模型可以接受较低可信性。
风险大小决定V&V严格程度?
完全正确。V&V 40用风险矩阵,基于模型影响度(Model Influence)与决策重大性(Decision Consequence)两轴来决定V&V要求级别。FDA也正式支持这种方法,2023年发布了关于Computational Modeling的指南。
不确定性定量化(UQ)的最前沿
近来UQ(Uncertainty Quantification)特别受关注。
UQ是V&V的\"下一个前沿\"。最新动向包括:
- 贝叶斯估计的Model Calibration — 用MCMC或代理模型(GPR、PCE)进行参数同定
- Epistemic UQ — 当数据不足时,用Dempster-Shafer理论或P-box(概率盒)表达\"知识不确定性\"
- Digital Twin联动 — 实时传感器数据对模型进行逐次更新的自适应V&V
- 机器学习与V&V — 将V&V概念应用于ML模型预测的动向(AIAA-2023论文等)
V&V常见误区
误区1: 本意是Validation结果变成了Calibration
V&V中容易失败的模式有吗?
最常见的失败是\"本意是Validation结果却变成了Calibration\"。持续调整材料常数或边界条件直到与实验吻合——这是Calibration,不是Validation。
正确的流程是:
- 用Calibration实验数据来同定参数
- 用不同的Validation实验数据(未用于Calibration的)来验证模型妥当性
用于Calibration的数据来验证Validation,就像看了试题后学习再得100分一样。
误区2: 网格收敛确认被省略
\"计算成本高所以跳过网格收敛确认\",实务上这种情况很常见吧。
跳过网格收敛确认的Validation是沙上之塔。\"计算与实验吻合!\"也许只是网格粗糙的误差与物理模型误差相互抵消了。
如果计算成本困难:
- 局部GCI — 只在关键区域做收敛确认
- p法推估 — 提高要素次数而不增加网格数来做收敛确认
- 自适应网格细分(AMR) — 让求解器自动在需要的地方细分
误区3: 关注量只有一个
峰值应力只要吻合就可以了?
不行。V&V 10推荐用多个SRQ(System Response Quantities)进行验证。例如结构分析:
- 最大应力(值与位置两者)
- 位移分布
- 固有振动数(多个模式)
- 接触反力(接触问题时)
峰值应力吻合但位移场完全不同,说明模型物理妥当性低。\"碰巧吻合\"与\"本质正确\"的区分需要多个SRQ的交叉验证。
V&V的全体框架明白了。先通过Verification确保数值正确性,再通过Validation确保物理正确性。两者都要定量地做。
理解完美。\"仿真结果正确吗?\"——这个根本问题的回答,ASME V&V规范给出了现阶段最好的体系。实务虽然完美V&V很难,但尽量按体系来做的话,仿真结果的可信性会大幅提升。
CAE技术日新月异。— Project NovaSolver致力于将最新研究成果桥接到实务。
ASME V&V规范实务中的课题请告诉我们
Project NovaSolver面对CAE工程师日常遇到的课题——设置的复杂性、计算成本、结果解释——致力于解决。你的实务经验成为更好工具开发的原动力。
咨询(准备中)价值
更详细
错误