为何我这个流动总是算不收敛?我要砸电脑!

2017-05-01  by:CAE仿真在线  来源:互联网


当流动具有强烈的分离特性的时候,如果用定常算法计算不收敛(残差不能降下去,monitor监视的物理量总是在振荡),可以改用非定常算法来计算,通常就能在每一个时间步实现收敛。


很多FLUENT的用户都会遇到一个令人困惑的问题,那就是用定常流动算法计算的时候,总是不能收敛得很好:残差总是不能降低到默认的收敛标准(1e-03)以下(当然,有时候残差并不能代表收敛);更重要的是,用监视器(monitor)监视某些量随着迭代次数增加的变化情况(例如某个点的速度随迭代次数增加的变化)时,曲线总是在振荡,不能收敛到一个确定的数值。

我们来看一个例子。如图1所示,一个边长为2m的立方体连接着两根方形截面的管子。入口流速是1m/s,假定流体的密度是1kg/m3,粘性系数是10-5Pa•s。以入口流速为特征速度,入口截面的边长为特征长度,则流动雷诺数为105,所以流态是湍流流动。坐标原点位于立方体的中心,坐标轴的方向如图所示。


为何我这个流动总是算不收敛?我要砸电脑!fluent流体分析图片1

图1 问题描述


网格使用ICEM CFD生成,为分块结构化网格(图2),网格数量约37万。对靠近壁面的网格加密,壁面第一层网格的高度为0.01m。这样的网格高度,使各处壁面第一层网格形心的y+大约在1~60的范围内(通过计算结果的后处理可以看出来)。因为我们使用了FLUENT中的k-ωSST湍流模型来计算,这个模型在默认的情况下在近壁面区域近使用了增强壁面处理(enhanced wall treatment),所以上述网格高度是合适的。


为何我这个流动总是算不收敛?我要砸电脑!fluent分析案例图片2

图2 网格


使用FLUENT中的基于压力的求解器计算,速度和压力的耦合(Pressure-VelocityCoupling)采用SIMPLE算法。入口使用velocity-inlet边界条件,流速按上述条件设置。入口的湍流参数设为:湍流强度=5%,水力直径=1m。出口使用pressure-outlet边界条件,回流的湍流参数设为与入口相同。计算前的初始流场按照入口边界的数值初始化。

用定常算法(Steady)来计算,可以发现收敛得很不好。从图3的残差曲线看,所有的方程的残差都不能降低到默认的收敛标准(1e-03)以下;而使用monitor监测点(-0.5,0.5,0.5)处的流速随迭代次数的变化情况,其曲线振荡得非常厉害(图4)。调节松弛因子(Under-relaxation factors)也不能奏效。出口边界也并未出现回流(reversed flow)的现象,所以也不是导致不收敛的原因。


为何我这个流动总是算不收敛?我要砸电脑!fluent分析案例图片3

图3残差曲线




为何我这个流动总是算不收敛?我要砸电脑!fluent分析案例图片4

图4(-0.5,0.5,0.5)处的速度随迭代次数的变化情况


有什么解决办法呢?把算法改成非定常的就行了。这里我们把时间步长设为0.1s(见注1)。由图5可以看出,非定常计算在每一个时间步都可以将残差迭代到1e-03以下。在非定常算法下,点(-0.5,0.5,0.5)处的速度是随着时间的推移而不断变化的(如图5所示)。


为何我这个流动总是算不收敛?我要砸电脑!fluent分析案例图片5

图5用非定常算法计算


在这个例子中,从入口管道到立方体是一个截面突然扩大的流动,存在强烈的分离流动。经验表明,当流动具有强烈的分离特性的时候,使用定常算法往往就无法计算收敛。来自波音公司的湍流模型大师Spalart(著名的SA模型的提出者)在一篇关于湍流模拟策略的文章[1]中也提到了非定常模拟的问题。他在文章中写道:

“More frequently, a user that is after massive separation will find that the code simply cannot find a steady state, and that the only course is to operate in a time-accurate mode and analyse an unsteady solution.”(更为常见的情形是,当计算具有强烈分离特性的流动时,计算程序无法算出一个稳定的解,所以唯一的出路就是使用非定常算法来计算。)

另一个典型的例子是钝体绕流;高雷诺数钝体绕流伴随着强烈的流动分离,常常存在大尺度的非定常现象。图6显示了三维方柱绕流的非定常计算结果(垂直于方柱的某个截面的速度云图)。该算例的雷诺数为105(特征长度取柱的截面的边长)。所使用的湍流模型也是k-ωSST。可以看出方柱两侧的交替的、周期性的涡脱落现象(卡门涡街)。对于这个算例,使用定常算法的时候,与前面的例子一样,是不能算收敛的。这个例子中,使用非定常算法的物理基础非常明显:流动中存在大尺度的非定常现象——周期性涡脱落现象。


图6 方柱绕流

实际上,对于定常算法不能收敛的题,改用非定常算法,这也是文献中常见的做法。例如,文献[2]在模拟一级方程式赛车的车轮周围的气流流动时(见图7),当遇到定常算法不收敛的时候,就使用非定常算法进行了计算,如图8所示。可以看出,在计算车轮CI的时候,对于几种湍流模型,使用定常算法都得到了收敛的结果。但是,计算车轮CII的时候,大部分湍流模型在使用定常算法的时候都不收敛,因此使用非定常算法来计算。该文献得出的结论是,与其它模型相比较,使用非定常k-ωSST模型的结果,以及使用大涡模拟(Large eddy simulation,简称LES)的结果,与实验数据吻合得最好。(当然,对于非定常算法,与实验测得的时间平均量比较的时候,应当对足够长的物理时间内的计算结果取平均值。)


为何我这个流动总是算不收敛?我要砸电脑!fluent结果图片6


图7模拟一级方程式赛车的车轮周围的气流流动(复制自文献[2])


为何我这个流动总是算不收敛?我要砸电脑!fluent结果图片7


图8文献[2]中使用定常算法和非定常算法的情况(复制自文献[2])

湍流的模拟仍然是一个非常开放的问题。如果读者有什么想法,欢迎联系公众号。


未经许可,不得转载

参考文献

[1] P. R. Spalart. Strategies forturbulence modelling and simulations. International Journal of Heat and FluidFlow, 21, pp. 252-263, 2000

[2] John Axerio-Cilies, Emin Issakhanian, Juan Jimenez, Gianluca Iaccarino. AnAerodynamic Investigation of an Isolated Stationary Formula 1 Wheel Assembly.Journal of fluids engineering. 134, 2012


注1:根据FLUENT的User’s Guide,时间步长应该至少比系统中的最小的时间常数小一个量级;一种判断方法是看FLUENT在每个时间步之内需要迭代多少次才收敛,理想的状态是5至10次。从图5可以看出,FLUENT在每个时间步之内迭代5次左右就能收敛,说明所设定的时间步长是合适的。另外,FLUENT的User’s Guide建议在后处理中绘制Cell Courant Number的云图,如果非定常运动的区域的Cell Courant Number不超过20-40,就说明所取的时间步长是合适的。


——转自微信公众号:流体那些事儿


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:为何我这个流动总是算不收敛?我要砸电脑! Fluent培训 Fluent流体培训 Fluent软件培训 fluent技术教程 fluent在线视频教程 fluent资料下载 fluent分析理论 fluent化学反应 fluent软件下载 UDF编程代做 Fluent、CFX流体分析 HFSS电磁分析 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com