本文討論一下 Fluent 中亞松弛因子(Under-Relaxation Factors)的數(shù)學(xué)物理含義,以及如何進(jìn)行設(shè)置。 1 亞松弛因子的數(shù)學(xué)含義在 Fluent 以及其他基于迭代求解器的 CFD 軟件中,求解偏微分方程(例如納維-斯托克斯方程)通常是通過(guò)迭代的方式進(jìn)行的。每一次迭代,軟件都會(huì)計(jì)算出新的變量值,并用這些值來(lái)更新當(dāng)前解。然而,如果直接使用新計(jì)算出的變量值來(lái)更新當(dāng)前解,可能會(huì)導(dǎo)致以下問(wèn)題: - 震蕩或發(fā)散: 特別是當(dāng)變量的梯度較大時(shí),直接更新可能會(huì)導(dǎo)致計(jì)算結(jié)果在每一次迭代中大幅度波動(dòng),甚至發(fā)散,無(wú)法收斂到穩(wěn)定的解。
- 收斂速度慢: 有些情況下,即使沒(méi)有出現(xiàn)發(fā)散,直接更新也可能導(dǎo)致收斂速度非常慢,迭代很多次都無(wú)法得到穩(wěn)定的結(jié)果。
亞松弛因子就是為了解決這些問(wèn)題而引入的。它本質(zhì)上是一個(gè)介于 0 和 1 之間的系數(shù),用于控制每次迭代中更新量的比例。其數(shù)學(xué)表達(dá)如下:- :計(jì)算值,指的是本次迭代根據(jù)方程計(jì)算出來(lái)的變量值。
- :亞松弛因子,一個(gè)任意指定的介于 0 和 1 之間的系數(shù)。
從這個(gè)公式可以看出,亞松弛因子的作用是將計(jì)算值和舊值之間的差值(即更新量)按比例縮小。例如: - 如果亞松弛因子為 1,則表示完全采用計(jì)算值來(lái)更新,相當(dāng)于沒(méi)有亞松弛。
- 如果亞松弛因子為 0.5,則表示只采用計(jì)算值更新量的一半。
- 如果亞松弛因子接近 0,則表示更新量非常小,更偏向于保持上一次迭代的結(jié)果。
2 亞松弛因子的物理含義從物理的角度理解,亞松弛因子可以看作是引入了一個(gè)“緩沖”或“阻尼”機(jī)制,其限制了變量更新的速度,使其在迭代過(guò)程中更加平緩,避免由于計(jì)算誤差或不穩(wěn)定而產(chǎn)生的劇烈波動(dòng)。 更具體地說(shuō),亞松弛因子可以解釋為: - 對(duì)時(shí)間步長(zhǎng)的隱式調(diào)整: 在時(shí)間相關(guān)的問(wèn)題中,減小亞松弛因子可以看作是隱式地減小了時(shí)間步長(zhǎng),從而提高了計(jì)算的穩(wěn)定性。
- 對(duì)流場(chǎng)的穩(wěn)定: 在高雷諾數(shù)等復(fù)雜流動(dòng)問(wèn)題中,流動(dòng)往往是不穩(wěn)定的,亞松弛因子可以幫助穩(wěn)定計(jì)算過(guò)程,抑制數(shù)值振蕩。
- 對(duì)源項(xiàng)的限制: 在一些包含源項(xiàng)的方程中,亞松弛因子可以防止源項(xiàng)的劇烈變化導(dǎo)致的不穩(wěn)定。
3 Fluent中的亞松弛因子Fluent 中針對(duì)不同的變量都提供了相應(yīng)的亞松弛因子,并且默認(rèn)設(shè)置通常是有效的。然而,在一些特殊情況下,用戶可能需要調(diào)整它們。以下是一些建議: 默認(rèn)值: - 動(dòng)量 (Momentum): 0.3 ~ 0.7 (通常和速度相同)
- 湍動(dòng)能 (Turbulent Kinetic Energy, k): 0.5 ~ 0.8
- 湍流耗散率 (Turbulent Dissipation Rate, ε): 0.5 ~ 0.8
- 標(biāo)量 (Scalars): 0.8 ~ 1.0 (例如能量、組分等)
調(diào)整建議: - 高雷諾數(shù)流動(dòng): 對(duì)于高雷諾數(shù)的湍流,特別是分離流動(dòng),可能需要降低壓力和速度的亞松弛因子,甚至低至 0.2 或更低。
- 強(qiáng)源項(xiàng): 如果方程中包含很強(qiáng)的源項(xiàng),例如化學(xué)反應(yīng)或多相流動(dòng),可能需要降低相關(guān)變量的亞松弛因子,以避免計(jì)算不穩(wěn)定。
- 網(wǎng)格質(zhì)量差: 如果網(wǎng)格質(zhì)量較差,例如存在較大的傾斜度或縱橫比,可能需要降低所有變量的亞松弛因子。
- 收斂困難: 如果迭代過(guò)程中出現(xiàn)收斂困難(例如殘差振蕩不收斂),可以嘗試降低壓力和速度的亞松弛因子。
- 收斂緩慢: 如果收斂速度太慢,可以嘗試適當(dāng)增加標(biāo)量等變量的亞松弛因子。
- 首先調(diào)整壓力: 如果要進(jìn)行調(diào)整,通常建議首先調(diào)整壓力亞松弛因子,因?yàn)閴毫κ撬俣葓?chǎng)的驅(qū)動(dòng)因素。
- 逐漸調(diào)整: 建議不要一次性大幅度調(diào)整亞松弛因子,而是逐漸地調(diào)整,并觀察計(jì)算結(jié)果的變化。
- 從較低的值開(kāi)始: 如果不確定如何設(shè)置,可以從較低的值開(kāi)始(例如 0.2),然后逐漸增大,直到找到合適的平衡點(diǎn)。
在 Fluent 中,可以通過(guò)雙擊模型樹(shù)節(jié)點(diǎn)Solution > Controls 打開(kāi)任務(wù)頁(yè)設(shè)置亞松弛因子,需要注意的是,該任務(wù)頁(yè)中的設(shè)置項(xiàng)目與用戶選用的物理模型有關(guān)。 4 注意事項(xiàng)- 因子不宜設(shè)置過(guò)低: 過(guò)低的亞松弛因子會(huì)導(dǎo)致收斂速度過(guò)慢,甚至可能導(dǎo)致計(jì)算結(jié)果不準(zhǔn)確。
- 具體問(wèn)題具體分析: 最佳的亞松弛因子設(shè)置取決于具體的流動(dòng)問(wèn)題、網(wǎng)格質(zhì)量和所用的求解器。
- 經(jīng)驗(yàn)積累: 調(diào)整亞松弛因子需要一定的經(jīng)驗(yàn)積累。通過(guò)不斷地嘗試和觀察,可以找到最適合特定問(wèn)題的設(shè)置。
(完)
|