
發布
注冊
/
登錄Fluent殘差收斂的案例
[問題討論]Fluent殘差收斂標準問題
Fluent默認的收斂標準是:除能量的殘差值外,當所有變量的殘差值都降到低于10-3時,就認為計算收斂,而能量的殘差值的收斂標準為低于10-6
怎樣判斷計算結果是否收斂?
1、觀察點處的值不再隨計算步驟的增加而變化;
2、各個參數的殘差隨計算步數的增加而降低,最后趨于平緩;
3、要滿足質量守恒(計算中不牽涉到能量)或者是質量與能量守恒(計算中牽涉到能量)。
特別要指出的是,即使前兩個判據都已經滿足了,也并不表示已經得到合理的收斂解了,因為,如果松弛因子設置得太緊,各參數在每步計算的變化都不是太大,也會使前兩個判據得到滿足。此時就要再看第三個判據了。
還需要說明的就是,一般我們都希望在收斂的情況下,殘差越小越好,但是殘差曲線是全場求平均的結果,有時其大小并不一定代表計算結果的好壞,有時即使計算的殘差很大,但結果也許是好的,關鍵是要看計算結果是否符合物理事實,即殘差的大小與模擬的物理現象本身的復雜性有關,必須從實際物理現象上看計算結果。比如說本斑最近在算的一個全機模型,在大攻角情況下,解震蕩得非常厲害,而且殘差的量級也總下不去,但這仍然是正確的,為什么呢,因為大攻角下實際流動情形就是這樣的,不斷有渦的周期性脫落,流場本身就是非定常的,所以解也是波動的,處理的時候取平均就可以了。有時候我們會認為只要所有的殘差達到1e-3或者1e-4就是達到收斂了。其實這個1e-3或者1e-4的收斂標準是相對而言的。在FLUENT中殘差是以開始5步的平均值為基準進行比較的。如果你的初值取得好,你的迭代會很快收斂,但是你的殘差卻依然很高;但是當你改變初場到比較不同的值時,你的殘差開始會很大,但隨后卻可以很快降低到很低的水平,讓你看起來心情很好。其實兩種情況下流場是基本相同的。
由此來看,判斷是否收斂并不是嚴格根據殘差的走向而定的。
展開 【轉載】Fluent中殘差曲線continuity不收斂的問題
continuity不收斂的問題
(1)連續性方程不收斂是怎么回事?
在計算過程中其它指數都收斂了,就continuity不收斂是怎么回事。
這和fluent程序的求解方法SIMPLE有關。SIMPLE根據連續方程推導出壓力修正方法求解壓力。由于連續方程中
流場耦合項被過渡簡化,使得壓力修正方程不能準確反映流場的變化,從而導致該方程收斂緩慢。
你可以試驗SIMPLEC方法,應該會收斂快些。
在計算模擬中,continuity總不收斂,除了加密網格,還有別的辦法嗎?別的條件都已經收斂了,就差它自己
了,還有收斂的標準是什么?是不是到了一定的尺度就能收斂了,比如10-e5具體的數量級就收斂了
continuity
是質量殘差,具體是表示本次計算結果與上次計算結果的差別,如果別的條件收斂了,就差它。可
以點report,打開里面FLUX選項,算出進口與出口的質量流量差,看它是否小于0.5%.如果小于,可以判斷它
收斂.
(2)
fluent殘差曲線圖中continuity是什么含義?
是質量守恒方程的反映,也就是連續性的殘差。這個收斂的快并不能說明你的計算就一定正確,還要看動量
方程的迭代計算。
展開 有限元計算殘差收斂多大視為收斂?
觀點1
fluent默認的收斂標準是:除能量的殘差值外,當所有變量的殘差值都降到低于1e-3時,就認為計算收斂,而能量的殘差值的收斂標準為低于1e-6
怎樣判斷計算結果是否收斂?
1、觀察點處的值不再隨計算步驟的增加而變化;
2、各個參數的殘差隨計算步數的增加而降低,最后趨于平緩;
3、要滿足質量守恒(計算中不牽涉到能量)或者是質量與能量守恒(計算中牽涉到能量)。
特別要指出的是,即使前兩個判據都已經滿足了,也并不表示已經得到合理的收斂解了,因為,如果松弛因子設置得太緊,各參數在每步計算的變化都不是太大,也會使前兩個判據得到滿足。此時就要再看第三個判據了。
還需要說明的就是,一般我們都希望在收斂的情況下,殘差越小越好,但是殘差曲線是全場求平均的結果,有時其大小并不一定代表計算結果的好壞,有時即使計算的殘差很大,但結果也許是好的,關鍵是要看計算結果是否符合物理事實,即殘差的大小與模擬的物理現象本身的復雜性有關,必須從實際物理現象上看計算結果。比如說本斑最近在算的一個全機模型,在大攻角情況下,解震蕩得非常厲害,而且殘差的量級也總下不去,但這仍然是正確的,為什么呢,因為大攻角下實際流動情形就是這樣的,不斷有渦的周期性脫落,流場本身就是非定常的,所以解也是波動的,處理的時候取平均就可以了。有時候我們會認為只要所有的殘差達到1e-3或者1e-4就是達到收斂了。其實這個1e-3或者1e-4的收斂標準是相對而言的。在FLUENT中殘差是以開始5步的平均值為基準進行比較的。如果你的初值取得好,你的迭代會很快收斂,但是你的殘差卻依然很高;但是當你改變初場到比較不同的值時,你的殘差開始會很大,但隨后卻可以很快降低到很低的水平,讓你看起來心情很好。其實兩種情況下流場是基本相同的。
由此來看,判斷是否收斂并不是嚴格根據殘差的走向而定的。
展開 仿真收斂不看殘差,看什么?
收斂表示仿真軟件已經把流場反復修正到位,可以結束仿真運算了。
如何判斷仿真是否已經收斂,讓我們很為難。
放寬收斂標準,可能把沒有收斂的錯誤結果當作收斂結果接受了。
收緊收斂標準,又會多運行很多步,白白浪費很多時間。
所以,我們希望有個放之四海而皆準的收斂標準,在仿真運行到收斂的時候,正好結束仿真。這個標準,不是一個數,不是一個公式。從把握全局標準的殘差,到追求終局目標的設計參數,最后深挖局部觀察的流動現象。從表及里,一層層剝開。看完這三層,才敢說是否已經收斂。
一、全局標準
殘差——仿真軟件估算的誤差
常規的收斂判斷是:殘差小到十的負四次方、負六次方……。
對于簡單算例,直接用軟件給你的標準,殘差達到標準就認為收斂。
對于復雜算例,誰也無法只用殘差判斷是否收斂。
仿真軟件運行幾十步后,殘差完成了漂亮的跳水,就不死不活地上上下下波動。
你猜不透,殘差背后,仿真軟件是在辛苦地修正流場,還是在攪亂流場。
你猜不透,殘差下降到十的負六次方,表示流動已經修正合理,還是軟件根本忽視了不合理的分布。殘差只是軟件估算的整個流場的殘余誤差,并沒有告訴你流場在發生什么。
計算機不能自動設置一個收斂準則,取代你的判斷,所以你有存在的價值。
二、終局目標
換個思路,仿真的終局目標就是獲得設計參數。如果你要算阻力,為什么不直接觀察阻力變化?直接觀察你關心的參數變化。例如:阻力、升力、薄弱點的溫度、漩渦附近的壓強、摻混處的濃度。管它殘差如何,反正你又不用殘差做設計。只要你最掛念的位置沒有出問題,你最關注的設計參數平穩下來,這個仿真結果基本可以用了。
如果阻力還在持續下降,即使殘差再小,你也不敢說收斂了,還要繼續運行。
展開 
仿真收斂不看殘差,看什么?
西班牙的立體主義畫家 胡安.格里斯
收斂表示仿真軟件已經把流場反復修正到位,可以結束仿真運算了。
如何判斷仿真是否已經收斂,讓我們很為難。
放寬收斂標準,可能把沒有收斂的錯誤結果當作收斂結果接受了。
收緊收斂標準,又會多運行很多步,白白浪費很多時間。
所以,我們希望有個放之四海而皆準的收斂標準,在仿真運行到收斂的時候,正好結束仿真。
這個標準,不是一個數,不是一個公式。從把握全局標準的殘差,到追求終局目標的設計參數,最后深挖局部觀察的流動現象。從表及里,一層層剝開。
看完這三層,才敢說是否已經收斂。
一、全局標準
殘差——仿真軟件估算的誤差
常規的收斂判斷是:殘差小到十的負四次方、負六次方……。
對于簡單算例,直接用軟件給你的標準,殘差達到標準就認為收斂。
對于復雜算例,誰也無法只用殘差判斷是否收斂。
仿真軟件運行幾十步后,殘差完成了漂亮的跳水,就不死不活地上上下下波動。
你猜不透,殘差背后,仿真軟件是在辛苦地修正流場,還是在攪亂流場。
你猜不透,殘差下降到十的負六次方,表示流動已經修正合理,還是軟件根本忽視了不合理的分布。
殘差只是軟件估算的整個流場的殘余誤差,并沒有告訴你流場在發生什么。
大形勢與你有什么關系,大趨勢好的時候也有賠錢的,大形勢不好的時候,也有賺錢的。
殘差與你有什么關系,殘差小的時候,也有流場亂的,殘差大的時候,也有流場收斂的。
沒有人可以只用股票指數炒股賺錢。沒有人可以只用殘差判斷復雜算例收斂情況。
計算機不能自動設置一個收斂準則,取代你的判斷,所以你有存在的價值。
你抱怨的就是你存在的意義。
二、終局目標
換個思路,仿真的終局目標就是獲得設計參數。如果你要算阻力,為什么不直接觀察阻力變化?
展開 CAE黑話:收斂性、殘差與計算控制
在非線性分析中,計算不收斂是所有工程師的噩夢。理解這幾個概念是調試模型的關鍵。
1?? 收斂性 (
Convergence
)
迭代計算中,數值解趨于真實解的過程。當力平衡誤差和位移增量減小到預設容差(Tolerance)以內,即認為該步收斂。不收斂通常意味著模型存在剛體位移、接觸設置沖突或材料極度非線性。
2??
殘差
(
Residual
Force)
這是衡量“不平衡力”的指標。數學上為 $P - I$(外部載荷減去內部抗力)。殘差越小,說明力平衡越精確。如果殘差始終震蕩且不下降,通常需要檢查載荷步或網格。
3?? 能量偏差 (Energy Error/Balance)
評估能量守恒的準則。在顯式動力學或偽靜態分析中,由于引入了人工阻尼或沙漏控制,必須監控“偽能 (Artificial Energy)”與“內能 (Internal Energy)”的比值。通常要求該偏差控制在5%以內,否則結果不可信。
4?? 增量步控制 (Increment Control)
非線性計算不是一次完成的,而是切分成多個增量步。自動步長算法會根據收斂的難易程度自動縮放。如果收斂困難,減小初始步長(Initial Increment)是保命手段。
展開 FLUENT中的非穩態的殘差曲線
FLUENT中可選耦合式和分離式解法。
對于非穩態問題,unsteady, 則會出現時間相關項的計算方法選項: 如一階隱式,二階隱式、
注意,顯式只是對于耦合顯式求解器有效。
PISO適合于瞬態模擬,特別是時間步長較大到情況。取1.0的欠松弛因子可以保證計算的穩定性。或者網格變形度高的地方。但是對于LES而言,由于LES需要更小的時間步長,因此不適合用PISO。LES 最好使用SIMPLE(C)算法。
Courant Number 用來控制耦合求解的時間步長。時間步長與courantnumber成正比。因此顯式需嚴格控制時間步長,courant number。
非穩態的殘差圖中,每一次更新都會使殘差變大,因此會是一條振蕩的曲線。此外,x軸是對數軸,因此每次屏滿了之后都會重新調X軸,導致曲線彎曲。
時間步長越小,越不容易發散,特別是顯式計算對時間步長的要求很嚴格。如果在設定的最大迭代數(20)內還沒收斂,可能是要減小時間步長或者減小courant數。
通過殘差曲線來看收斂性:
- 一般的,殘差下降三個數量級表示至少達到了定性的收斂,流場的主要特征已經形成。
- 壓力基求解器的能量殘差應該下降到10-6以下
- 檢查全局通量守恒:檢查(NetResults)應該小于通過邊界通量的最小值的1%。(在Reports ->fluxes->mass flowrate->boundaries, 再compute)。
收斂遇到困難????
對一些病態問題,差質量的網格或者不合理的求解器設置都會出現數值的不穩定性。
變現為殘差曲線上揚(不收斂,發散)或者幾乎水平(不下降)
發散意味著守恒方程的不平衡增加。
展開 [問題討論]Fluent殘差震蕩問題
3、在fluent中,用courant number來調節計算的穩定性與收斂性。一般來說,隨著courant number的從小到大的變化,收斂速度逐漸加快,但是穩定性逐漸降低。所以具體的問題,在計算的過程中,最好是把courant number從小開始設置,看看迭代殘差的收斂情況,如果收斂速度較慢而且比較穩定的話,可以適當的增加courant number的大小,根據自己具體的問題,找出一個比較合適的courant number,讓收斂速度能夠足夠的快,而且能夠保持它的穩定性。
4、如果出現連續方程殘差很高收斂慢的情況,首先應該檢查的是網格質量;由于現在大量使用分塊網格,這時要看看兩相鄰塊處的網格大小是不是相差較大,也就是看看有沒有出現cell jump的情況,相鄰網格的大小最好不要超過2倍的關系,這時出現高連續方程殘差的一個主要原因,這需要在劃分網格時做好規劃。
鄭重聲明:本文由不吃醋的貓發布,所有內容僅代表個人觀點。版權歸懶貓窩窩和不吃醋的貓共有,歡迎轉載。原文鏈接:http://www.lanmaowang.com/?p=35723。
對文章中具體內容感興趣或者對使用CATIA幾何建模,ANSYS ICEM網格生成,Pointwise軟件使用方法,ANSYS Fluent軟件,CFD++軟件,STARCCM軟件及開源軟件SU2軟件感興趣的讀者可以關注技術鄰賬號:Oler。
展開 fluent使用經驗 y+ 周期性邊界條件 收斂標準 修改fluent中單位
3.三種判斷收斂的方法:(1)殘差達到一個可以接受的程度:默認出了能量是10^-6以外,其余的全是10^-3。
(2)求解值不再隨迭代發生改變:有時候,殘差還在下降,但是某些監視的流動變量不再發生變化即可。
(3)系統的質量、動量、能量達到平衡:利用flux report實現,要求凈不平衡量小于0.2%。
4.創建一對周期性邊界的的方法:(1)在命令框中按回車,得到命令提示符>
(2)輸入mesh/modify-zones/make-periodic,再根據提示選擇相應的面。
5.outflow邊界條件不需要給定任何入口的物理條件,但是應用也會有限制,大致為以下四點:
1.只能用于不可壓縮流動
2.出口處流動充分發展
3.不能與任何壓力邊界條件搭配使用(壓力入口、壓力出口)
4.不能用于計算流量分配問題(比如有多個出口的問題)
6.在壓力出口中,會要求輸入相應的backflow turbulent intensity等值,這些值只有在迭代時產生返流的時候才會使用,
通常設置成一個合理的值。算例14中,設置為intensity 10%,diameter hydraulic按實際模型數值。
7.后處理的時候,顯示速度矢量圖的時候,箭頭的長度可以不按速度的大小給出,而僅由箭頭的顏色決定,具體的操作:
Vector options.勾選Fixed Length
8.波爾茲曼數能表征傳熱中對流傳熱和輻射傳熱所占的比例,具體的表達式在第14個例子的最后。
展開 三十二、Fluent收斂判斷標準及方法
Fluent迭代計算流程</strong></p><p> </p><p><strong>1.1 計算流程</strong></p><p><br></p><p>在講述收斂之前,我們先了解一下Fluent是如何進行迭代求解的。</p><p>在建模劃分網格后,通過一系列設置,單擊Calculation,Fluent開始計算,其流程如下:</p><ol><li>根據初始化值,假設流場物理量初值為Q0</li><li>在初值基礎上,根據守恒方程,對流場進行計算,得出新的流場物理量值Q1</li><li>比較Q0與Q1的值,|Q1-Q0|稱為絕對誤差,|Q1-Q0|/Q1為相對誤差。</li><li>若誤差小于設定值P,則達到收斂;否則,未達到收斂,取新的迭代值Q2進行計算,重復以上步驟。</li></ol><p> <img src="https://mmbiz.qpic.cn/mmbiz_png/8tJMdLVYZyicRKfutZe5xPg3lTv8ADcu3knGv8hoMiaxWXvaRicumZLAZPwOqfajkhK7zibJ9FCDYO1nYa9pkLs72Q/640?wx_fmt=png"> </p><p> </p><p> </p><p><strong>1.2 殘差的理解</strong></p><p><br></p><p>檢測的的物理量主要有速度、質量、能量、湍流參數等,如上圖1</p><p><br></p><p>這里的誤差并不是殘差Residual,實際上殘差的計算要復雜的多,但是為了理解方便,我們可以認為殘差等同于誤差。
展開 FLUENT不收斂案例及解決方法
今天分享一個FLUENT的不收斂案例及其解決方法。計算的對象是一個新型的渦扇發動機加力燃燒室(圖1)。在這種新型加力燃燒室中,火焰穩定器被整合到整流支板上,因此整流支板和整流錐都需要冷卻。在整流支板和整流錐上開了很多小孔,冷卻氣從這些孔滲出,形成冷卻氣膜。
圖1 加力燃燒室
這個算例模擬的是實驗的工況。實驗中沒有在加力燃燒室內燃燒,而只是在“主流入口”處引入高溫氣體,在“冷卻氣入口”處引入冷卻氣,以檢驗氣膜冷卻的效能。
整流支板共有15塊,為了減小計算量,只計算其中的一塊(360°/15=24°)。主流入口和冷卻氣入口都采用“mass-flow-inlet”條件,其中主流入口的流量是0.8kg/s,總溫是1241.3K,冷卻氣入口的流量是0.024kg/s,總溫是490.3K。出口采用“pressure-outlet”條件,反壓是101325Pa(絕對壓力)。由于形狀比較復雜,特別是其中有很多小孔,所以采用非結構網格,四面體單元。流體的狀態方程采用理想氣體(ideal-gas)模型,湍流模型采用Realizable k-ε模型。采用基于壓力的求解器。
采用定常算法計算不收斂(圖2;這里我們使用FLUENT默認的收斂條件,即能量方程的殘差降低到1e-6以下,其余方程降低到1e-3以下)。考慮到可能是分離流誘發的非定常效應導致不收斂(見公眾號先前的文章“為何我這個流動總是算不收斂?我要砸電腦!”),我們嘗試使用非定常算法。但是不幸的是非定常算法仍然不能在每個時間步內收斂。非定常計算的典型殘差曲線如圖3所示。
圖2 定常計算的殘差曲線
圖3 非定常計算仍然不收斂。此圖是時間步長設為3×10-6秒時的結果。圖中顯示了5個時間步的殘差曲線。
為了弄清不收斂的原因,我們用MATLAB編寫兩個小程序。
展開 
四十三、Fluent增強收斂性-偽瞬態計算
wx_fmt=png" width="100%"> </p><p><br></p><p>Automatic:Fluent會自動計算偽時間步長,自動時間尺度計算通常比較保守,將時間尺度因子增加到3或10會提高收斂速度。降低到0.3或0.1可使收斂性更好。</p><p><br></p><p>Length Scale Method:微調偽時間步長大小,有兩種方式:</p><p>Conservative:默認值,對于三維,使用網格體積的立方體根,對于二維,使用面積的平方根。</p><p>Aggressive:使用最大幾何范圍,比Conservative方式時間步長更大。</p><p><br></p><p><br></p><p>Verbosity:整數值0、1、2,默認是0,值為1將打印偽時間步長。值為2將打印有關計算的其他細節。</p><p><br></p><p><strong>3.2 Solid Time Scale</strong></p><p><br></p><p>只有當區域中存在固體區域,或在多孔介質模型、固化與熔融模型啟用了能量方程,Solid Time Scale才會出現在界面中。</p><p><br></p><p>User-Specified:可以輸入Pseudo Time Step Size。</p><p>Automatic:Fluent會自動計算偽時間步長</p><p><br></p><p><br></p><p><strong>4. 多相流偽時間步長設置</strong></p><p> </p><p>a. 上述的偽時間步長設置在多相流中同樣適用</p><p><br></p><p>b. 對于穩態問題,不應該僅基于殘差來判斷收斂性。為了更好地判斷收斂性,還應該監視特定位置的變量,直到該值基本不變。</p><p><br></p><p>c.
展開 大多數Fluent不收斂問題的通用解決辦法
ICEMCFD中的體加密方法
有了局部加密的網格,我們的殘差通常就會有針對性的降下來了,“廣譜抗生素”對于一些問題的適用性還是顯而易見的,最明顯的局部網格加密,就是邊界層網格,只加密大梯度的近壁面位置,從而加速仿真的收斂效率。
邊界層網格的本質是局部加密
結語:對于成熟的Fluent案例,出現計算不收斂的情況是非常正常的,此時,有針對性的加密大梯度變量區域的網格,能夠有效減少數值振蕩,從而加速收斂。可以認為是一劑非常可靠的“廣譜抗生素”。
作者:張楊
FLUENT收斂型噴嘴內不可壓縮流動模擬
本例的目的是了解守恒定律在確定通過收斂噴嘴的不可壓縮空氣流物理過程中的作用。
1、啟動FLUENT并導入網格
(1)在Windows系統下執行“開始”→“所有程序”→ANSYS 2021 R1→Fluid Dynamics→Fluent 2021 R1命令,啟動Fluent 2021 R1。
(2)單擊主菜單中File→Read→Mesh命令,導入.msh網格文件。
2、定義模型
單擊命令結構樹中General按鈕,彈出General(總體模型設定)面板,在Solver中Time選擇Steady,進行穩態計算,2D Space選擇Axisymmetric。
3、設置邊界條件
(1)在邊界條件面板中,雙擊inlet彈出邊界條件設置對話框。Velocity Magnitude輸入10,單擊OK按鈕確認退出。
(2)雙擊outlet彈出邊界條件設置對話框。保持默認值,單擊OK按鈕確認退出。
4、初始條件
單擊主菜單中Solution→Initialization按鈕,彈出Solution Initialization(初始化設置)面板。
Initialization Methods中選擇Hybrid Initialization,單擊Initialize按鈕進行初始化。
5、計算求解
單擊主菜單中Solving→Run Calculation按鈕,彈出Run Calculation(運行計算)面板。
在Number of Iterations中輸入15000,單擊Calculate開始計算。
6、結果后處理
(1)進入CFD-Post界面。
展開 Fluent中計算收斂標準淺析
FLUENT中殘差的概念:
殘差是cell各個face的通量之和,當收斂后,理論上當單元內沒有源項使各個面流入的通量也就是對物理量的輸運之和應該為零。最大殘差或者RSM殘差反映流場與所要模擬流場(只收斂后應該得到的流場,當然收斂后得到的流場與真實流場之間還是存在一定的差距)的殘差,殘差越小越好,由于存在數值精度問題,不可能得到0殘差,對于單精度計算一般應該低于初始殘差1e-03以下才好,當注意具體情況,看各個項的收斂情況(比方說連續項不易收斂而能量項容易)。
一般在FLUENT中可以進行進出口流量監控,當殘差收斂到一定程度后,還要看進出口流量是否穩定平衡,才可確定收斂與否(翼型計算時要監控升阻力的平衡)。
殘差在較高位震蕩,需要檢查邊界條件是否合理,其次檢查初始條件是否合理,比如激波的流場,初始條件的不合適會造成流場的振蕩。有時流場可能有分離或者回流,這本身是非定常現象,計算時殘差會在一定程度上發生振蕩,這是如果進出口流量是否達到穩定平衡,也可以認為流場收斂。另外fluent缺省采用多重網格,在計算后期將多從網格設置為0可以避免一些波長的殘差在細網格上發生震蕩。
計算收斂標準淺析
收斂曲線,實際上就是殘值曲線。求解微分方程的時候,都是采用迭代方法進行迭代。對于同一個節點的同一個物理值,第N次迭代的結果是c1,第N+1次迭代的結果是c2,那改點同一個物理值的殘值就可以定義為c2-c1。所以當殘值很小的時候,也就是c1和c2基本上一樣,即流場參數不變化,達到穩定了,所以就可以認為計算收斂了。一般來說,計算流體力學中殘值并不簡單的等于c2-c1,應該是單元格的通量項殘差,不過作用跟c2-c1是一樣的。在fluent的求解中,為了防止殘值過大導致計算出錯,在迭代中加上了松弛因子,也就是說fluent中的殘值應該等于通量項殘值*松弛因子。
展開