有關fluent求解收斂的問題收集【轉發(fā)】
2018-01-11 by:CAE仿真在線 來源:互聯網
【引用】有關fluent求解收斂的問題收集
1.問:
如何監(jiān)視FLUENT的計算結果?
如何判斷計算是否收斂?
在FLUENT中收斂準則是如何定義的?
分析計算收斂性的各控制參數,并說明如何選擇和設置這些參數?
解決不收斂問題通常的幾個解決方法是什么?
答:
結果監(jiān)視:
可采用殘差控制面板來顯示;
或采用通過某面的流量控制,如監(jiān)控出口上流量的變化;
或采用某點或者面上受力的監(jiān)視,渦街中計算達到收斂時,繞流體的面上受的升力為周期交變,而阻力為平緩的直線。
判斷計算結果是否收斂:
觀察點處的值不再隨計算步驟的增加而變化;
各個參數的殘差隨計算步數的增加而降低,最后趨于平緩;
滿足質量、能量(如果有的話)守恒;
特別注意點:即使前兩個判據都已經滿足了,也不表示已經得到合理的收斂解了,因為,如果松弛因子設置得太緊,各參數在每步計算的變化都不是太大,也會使前兩個判據得到滿足,此時就要再看第三個判據了。
還需說明的就是:一般我們都希望在收斂的情況下,殘差越小越好,但是殘差曲線是全場求平均的結果,有時其大小不代表計算結果的好壞,有時即使計算的殘差很大,結果也可是好的,關鍵是要看計算結果是否符合物理事實。即殘差的大小與模擬的物理現象本身的復雜性有關,必須從實際物理現象上看計算結果。比如說一個全機模型,在大攻角情況下,其解震蕩得非常厲害,而且殘差的量級也總下不去,但這仍然是正確的。為什么呢,因為大攻角下實際流動情形就是這樣的,不斷有渦的周期性脫落,流場本身就是非定常的,所以解也是波動的,處理的時候取平均就可以了。
2.問:
什么叫松弛因子?
松弛因子對計算結果有什么樣的影響?
它對計算的收斂情況又有什么樣的影響?
答:
亞松馳(Under Relaxation):所謂亞松馳就是將本層次計算結果與上一層次結果的差值作適當縮減,以避免由于差值過大而引起非線性迭代過程的發(fā)散。用通用變量來寫出時,為松馳因子(Relaxation Factors)。
FLUENT中的亞松馳:由于FLUENT所解方程組是非線性的,我們有必要控制其解的變化。一般用亞松馳方法來實現控制,該方法在每一部迭代中減少了變化量。亞松馳最簡單的形式為:單元內變量等于原來的值加上亞松馳因子與變化量的積,分離解算器使用亞松馳來控制每一步迭代中的計算變量的更新。這就意味著使用分離解算器解的方程,包括耦合解算器所解的非耦合方程(湍流和其他標量)都會有一個相關的亞松馳因子。在FLUENT中,所有變量的默認亞松馳因子都是對大多數問題的最優(yōu)值。這個值適合于很多問題,但是對于一些特殊的非線性問題(如:某些湍流或者高Rayleigh數自然對流問題),在計算開始時要慎重減小亞松馳因子。使用默認的亞松馳因子開始計算是很好的習慣。如果經過4到5步的迭代殘差仍然增長,你就需要減小亞松馳因子。有時候,如果發(fā)現殘差開始增加,你可以改變亞松馳因子重新計算。在亞松馳因子過大時通常會出現這種情況。最為安全的方法就是在對亞松馳因子做任何修改之前先保存數據文件,并對解的算法做幾步迭代以調節(jié)到新的參數。最典型的情況是,亞松馳因子的增加會使殘差有少量的增加,但是隨著解的進行殘差的增加又消失了。如果殘差變化有幾個量級你就需要考慮停止計算并回到最后保存的較好的數據文件。注意:粘性和密度的亞松馳是在每一次迭代之間的。而且,如果直接解焓方程而不是溫度方程(即:對PDF計算),基于焓的溫度的更新是要進行亞松馳的。要查看默認的亞松弛因子的值,你可以在解控制面板點擊默認按鈕。對于大多數流動,不需要修改默認亞松弛因子。但是,如果出現不穩(wěn)定或者發(fā)散你就需要減小默認的亞松弛因子了,其中壓力、動量、k和e的亞松弛因子默認值分別為0.2,0.5,0.5和0.5。對于SIMPLEC格式一般不需要減小壓力的亞松弛因子。在密度和溫度強烈耦合的問題中,如相當高的Rayleigh數的自然或混合對流流動,應該對溫度和/或密度(所用的亞松弛因子小于1.0)進行亞松弛。相反,當溫度和動量方程沒有耦合或者耦合較弱時,流動密度是常數,溫度的亞松弛因子可以設為1.0。對于其它的標量方程,如漩渦,組分,PDF變量,對于某些問題默認的亞松弛可能過大,尤其是對于初始計算。你可以將松弛因子設為0.8以使得收斂更容易。
3.算法:SIMPLE與SIMPLEC比較
在FLUENT中,可以使用標準SIMPLE算法和SIMPLEC(SIMPLE-Consistent)算法,默認是SIMPLE算法,但是對于許多問題如果使用SIMPLEC可能會得到更好的結果,尤其是可以應用增加的亞松馳迭代時,具體介紹如下:
對于相對簡單的問題(如:沒有附加模型激活的層流流動),其收斂性已經被壓力速度耦合所限制,你通??梢杂肧IMPLEC算法很快得到收斂解。在SIMPLEC中,壓力校正亞松馳因子通常設為1.0,它有助于收斂。但是,在有些問題中,將壓力校正松弛因子增加到1.0可能會導致不穩(wěn)定。對于所有的過渡流動計算,強烈推薦使用PISO算法鄰近校正。它允許你使用大的時間步,而且對于動量和壓力都可以使用亞松馳因子1.0。對于定常狀態(tài)問題,具有鄰近校正的PISO并不會比具有較好的亞松馳因子的SIMPLE或SIMPLEC好。對于具有較大扭曲網格上的定常狀態(tài)和過渡計算推薦使用PISO傾斜校正。當你使用PISO鄰近校正時,對所有方程都推薦使用亞松馳因子為1.0或者接近1.0。如果你只對高度扭曲的網格使用PISO傾斜校正,請設定動量和壓力的亞松馳因子之和為1.0比如:壓力亞松馳因子0.3,動量亞松馳因子0.7)。如果你同時使用PISO的兩種校正方法,推薦參閱PISO鄰近校正中所用的方法。
4.問:
什么叫求解的初始化?
在FLUENT中初始化的方法對計算結果有什么樣的影響?
初始化中的“patch”怎么理解?
答:
初始化就是在做計算時,給流場一個初始值,包括壓力、速度、溫度和湍流系數等。理論上,給的初始場對最終結果不會產生影響,因為隨著跌倒步數的增加,計算得到的流場會向真實的流場無限逼近,但是,由于Fluent等計算軟件存在像離散格式精度(會產生離散誤差)和截斷誤差等問題的限制,如果初始場給的過于偏離實際物理場,就會出現計算很難收斂,甚至是剛開始計算就發(fā)散的問題。因此,在初始化時,初值還是應該給的盡量符合實際物理現象。這就要求我們對要計算的物理場,有一個比較清楚的理解。
初始化中的patch就是對初始化的一種補充,比如當遇到多相流問題時,需要對各相的參數進行更細的限制,以最大限度接近現實物理場。這些就可以通過patch來實現,patch可以對流場分區(qū)進行初始化,還可以通過編寫簡單的函數來對特定區(qū)域初始化。
5.殘差
殘差波動的主要原因:高精度格式、網格太粗、網格質量差、流場本身邊界復雜、流動復雜、模型的不恰當使用。
問:在進行穩(wěn)態(tài)計算時候,開始殘差線是一直下降的,可是到后來各種殘差線都顯示為波形波動,是不是不收斂阿?
答:有些復雜或流動環(huán)境惡劣情形下確實很難收斂。計算的精度(2階),網格太疏,網格質量太差,等都會使殘差波動。經常遇到,一開始下降,然后出現波動,可以降低松弛系數,我的問題就能收斂,但如果網格質量不好,是很難的。通常,計算非結構網格,如果問題比較復雜,會出現這種情況,建議作網格時多下些功夫。理論上說,殘差的震蕩是數值迭代在計算域內傳遞遭遇障礙物反射形成周期震蕩導致的結果,與網格亞尺度雷諾數有關。例如,通常壓力邊界是主要的反射源,換成OUTFLOW邊界會好些。這主要根據經驗判斷。所以我說網格和邊界條件是主要因素。
例如:流場內部存在尖點等突變,導致網格在局部質量存在問題,影響收斂??梢哉{整一下courant number,courant number實際上是指時間步長和空間步長的相對關系,系統自動減小courant數,這種情況一般出現在存在尖銳外形的計算域,當局部的流速過大或者壓差過大時出錯,把局部的網格加密再試一下。在fluent中,用courant number來調節(jié)計算的穩(wěn)定性與收斂性。一般來說,隨著courant number的從小到大的變化,收斂速度逐漸加快,但是穩(wěn)定性逐漸降低。所以具體的問題,在計算的過程中,最好是把courant number從小開始設置,看看迭代殘差的收斂情況,如果收斂速度較慢而且比較穩(wěn)定的話,可以適當的增加courant number的大小,根據自己具體的問題,找出一個比較合適的courant number,讓收斂速度能夠足夠的快,而且能夠保持它的穩(wěn)定性。
另外,Fluent官方論壇上有一個管理員這么解釋的:
http://university.fluent.com/forum/viewtopic.php?t=1887&sid=5228995e41f4763b95368f660d1a671b
1. Residual pattern in an unsteady simulation will be oscillatory. At each time-step, Fluent will try to converge residual values below the default limits set in the Residual Monitors panel.
2. In a steady simulation, ideally the residuals should not oscillate.
Oscillating residuals may be due to wrong case setup. Following comments should help in reducing convergence trouble.
a.Make sure that grid is of good quality. Please refer the section 6.2.2 of Fluent 6.3 Users Guide for more details on the grid quality.
http://www.fluentusers.com/fluent/doc/ori/html/ug/node155.htm
b. Recheck all the boundary condition.
c. If you are using turbulence model, please check the turbulence parameters on all inlet / outlet boundaries. Please refer to the following white paper for more details regarding the different turbulent boundary conditions:
http://www.fluent.com/software/university/whitepapers/turbulent.pdf
d. Try with better initial guess.
3. The detail about Grid Adaption is available in Chapter 26 of Fluent Users Guide:
http://www.fluentusers.com/fluent6326/doc/ori/html/ug/node1071.htm
本人覺得可以重點參考這個回答。另外,如果出現連續(xù)方程殘差很高收斂慢的情況,首先應該檢查的是網格質量;由于現在大量使用分塊網格,這時要看看兩相鄰塊處的網格大小是不是相差較大,也就是看看有沒有出現cell jump的情況,相鄰網格的大小最好不要超過2倍的關系,這時出現高連續(xù)方程殘差的一個主要原因,這需要在劃分網格時做好規(guī)劃。
有關Courant數的:
對于FLUENT的耦合解算器,對時間步進格式的主要控制是Courant數(CFL),那么Courant數對計算結果有何影響?
courant number實際上是指時間步長和空間步長的相對關系,系統自動減小courant數,這種情況一般出現在存在尖銳外形的計算域,當局部的流速過大或者壓差過大時出錯,把局部的網格加密再試一下。
在Fluent中,用courant number來調節(jié)計算的穩(wěn)定性與收斂性。一般來說,隨著courant number的從小到大的變化,收斂速度逐漸加快,但是穩(wěn)定性逐漸降低。所以具體的問題,在計算的過程中,最好是把courant number從小開始設置,看看迭代殘差的收斂情況,如果收斂速度較慢而且比較穩(wěn)定的話,可以適當的增加courant number的大小,根據自己具體的問題,找出一個比較合適的courant number,讓收斂速度能夠足夠的快,而且能夠保持它的穩(wěn)定性。
courant數:在模擬高壓的流場的時候,迭代的時候總是自動減小其數值,這是什么原因造成的,為什么?怎么修改?
這是流場的壓力梯度較大,Fluent自身逐步降低時間步長,防止計算發(fā)散。我一般的處理辦法是:先將邊界條件上的壓力設置較低點,使得壓力梯度較小一點,等到收斂的感覺差不多,在這個基礎上,逐漸把壓力增大,這樣就不容易發(fā)散。
相關標簽搜索:有關fluent求解收斂的問題收集【轉發(fā)】 Fluent培訓 Fluent流體培訓 Fluent軟件培訓 fluent技術教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學反應 fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析