三十九、Fluent时间步长的估算与库朗数

1. 库朗数

1.1 概念理解

什么是库朗数?库朗数是用来衡量数值计算稳定性的一个物理量,也被称为CFL数、CFL准则

在流体力学仿真软件中,都能找到库朗数(Courant number)的解释和定义。在CFX的帮助文件里给出了一个比较直观的公式来定义一维网格的库朗数(Courant Number):

其中,u为流体速度;Δt为时间步长;Δx为网格尺寸;

形象点理解,u*Δt表示流体在Δt时间内流动的距离,除以网格尺寸,则表示流体在一个时间步长内流过了多少个网格。显然一个时间步长内流过的网格越多,计算就越快,但收敛性就会越差。

类似于人赛跑,跑得快固然很快能跑完,但也可能中间摔跟头。

库朗数主要受流速u、时间步长Δt和网格尺寸Δx的影响。而流速u和网格尺寸Δx主要由实际工况决定,不能人为控制,因此主要由时间步长Δt来控制库朗数。

1.2 取值标准

一般来说,考虑收敛性的话,库朗数肯定越低越好,但相应的时间步长也会很小,收敛速度变慢。

一般取值在1~10之间比较合适,当然要根据实际情况,如收敛性比较差,可适当降低这个数值。收敛性比较好,收敛速度慢,可适当增加库朗数。Fluent帮助文档认为对于大多数问题,库朗数设置为1能够满足要求。

实际上,Fluent很多案例的库朗数都是50,这主要是选择了隐式算法的原因

1.3 库朗数于亚松驰因子

亚松驰因子under-relaxation factor

单元格内物理量φ取决于旧值φold、变化量△φ和亚松弛因子α。也就是说亚松弛因子是一个调节物理量变化的系数。

基于压力的耦合算法中库朗数可用亚松驰因子表示出来:

2. 库朗数的设置

2.1 基于密度求解器Density-based

显示格式Explicit Formulation

默认是1,对于2维问题可适当增加库朗数,但不要超过2.0。如果设置没有问题,但是计算发散了,或者残差上升得非常快,就必须降低 Courant number,可能需要降低到0.5,甚至0.1。但如果收敛性很好,就可以增加 Courant number。

隐式格式Implicit Formulation

默认库朗数为 5.0。通常可以 增加到 10、20、100 甚至更高。与显示一样可根据收敛情况进行更改。

注:

1.基于密度求解器

General界面可选择求解器

Solution Methods界面可设置是显式格式还是隐式格式

Solution Controls可设置库朗数

2.时间步长的设置

由前面库朗数的定义可知,时间步长和库朗数相互决定,因此设置了库朗数,那么时间步长就确定了。

无论是基于什么求解器,Fluent如果可以设置库朗数,那么软件会自动计算时间步长,尽管在Run Calculation界面仍然有Time Step Size栏,仍然可以输入数值,但这栏是不起任何作用的。既不会对计算收敛性起作用,也不代表真正的流动时间,这一点要千万注意。

实际测试了一下,确实如此,更改库朗数会改变收敛性和流动时间,而Time Step Size不起作用。

2.2 基于压力求解器Pressure-based

使用基于压力求解器,速度压力耦合pressure-velocity scheme 选择Coupled,在 Solution Controls界面会出现Flow Courant number

默认值是200,Fluent帮助文档中多设置为50,在实际计算过程中可减小到4。然后等计算比较稳定时,再增加库朗数。

3. 时间步长

上面我们用了非常多的篇幅介绍了库朗数及库朗数的设置,但是在实际的设置中,我们会发现很少能够在设置中看到库朗数选项,更别提设置库朗数了。

这主要是因为大多数的算例都是基于压力求解器的,因此无法直接设置库朗数。

如果设置中不出现库朗数,那要如何间接设置库朗数呢??  设置时间步长!!!

通过上面的定义可知,库朗数与时间步长存在直接的关系,

对上式进行变形,可以得到时间步长为

流体的流速u,最小网格尺寸Δx都能大致估算出来,Courant number一般设置在1-10之间,可取5。由此我们可以大致估算出时间步长。

如:流速u=2.0m/s,最小网格尺寸Δx=0.0002m,CFL=5,可以计算出时间步长Δt=5e-4s

上面的计算过程很容易通过编程实现,因此我写了个图形界面小程序,直接输入数值就可以得到时间步长。

我把这个小程序放群文件里,想要的小伙伴可加群获取,或者公众号输入“时间步长”关键词获取

但要注意,上式只是库朗数在一维网格上的定义,实际的定义要复杂很多,因此只能用来估算。

 原文链接:

 三十九、Fluent时间步长的估算与库朗数形象点理解,u*Δt表示流体在Δt时间内流动的距离,除以网格尺寸,则表示流体在一个时间步长内流过了多少个网格。显然一个时间步长内流过的网格越多,计算就越快,但收敛性就会越差。https://mp.weixin.qq.com/s/aep0ZTL6ZhjR2XqNmipuKg

以上案例的cas和dat文件均可以免费获取,需要的朋友,只需要点赞关注收藏一键三连后私信我即可哦 
 

© 版权声明
THE END
喜欢就支持一下吧
点赞484 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容