首页/文章/ 详情

我算的CFD结果到底准不准?流体工程师往往关注这五大方面

1年前浏览3673

张杨

仿真秀优秀讲师

相信大多数流体工程师在平时的工作中,总会被问道这样的问题:“这个仿真算例的置信度如何?”“与实验的误差有多少?”“我们如何才能相信CFD模拟结果是正确的?”由此可见,CFD仿真分析的准确性,实际上是大家非常关注的。对于成熟的工程师来讲,回答这一类仿真精度的问题,必须要从仿真的误差来源进行描述,才能够给出严谨合理的答案。


CFX软件作为全球第一个通过ISO9001质量认证的大型商业CFD软件,其丰富的求解功能与友好的操作界面早已得到广大用户的认可,同时,作为一款严谨的ANSYS流体求解器,CFX在误差的控制上也有着非常优秀的表现。

图1 使用CFX软件计算F1方程式赛车的外流场

CFX仿真计算中的误差来源:如下图所示,CFX仿真模拟过程中的误差来源主要有以下五个方面。分别是舍入误差、迭代误差、离散误差、模型误差和系统误差。同时,这五类误差所带来的精度损失是有一定差别的。

图2 CFX中的五种误差来源

1、舍入误差

舍入误差可以认为是对计算结果影响最小的一类误差,出现的原因主要是由于变量的数值精度不足所引起的。这一类误差经常出现在以下的问题当中:

  • 模型的最大尺度与最小尺度差别过大

  • 变量的最大值与最小值量级差别过大

  • 网格存在大的纵横比(边界层网格除外)

减小舍入误差的办法主要有两种:一是开启双精度计算模型,二是使用参考变量值。

图3 选择双精度变量值(16位有效数字)可以有效减小舍入误差

图4 指定合理的参考压力,通常也可以减小舍入误差带来的影响

2、迭代误差

迭代误差表述的是当前迭代步的结果和收敛结果之间的差别。因此,对于大部分仿真问题,当迭代步数足够多、残差组够小的时候,都可以认为迭代的误差是非常小的。

图5 大部分情况下,迭代误差都会随着迭代步数的增加而减小

当然,无休止的增加迭代步数会带来更多的计算时间,耗费更大的计算资源,从而导致仿真效率降低。因此,看似容易解决的迭代误差问题,在实际案例中并没有明确简易的操作方法。相反,我个人认为这是一个权衡利弊的问题,通常需要同时兼顾计算精度与仿真效率。

3、离散误差

所有的数值方法计算都存在着误差,不管采用的是有限元法、有限差分法还是有限体积法。当然,离散误差并不是表征数值方法与真实物理场之间的误差,而是用来表征当前网格与“无限细分”网格之间的误差。

在这里需要多说几句,无限细分的网格,并不代表每个网格的大小都达到分子尺度的级别,而是要满足连续介质的基本假设:即每个微元在宏观上组够小(便于求极限)、微观上足够大(保证包含足够多的流体分子,从而满足流体属性),对于液体而言,最小的网格建议尺寸在0.01微米以上。

回到离散误差这个概念中来,既然任何工程所使用的网格都不是“无限细分”的,那么实际网格与理想网格之间就存在数值误差。对于这一类误差,我们通常通过“网格无关性验证”这一方法进行结果的评估。简单的讲,就是不改变边界条件与物理设定,只更换不同的网格来计算同一问题。

图6 努塞尔数在不同网格情况下的计算结果

如上图所示,显示了在不同网格上计算的底面上的最大努塞尔数。x轴是网格总数的倒数,因此图的左侧表示在“无限细分网格”上执行的计算。一阶计算的结果以蓝色显示,二阶计算的结果以红色显示。如果网格足够精细,则一阶或二阶离散化给出相同的结果,但是当网格变粗了以后,二阶结果总是更接近最终解,这就是为什么总是建议使用二阶离散化进行仿真的原因。

4、模型误差

在真实的物理世界中,变量(速度、压力、组分、湍流属性等)之间存在的关系是非常复杂的,如果我们希望把这些物理量通过数学方式建立联系,就必须要通过简化来实现。因此,这些简化过后的物理模型就会造成模型误差。这一类误差是没有办法来避免的,同时带来的数值差别,也通常远远大于上述三个误差。

图7 台阶流中的瞬态速度分布与时均速度分布

RANS湍流模型是我们应用最广的物理模型,绝大多数工程中的湍流问题都是通过时均模型来计算的,但是,这种方法 会在细节位置造成巨大的数值误差,原本由无数大涡与小涡组成的时变流场,变成了稳定的单向简单流动。显然,这种由物理模型简化带来的误差是非常难以避免的(全部改成大涡模拟计算?显然是不可能的)。同时,这一类模型误差还会体现在多相流模型、组分模型、燃烧模型、热辐射模型之中,算例中模型应用的越多,产生的误差通常就会越大。

那么我们为什么还会认可这些差别巨大的结果呢?原因很简单,那就是因为这些简化的结果在很多我们关心的位置上,和真实结果有非常相近的特性,以上图为例:台阶流中回流点位置的预测、下游壁面的换热特性、台阶流整体压降等等,这些结果都和实验接近。经验表明,在大部分我们需要研究的位置,时均的湍流模型(或是多相流模型、热辐射模型等)都能带来相对准确的计算结果,误差也控制在可控的范围之内,这些,都能给我们的设计提供重要的参考。

因此,我们对待模型误差需要有一种即严谨又宽容的心态:通过不断的调整多种模型设定来调试案例,从而尽量匹配实际的真实物理情况;同时又要容忍计算结果与实际的偏差,要从心底接受这些模型简化带来的影响,做到有舍有得。

5、系统误差

最后要介绍的是系统误差,这一类误差是影响最大的,即便我们的物理模型非常精准,迭代、离散误差也都控制的十分完美,计算结果仍旧可能存在较大的误差,这一类误差就是由CFX建模本身造成的。

流体计算采用的是欧拉法,即我们选取位置固定的观测体,流体从一侧流入、另外一侧流出。这个时候通常就涉及到计算区域选取的问题,如果计算区域选的不好(通常是选小了),那就可能产生系统误差。如下图所示,对于三通管的CFX计算,通常不会考虑上下游太长的管道,但是该案例中的计算域选取就值得探讨,因为上方出口后面原本存在一个距离较近的弯管,而将这一块定义为出口以后,就认为后面是无限长的直管了。我个人认为这种情况会产生比较大的系统误差。

图8 由于计算区域选取导致的系统误差

另外,对于CAD几何模型的简化也是产生系统误差的原因之一。如下图所示,为了减小计算规模,我们在比较精细的几何位置选用了较大的网格,这样,真实的物理情况在这个位置就被改变了,也就会产生一定量的变量误差。

图9 系统误差通常由几何模型的简化造成

那么我们应该如何减少系统误差呢?最有效方法就是真正了解实际的工程情况,并给定最为合理的物理简化与计算域选取。对于上图而言,很可能这个位置并不是我们仿真需要关注的重点,那么进行几何模型的简化不但可以加速仿真效率,而且还不影响主要区域的计算结果,这个实际上是对系统误差的一种高效运用。

结论:CFX仿真分析的误差来源是固定的,只有我们清楚的了解这些误差产生的原因,才能更好的避免这些误差,才能更加清楚为何计算结果与实验存在差别,才能更好的为我们的产品设计提供数据支撑。

来源:安世亚太
CFX振动疲劳多相流燃烧湍流理论ANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-02-09
最近编辑:1年前
安世亚太
精益研发助推中国智造
获赞 587粉丝 7186文章 424课程 82
点赞
收藏
作者推荐

免费 5.0
未登录
2条评论
仿真秀0422113654
签名征集中
1年前
大涡模拟做燃烧仿真时,好像会比rans掺混更好,最终导致性能过度预测,请教一下有什么办法能修正一下吗
回复
张良友 Doer
签名征集中
1年前
你这么优秀,你是怎么做到的
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈