提高“康木搜”非線性穩態模型的收斂性

因爲CSDN感覺跟COMSOL有愁,標題用上就說廣告,無奈改變標題,以求可以通過。

一、問題描述

非線性穩態(與時間無關)問題在求解的過程中,有時收斂很慢。通常來說,模型中求解的控制方程本身,與求解變量相關的材料屬性、載荷或邊界條件等,都可能在模型中引入非線性。一般來說,多物理場耦合問題都是非線性的。😆

二、解決辦法

通常這類問題與用於求解非線性穩態模型的迭代算法有關。一般而言,該算法爲牛頓法。也就是說,軟件在求解時,求解器會從用戶指定的初始值開始,計算所有與解相關的項。然後,軟件計算一個初始解,並基於此迭代地重新計算解,同時分析這些中間解對非線性的影響。當逐次迭代之間求解結果的差值足夠小,或者當殘差足夠小時,我們就可以認爲該問題收斂到指定的容差。對於一個適定問題, 初始值不當,非線性求解器無法通過重複迭代逼近解,或因網格不夠細化而無法解析解的空間變化,都可能造成求解器收斂緩慢(或根本不收斂)。

  1. 初始值
    在大多數物理場接口中,未知數的默認初始值均爲零。“傳熱”接口是例外情況,其溫度場的默認“初始值”爲 293.15K 或 20℃。當初始值沒有爲這種迭代方法提供良好的起點時,收斂會很差。如果我們已知所求解變量的近似估值,則可以將其作爲“初始值”框中的表達式輸入。然而,除了一些傳熱問題外,我們通常很難獲得所求解變量的近似估值,因此需要考慮使用替代方法。
  2. 載荷緩慢變化
    一般來說,如果非線性系統的載荷爲零,則該系統將處於靜止狀態,即,解爲零。因此,如果施加的載荷非常小,那麼初始值爲零幾乎總是合理的。如果施加的載荷足夠小,非線性求解器從初始條件爲零開始計算,將得到收斂解。也就是說,您可以先求解具有很小但非零載荷的模型。基於此,如果逐漸附加載荷增量,則先前計算的解就可以作爲合理的初始條件。對這個邏輯進行擴展,如果您想要求解非線性系統中的任意載荷,則可求解一系列中間問題,在此過程中逐漸增加載荷值,並且每次都使用上一步的解作爲下一步的初始條件。**在軟件中這可以通過連續法完成,當您使用輔助掃描研究擴展時,系統會默認啓用此方法,**如下所示。
    “輔助掃描”可用於實現緩慢增加載荷和問題的非線性。
    您可以引入一個全局參數P,並將其從接近 0 的值逐漸增加到 1。此參數在物理場接口中用於乘以一個、部分或所有外加載荷係數。
    這種技術的優點體現在兩個方面。首先,這種方法在物理上很直觀,通常與人們進行實驗的方式相符合。其次,如果找不到解,連續法將自動採用較小的載荷增量。例如,如果在遞增 P 時採用以下值:0.2,0.4,0.6,0.8,1.0,那麼,當值爲 0.8 時,非線性求解器可能無法收斂。在這種情況下,連續法將自動回溯並嘗試求解 0.6 到 0.8 範圍內的中間值。由於軟件隨後將返回可能的最大載荷工況估計值,此時求解器可以收斂,因此這種方法非常有用。
  3. 非線性斜坡變化
    載荷斜坡變化技術並不總是適用於所有問題。在這種情況下,您可以使用相同的連續法,但改爲使模型中的非線性呈斜坡變化。非線性與控制方程、材料非線性表達式或物理場之間的耦合項緊密相關。同樣,您可以引入一個全局參數,使其從 0 逐漸增加到 1。使用此參數對模型中的非線性表達式進行修正。例如,存在溫度相關的材料屬性時,如:
    k(T)=10[W/m/K]exp((T293[K])/100[K])k(T) = 10[W/m/K]*exp(-(T-293[K])/100[K])
    您可以將其替換爲以下表達式:
    k(T,P)=10[W/m/K]((1P)+Pexp((T293[K])/100[K]))k(T,P) = 10[W/m/K]*((1-P)+P*exp(-(T-293[K])/100[K]))
    當值爲 P=0 時,上述表達式呈線性,值爲 P=1 時,該表達式等於原始非線性表達式。隨着 P 值的斜升,連續法會使用先前的解作爲更多非線性情況的初始條件。如果您定義了這種非線性斜坡變化,使第一種情況 (P=0) 是一個純線性問題,那麼必然會得到斜坡變化中第一步的解。
    對於模型中存在任何非線性項變化突然的情況,尤其適合使用非線性斜坡變化這一技術。在極端情況下,假設我們想要對屬性的瞬時變化進行建模,比如:
    (T)=10[W/m/K]+10[W/m/K](T>400[K])(T) = 10[W/m/K]+10[W/m/K]*(T>400[K])
    也就是說,材料屬性在 400K 時,從 10W/m/K 瞬間變爲 20W/m/K。由於這種材料屬性的變化不平滑,因此這種情況通常難以求解,或不可能求解。此時,可以改用非線性材料屬性表達式,從非常平滑的函數過渡爲幾乎不連續的函數。連續法將再次回溯並嘗試求解斜坡參數的中間值,從而爲可求解的突變提供最接近的值。
    您可以將載荷和非線性的斜坡變化結合使用,但開始時只研究一個/幾個載荷或非線性呈斜坡變化的情況。您可以檢查求解器日誌,查看連續法是否回溯。如果已回溯,請在該範圍內使用更小的增量。
  4. 網格細化
    如果採用載荷和非線性斜坡變化後,求解器仍然收斂緩慢,您可以嘗試細化網格。有限元網格必須足夠細化才能解析解場的空間變化。理想情況下,對於解在空間中快速變化的區域,我們可以使用小單元,而在其他區域使用較大的單元。但是,我們通常不可能提前知道這一點。因此,建議您使用自適應網格細化,此功能僅對有必要細化網格的區域自動執行網格細化,而在其他區域使用粗化網格。此外,您也可以手動細化網格。有關更多詳細信息,請參見:執行網格細化研究。
    網格細化通常可能需要與載荷或非線性的斜坡變化結合使用,並可能需要進行一系列研究,您可以首先對非線性斜坡變化使用相對粗化的網格,接着細化網格,然後再使細化的網格進一步產生斜坡變化。將非線性斜坡變化和自適應網格細化技術與多個研究步驟相結合的示例模型爲: 金屬冷卻和凝固。
  5. 求解方法
    您可以使用兩種方法來迭代求解非線性方程組:全耦合或分離方法。前一種方法一次求解問題中的所有未知量,並在單次迭代中考慮所有未知量之間的所有耦合項。這種方法的計算成本相對較高,但收斂效果最佳。默認情況下,大多數一維、二維和二維軸對稱模型都使用此方法。
    另一種是分離法,可分別求解多組未知量。我們通常根據未知量所表示的物理場將其分成多個組,然後依次對這些組進行求解。也就是說,在每個外部牛頓型迭代中,分離法按順序求解每個分離的組。因此,軟件使用任何先前計算步驟中的解作爲初始值和線性化點,將每個物理場作爲單獨的問題進行求解,其中忽略不同組之間的耦合項。儘管如此,分離法通常也能非常穩健地收斂(模型中的物理場之間存在強耦合的情況除外)。與全耦合方法相比,這種方法的內存需求始終更低,並且總的求解時間也往往更短。默認情況下,大多數三維多物理場模型都使用分離法,並且軟件會自動將問題分成適當的組。
    要在這兩類求解器之間進行切換,請轉到研究序列中的穩態求解器節點。該節點始終包含分離或全耦合特徵。右鍵單擊穩態求解器節點並添加分離或全耦合特徵。在任一特徵中,啓用求解時顯示結果選項(如下面的屏幕截圖所示)也很有幫助,可以將求解期間進行的迭代可視化。
    “全耦合”求解方法,其中已啓用“求解時繪圖”。
    有時,您需要手動縮放因變量。請參見知識庫 1240:手動設置變量的縮放比例。
    您可以選擇使用穩態求解器中的其他低級默認設置,從而增強穩定性。也就是說,通過調整這些設置,在儘可能多的情況下實現收斂。儘管在模型逐漸收斂時,您可以調整這些設置以減少求解時間和內存需求,但與結合使用本知識庫中的其他技術相比,更改這些設置幾乎沒有優勢。更改這些低級別設置的默認值通常與特定的模型和具體情況緊密相關。
  6. 模型檢查的通用方法
    如果您不清楚上述任何策略是否有效,可以採用更通用的方法來驗證模型的一般有效性。這涉及系統性降低模型的複雜性。請檢查模型並確定會引入非線性的所有項,例如多物理場耦合、非線性材料關係和非線性邊界條件。您可以使用合理的線性化項替換任何非線性項,並對模型的每個非線性重複此操作。對於多物理場耦合,請勿使用全耦合方法(默認方法)求解問題,而是按順序進行求解,即逐個求解各個物理場。這裏的目標是將模型簡化爲可通過線性近似求解的狀態。經過充分簡化,您可以將模型降階,將其轉化爲線性問題,如果簡化模型不收斂,請參見:如何解決線性穩態模型不能求解的問題。
    在找到簡化模型的可求解版本後,再逐漸增加模型的複雜性,重新引入非線性和多物理場耦合。系統性地使用這種技術和前面描述的技術,通常可以確定模型中導致問題的非線性,不僅如此,還可以揭示模型本身在某種程度上是不適定的。有時,降低模型的複雜性可能是一項具有挑戰性的任務,最好從儘可能簡單的情況着手,然後逐漸增加複雜性。鑑於此,我們始終建議您使用簡化的二維或二維軸對稱模型開始此過程。
  7. 轉化爲瞬態公式
    如果您已經嘗試了上述所有方法,並確定問題本身是適定的,那麼可以認爲這個非線性問題實際上可能並沒有穩態(時不變)解。一個經典的例子是圓柱體周圍具有恆定高流速的流體流動。在低流速下,流動解是時不變的,但在較高的流率下,將發生渦旋脫落,這是圓柱體後方流場中發生的時變變化。此類問題必須在時域進行求解。
    在這種情況下,從一致的初始值開始,使載荷隨時間逐漸呈斜坡變化,這種方法將特別有用。隨着時間的推移,非線性斜坡變化並沒有那麼明顯,但在整個仿真過程中,應該對非線性階躍變化進行平滑處理。您可以在整個仿真域中使用非常細化的網格,也可以使用自適應網格細化。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章