CFD計算為什么需要壁面函數?

不論是速度場、溫度場還是其他變量,在壁面附近的梯度都變化非常大,而壁面的附近梯度的準確計算對剪切力、換熱量等梯度相關的量的計算至關重要。比如,在有壁面限制的速度場中,根據壁面無滑移條件,壁面速度為0,隨著離壁面距離增大,速度逐漸增加到主流速度。其中越靠近壁面,速度的變化梯度越大,因此在壁面附近需要相當稠密的網格才能準確的捕捉到這些梯度。

但是當壁面附近網格非常稠密時,就會導致收斂性較差的問題。如圖二維機翼外流場網格,表面附近由于網格厚度很薄,就會導致出現非常大的長寬比問

CFD計算為什么需要壁面函數?的圖1

題,如果網格扭曲度再增大,那么網格的質量就會變得較差,而求解器面對這些質量差的網格便容易出現求解過程不穩定、收斂性變差的問題。同時網格數量急劇增加,求解時間也相應增加。

對于有限體積網格,存儲在網格中心點的變量之間的變化是線性的,因此如前所述,若要對壁面附近的變量準確捕捉,需要網格非常密才有可能。為解決這些問題,可在近壁面處采用較大的網格,而使網格中心到壁面變化用非線性變化函數來模擬,該非線性變化函數也稱為壁面函數。

CFD計算為什么需要壁面函數?的圖2

既然要用壁面函數來模擬近壁面行為,那么近壁面行為實際如何表現的呢?下圖為實驗及DNS模擬得到的數據,顯示了近壁面處無量綱流速的變化情況。這里說一下y+及U+的含義,y+為與壁面間的無量綱垂向距離,U+為無量綱切向速度,其中摩擦速度μΤ為基于壁面摩擦力得到的參考速度。

CFD計算為什么需要壁面函數?的圖3

CFD計算為什么需要壁面函數?的圖4

CFD計算為什么需要壁面函數?的圖5

一般把近壁面區域分為三個區域,分別為Viscous Sub-layer、Buffer layer、Log-law區域。藍線和綠線分別為標準壁面函數。由圖可知,由于y+是對數坐標,實際上Viscous Sub-layer區域的速度線性分布,Log-law區域的速度log分布,兩者分別在Viscous Sub-layer及Log-law region區域擬合的很好,而在Buffer layer區域,兩者擬合的都不是很好。

CFD計算為什么需要壁面函數?的圖6

方程(1)和(2)分別為藍線和綠線的函數方程,其中k和E為經驗函數,分別取0.4187和9.793。需要注意的是,方程(1)擬合很好的限制條件為y+<5,方程(2)擬合很好的限制條件為30<y+<200。這兩個限制條件是后續網格邊界層的劃分依據。

CFD計算為什么需要壁面函數?的圖7

兩函數方程的相交點位于y+=11.25,因此可以用分段函數表示該連續函數。但是如前所述,當位于Buffer layer 區域時,即當5<y+<30時,方程擬合的并不好,會和實際數據相差較大,因此CFD網格劃分時,不建議把網格節點至于該范圍內。

因此這就導致兩種不同的網格形式,一種是第一層網格處于Viscous Sub-layer區域,y+<5的稠密網格,一種是第一層網格處于Log-law區域,y+>30壁面函數的網格。

當然也可以采用單個、平滑且在所有y+范圍內都能較好擬合的函數,比如Spalding’s wall function,該壁面函數平滑、連續且y+<300范圍內都有效。

CFD計算為什么需要壁面函數?的圖8

如圖所示,Spalding’s wall function在Buffer layer區域也擬合的很好。但實際上大多數CFD程序在Buffer區域仍是采用Viscous Sub-layer和Log-law函數混合的方法。

CFD計算為什么需要壁面函數?的圖9

還有一些壁面處理方法常常叫做automatic方法,顧名思義,該方法不需要用戶指定使用哪些壁面函數,以及網格劃分時考慮y+<5或30<y+<200,CFD程序會評估y+所處的范圍,然后自動選擇合適的壁面函數。

在CFD計算中,我們需要知道壁面附近的梯度、壁面剪切力等,那么在CFD程序代碼中壁面函數如何執行的呢?我們知道,根據無滑移壁面條件,壁面速度為0,Up為壁面臨近網格中心節點存儲的速度值,由動量方程求解得到。如果Up至壁面的速度變化是線性的,也就是說網格中心節點位于Viscous Sub-layer區域,壁面剪切力求解便非常直接。

CFD計算為什么需要壁面函數?的圖10

但是當網格中心Up至壁面的速度變化是非線性的,也就是說網格中心節點位于Log-law區域,此時把30<y+<200條件下的非線性速度壁面函數帶入至剪切力公式中,即可求得壁面剪切力。

對于CFD程序代碼來說,無論壁面至臨近網格中心點速度變化為線性或非線性,都希望用統一的表達方式。因此我們可以把非線性速度變化用線性方式表達,只是近壁面粘度有所不同,這樣當網格中心節點30<y+<200時,采用Log-law壁面函數時,就只需要修改近壁面粘度即可。

CFD計算為什么需要壁面函數?的圖11

為使兩者表達方式更統一、簡潔,我們可以把近壁面粘度表達為層流粘度及湍動粘度之和,湍動粘度可表達為如下條件函數形式,當y+<11.25時,此時層流粘度占據主要地位,因此湍動粘度為0。

因此最終不論網格中心點位于什么區域,只需要根據條件對湍動粘度作改變,即可用相同剪切力表達式求出壁面剪切力。

CFD計算為什么需要壁面函數?的圖12

好了,說了這么多,y+應該取多少好呢?畢竟y+數值關系到網格邊界層劃分實際操作部分。總結如下幾點:

(1)     盡量避免y+數值位于buffer layer區域,即5<y+<30,因為該區域壁面函數擬合不準確。

(2)     在有強壓力梯度或出現流動分離的現象時,y+>30也有可能不夠準確,另外y+~5也可能會處在buffer layer區域,因此傳統做法或建議是y+~1,比如計算機翼的升力、阻力時,結果比較準確。

(3)     當然,如果有可能的話,最好的做法先進行一個簡單的2D模型驗證,或者通過實驗數據驗證模型。


References

https://www.fluidmechanics101.com


公眾號.jpg

                                                      介紹CFD理論及相應案例應用,歡迎關注。

CFD計算為什么需要壁面函數?的圖14                                                                                                                                                                                                                          

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

TOP

2
1