三十九、Fluent時間步長的估算與庫朗數

1. 庫朗數

1.1 概念理解

什么是庫朗數?庫朗數是用來衡量數值計算穩定性的一個物理量,也被稱為CFL數、CFL準則

在流體力學仿真軟件中,都能找到庫朗數(Courant number)的解釋和定義。在CFX的幫助文件里給出了一個比較直觀的公式來定義一維網格的庫朗數(Courant Number):

三十九、Fluent時間步長的估算與庫朗數的圖1

其中,u為流體速度;Δt為時間步長;Δx為網格尺寸;

形象點理解,u*Δt表示流體在Δt時間內流動的距離,除以網格尺寸,則表示流體在一個時間步長內流過了多少個網格。顯然一個時間步長內流過的網格越多,計算就越快,但收斂性就會越差。

三十九、Fluent時間步長的估算與庫朗數的圖2

類似于人賽跑,跑得快固然很快能跑完,但也可能中間摔跟頭。

三十九、Fluent時間步長的估算與庫朗數的圖3

庫朗數主要受流速u、時間步長Δt和網格尺寸Δx的影響。而流速u和網格尺寸Δx主要由實際工況決定,不能人為控制,因此主要由時間步長Δt來控制庫朗數。

1.2 取值標準

一般來說,考慮收斂性的話,庫朗數肯定越低越好,但相應的時間步長也會很小,收斂速度變慢。

一般取值在1~10之間比較合適,當然要根據實際情況,如收斂性比較差,可適當降低這個數值。收斂性比較好,收斂速度慢,可適當增加庫朗數。Fluent幫助文檔認為對于大多數問題,庫朗數設置為1能夠滿足要求。

實際上,Fluent很多案例的庫朗數都是50,這主要是選擇了隱式算法的原因

三十九、Fluent時間步長的估算與庫朗數的圖4

三十九、Fluent時間步長的估算與庫朗數的圖5

1.3 庫朗數于亞松馳因子

亞松馳因子under-relaxation factor

單元格內物理量φ取決于舊值φold、變化量△φ和亞松弛因子α。也就是說亞松弛因子是一個調節物理量變化的系數。

三十九、Fluent時間步長的估算與庫朗數的圖6

基于壓力的耦合算法中庫朗數可用亞松馳因子表示出來:

三十九、Fluent時間步長的估算與庫朗數的圖7

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界面可選擇求解器

三十九、Fluent時間步長的估算與庫朗數的圖8

Solution Methods界面可設置是顯式格式還是隱式格式

三十九、Fluent時間步長的估算與庫朗數的圖9

Solution Controls可設置庫朗數

三十九、Fluent時間步長的估算與庫朗數的圖10

2.時間步長的設置

由前面庫朗數的定義可知,時間步長和庫朗數相互決定,因此設置了庫朗數,那么時間步長就確定了。

無論是基于什么求解器,Fluent如果可以設置庫朗數,那么軟件會自動計算時間步長,盡管在Run Calculation界面仍然有Time Step Size欄,仍然可以輸入數值,但這欄是不起任何作用的。既不會對計算收斂性起作用,也不代表真正的流動時間,這一點要千萬注意。

實際測試了一下,確實如此,更改庫朗數會改變收斂性和流動時間,而Time Step Size不起作用。

2.2 基于壓力求解器Pressure-based

使用基于壓力求解器,速度壓力耦合pressure-velocity scheme 選擇Coupled,在 Solution Controls界面會出現Flow Courant number

三十九、Fluent時間步長的估算與庫朗數的圖11

默認值是200,Fluent幫助文檔中多設置為50,在實際計算過程中可減小到4。然后等計算比較穩定時,再增加庫朗數。

三十九、Fluent時間步長的估算與庫朗數的圖12

3. 時間步長

上面我們用了非常多的篇幅介紹了庫朗數及庫朗數的設置,但是在實際的設置中,我們會發現很少能夠在設置中看到庫朗數選項,更別提設置庫朗數了。

這主要是因為大多數的算例都是基于壓力求解器的,因此無法直接設置庫朗數。

如果設置中不出現庫朗數,那要如何間接設置庫朗數呢?? 設置時間步長!!!

通過上面的定義可知,庫朗數與時間步長存在直接的關系,

三十九、Fluent時間步長的估算與庫朗數的圖13

對上式進行變形,可以得到時間步長為

三十九、Fluent時間步長的估算與庫朗數的圖14

流體的流速u,最小網格尺寸Δx都能大致估算出來,Courant number一般設置在1-10之間,可取5。由此我們可以大致估算出時間步長。

如:流速u=2.0m/s,最小網格尺寸Δx=0.0002m,CFL=5,可以計算出時間步長Δt=5e-4s

上面的計算過程很容易通過編程實現,因此我寫了個圖形界面小程序,直接輸入數值就可以得到時間步長。

我把這個小程序放群文件里,想要的小伙伴可加群獲取,或者公眾號輸入“時間步長”關鍵詞獲取

三十九、Fluent時間步長的估算與庫朗數的圖15

但要注意,上式只是庫朗數在一維網格上的定義,實際的定義要復雜很多,因此只能用來估算。

微信公眾號:Fluent學習筆記,歡迎大家關注,可免費獲取文章的cas及dat文件和更多幫助文件

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3
5