首页/文章/ 详情

【知识库】什么是Verification和Validation(V&V)?

1年前浏览2510


什么是V&V?


工程仿真 包括三类模型,分别叫做概念模型、数学模型和计算模型,如下图所示。



对于这几类模型,对V&V来说,广泛被接受的定义。如下:


• Verification(验证):


决定一个计算模型能够准确地代表数学模型和它的解的过程。


• Validation(确认):


在某一个特定应用场景下,决定一个模型有多大程度代表了真实世界的过程。


简单来说,Verification验证是数学领域的问题,而Validation确认是物理领域的问题。


Verification ( 验证 )


对Verification来说,还有一个定义,如果需要建立对计算模型的信任,必须要建立在两个基本流程完成的基础上:


1 Code Verification 代码验证—数学模型和求解的算法本身是正确的。


2 Calculation Verification 计算验证—数学模型的离散方法是准确的。


Code Verification(代码验证)


通常来说,代码验证是软件开发人员的任务,一般通过先进的软件质量保证(Software Quality Assurance)技术和对每一个发布的软件版本进行测试来完成。软件使用者也有部分的代码验证的责任,即使他们并不能接触到软件代码。


在代码验证技术中,比较流行的做法是比较代码结果和解析解的误差;这种比较是回归测试的主要手段。


但不幸的是,大部分可以获得的解析解计算起来都非常复杂,但和商用软件哪怕最常规的应用比起来都相形见绌。一种可以大大增加解析解数目和复杂度的代码确认方法,在V&V领域中被称为manufactured solutions。


Calculation Verification(计算验证)


另一个验证就是计算验证,也就是估计数值计算由于离散所产生的误差。然而,任何数值计算和解析解的比较都必然会包含误差,因为离散在定义上就是对解析解的一种近似。因此,计算验证的目标是估计在这个比较过程中,由于离散所导致的误差总和。


离散误差经常用到的估计方法,是将两个离散方案(网格)进行比较,一个正常,另一个网格数量更多,网格尺寸更小。


这种不同网格质量的比较通常是用来确定求解的收敛速率。


计算验证的主要负责人是分析工程师,或者软件使用者。但是,对于软件开发者来说,很显然,如何让使用者正确地应用他们编写的算法,也是一种责任,但事实是开发者并没有提供一种保证,让软件使用者能够确保获得足够精度的网格,也就是说,大量的由于网格质量粗糙引起的求解错误被不恰当地归因于软件使用者了。


在结构力学中,缺乏网格精度研究是验证流程中最大的问题。由于这个问题如果利用自适应网格控制技术,是比较容易得到解决的,因此这一点也让人觉得格外痛心。


Validation (确认)


一个模型到底有多准确地代表了某个真实问题,这一点代码验证和计算验证都不能解释。确认才是解释这个准确度问题的方法,即只要通过模型中的力学(物理学)研究,就能够很好地回答这个问题。数学和力学的相互影响方式,在上面的V&V流程图中已经做了阐述。在选择完概念模型后,V&V流程有了两个分支:左边的分支包含了模型建立的部分,而右边的分支包含了物理实验的部分。这张图有意识地阐述了强调了在V&V过程中,物理实验所占的重要作用与模型建立相当,因为最终来说,判断所选择的概念模型、数学模型到底和真实世界有多接近,只能通过实验观测的办法来评价。在V&V流程中的所有阶段,都需要建模人员和实验人员的紧密合作,直到得到实验输出结果。


这种紧密合作是必须的,因为数学模型和物理模型总是不一样的。举例来说,对一个端部固支的悬臂梁,两个团队可能对概念模型有很不一致的观点。数学模型上这个边界条件非常容易定义,而在实验上却根本不存在绝对的固支方案。通常来说,一个概念模型中,有些部分是很容易用数学模型或物理模型来描述的,而有些部分却很难。所以,建模者和实验者之间的对话,对于解决这种冲突是极其关键的。为了帮助这种对话,我们称之为“初步计算Preliminary Calculations”的交叉沟通机制,就是为了强调建模者和实验者需要尽力建立相同的概念模型这个目标而建立的。


同样重要的一点,在仿真结果出来之前,不要让建模人员看到实验结果。这样做的原因是为了加强模型在预测能力上的可信任度。如果建模人员在仿真结果出来之前看到了实验结果,人类本能会让建模人员“修改”模型,使得仿真结果更接近于实验结果。这种倾向降低了模型对于预测能力的可信任度,也使得建模的焦点变成了模仿和接近实验结果。


最后,同样对于建模人员和实验人员,不确定性的量化(UQ)也非常重要。因为如果实验做了不止一次的话,它们的结果也会不一样。这就是UQ在量化“不确定性”上非常有意义的作用。类似的,每一次数学计算或者物理实验,计算参数取值都是有范围,或者是分布的。UQ技术就是企图量化这些参数变化对仿真结果的影响。


感 谢 阅 读


相关文章,在仿真秀官网搜索:

1)  探秘C-SDM建立企业仿真性能大数据



来源:安怀信正向设计研发港
机器人控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-11-16
最近编辑:1年前
获赞 65粉丝 49文章 362课程 6
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈