在 COMSOL 中存儲重要仿真結果的 2 種方法

COMSOL Multiphysics? 仿真的輸出結果中往往包含一個或多個物理量。根據物理量的數量、幾何的復雜性和得到精確結果所需的網格密度,仿真可能包含數百萬個自由度。然而通常情況下,儲存一個或幾個標量,或小型幾何零件的結果便足夠了。在這篇文章中,我們將探討不僅可用于存儲選定輸出量、減小模型文件大小,還能縮短顯示數據所需的時間的方法。

存儲重要仿真結果的兩種方法

在 COMSOL Multiphysics 中,您可以通過兩種方法使仿真輸出中僅包含選定部分的解。第一種方法是定義一個或多個選擇,并在選擇中添加目標點、邊界或域,這樣便可以控制研究輸出,使其僅包含這些選擇所指定幾何部分的物理場。如果您只想獲取特定幾何部分的仿真輸出,同時能像往常一樣對其進行后處理并訪問場和導出量,這種方法將會十分簡明實用。
請注意,如果您要存儲某些邊界或點上的解,該方法只能保存求解物理量(因變量)的結果。這便意味著因變量導數以及與導數相關的物理量(例如應力和通量)均無法獲得,因為計算這類變量需要用到域內的因變量結果。如果您希望存儲一些派生結果(例如數個相關的邊界或點上的應力),那么第二種方法是您的最佳選擇。
第二種方法 是添加“常微分和微分代數方程”接口,從而定義一個新的因變量,然后將目標物理量轉換為這個新變量。這個物理量可以是一個全局標量,例如某個量的最大值或平均值,或者某個邊界上的物理量。(對于后一種情況,第一種選擇法能夠更方便地獲取相同的結果。)也就是說,若您的目標輸出是一個全局標量值,并已經將它轉換成簡單代數方程變量所表示的單個自由度,那么該方法十分適用。如上所述,如果您希望獲取的物理量是一個基于導數的派生結果(例如應力和通量),第二種方法也將適用。

創建選擇以存儲選定部分的解

為了只對選定幾何部分的解進行存儲,我們需要在模型樹中“組件”下創建一個命名選擇。具體步驟是:首先右鍵單擊“定義”,并從“選擇”子菜單中挑選一個合適的選擇。若您希望在選擇中加入多個特定的幾何實體(例如域、邊界或點),那么“顯式”選擇必然最為方便。隨后為選擇節點添加一個描述性標簽,例如“周圍空氣”或“襯底接觸”。您可以使用多個選擇節點來表示不同的幾何部分,并將它們組合在一起,這樣您就可以確定要輸出的存儲對象,或者對這些選擇節點進行布爾操作(例如“并集”或“交集”)來創建另一個選擇節點。最后,將所創建的選擇應用到研究步驟的設置中,最終確定存儲特定幾何部分的解。

應用案例:用于存儲機械設計中頂面變形的選擇

在固體力學仿真中,目標面或點上的變形(位移)值很可能是有價值的信息,因此只需存儲它們的仿真輸出就足夠了,例如下方“圖形”窗口中進料器夾鉗模型幾何的選定頂面。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖1

固體力學仿真模型的選定表面。

為了僅存儲這些表面(邊界)的解,我們要創建一個“顯式”選擇,并將選擇中的輸入實體設為幾何的四個頂面,也就是計劃存儲的解所對應的幾何結構。如果需要存儲的面或點并非所創建的幾何結構的一部分,您可以在幾何序列中額外添加“曲線”或“點”節點以分割邊界,或者在目標位置上添加一個點(和一個網格節點)?!帮@式”選擇節點的設置如下圖所示。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖2
顯式選擇節點的設置。
在這里,為了反映選擇中包含的對象,將標簽更改為“變形面”。
現在可以指定需要存儲的對象。在“研究”步驟節點的設置窗口中找到“因變量值”一欄,并對其進行擴展。這一欄包括在輸出中“存儲物理場”設置,您可以從它的下拉菜單中選定“用于選擇”,然后單擊“添加”按鈕,便打開了可用選擇的列表。在本案例中,我們選中“變形面”這一選擇,然后單擊確定。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖3
用于存儲選定幾何面變形的設置。
現在,您便可以運行仿真了。此時僅會輸出頂面的解,您可以用“表面”繪圖的形式來查看輸出結果。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖4

選定的幾何面在 y 軸方向上的位移。剩余幾何結構沒有解輸出。

對于點上的解,您可以利用“派生值”下的“點計算”節點對其輸出進行后處理、顯示總位移,以及執行其他操作。您還可以使用“一維繪圖組”下的“點圖”節點繪制點上位移隨時間變化的曲線,或者隨參數化掃描中的參數變化的曲線。

創建存儲在輸出中的目標變量

如果您感興趣的是一個標量,便只需要一個表示輸出中該物理量的單個自由度(變量)。您可以通過“全局常微分和微分代數方程”接口來定義全局方程,隨之創建作為簡單代數方程求解量的變量。這個接口以及類似定義域內或點上的常微分和微分代數方程的接口,都位于“添加物理場”窗口和“模型向導”中的“數學”>“常微分和微分代數方程接口”下。最后,在“全局方程”節點的設置窗口中定義希望仿真輸出的變量名和代數方程。
除此之外,標量耦合算子同樣也是 COMSOL Multiphysics 中用于實現這一目標的重要特征。借助這些極其強大的工具,您可以在模型中創建全局可用的標量。

應用案例:表示平均溫度的變量

假設您的研究重點是模型幾何中的平均溫度。為了獲取平均溫度值,您可以添加一個平均值耦合算子(例如 aveop1?),并對其進行設置,使之在整個幾何結構(所有域)或目標域內有效。隨后,您可以將該算子應用到全局代數方程中,并保證它作為標量存儲在仿真結果中。假如您想要存儲的是最高溫度,那么可以使用最大值耦合算子。
“全局常微分和微分代數方程”接口可用于求解
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖5
不過在這個案例中,我們只需要將方程的變量值設置為等于平均溫度值。因此,若您已經將代數方程的變量定義為 avtemp,便只需輸入 aveop1(T)-avtemp 即可。請記住,“全局常微分和微分代數方程”接口表示表達式等于零,因此求解的方程為 avtemp = aveop1(T)。在這里,T 表示幾何結構中的溫度場,我們要對該變量進行求解,但并不需要將它存儲在輸出中。下方屏幕截圖顯示了本案例中“全局常微分和微分代數方程”接口下“全局方程”節點的設置窗口。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖6

全局方程節點設置用于創建一個存儲在輸出中的變量。

請注意上圖中設置窗口內的“單位”欄。為了避免單位不統一,并保證求解變量的單位正確無誤,您應當對因變量和源項的單位分別進行設置。
最后一步是對仿真進行設置,使其僅存儲剛剛定義的新標量變量。下圖顯示了瞬態仿真中幾何結構的平均溫度變化曲線,此圖表是通過“一維繪圖組”中全局“繪圖”得到的。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖7

平均溫度隨時間變化的曲線,我們將其作為瞬態仿真中唯一的標量輸出進行計算。

控制輸出中的存儲對象

對于要執行的研究,首先右鍵單擊“研究”節點并選擇顯示默認求解器,以便能順利地訪問求解器配置。然后,通過單擊“求解器配置 > 解 > 因變量”來訪問因變量設置。對于上文的案例,您會看到兩個節點:“物理場”節點(溫度)和“狀態”節點(平均溫度)?!拔锢韴觥惫濣c表示幾何結構的整個溫度場,而“狀態”節點表示平均溫度的變量。
接著,單擊“溫度”節點以顯示其設置窗口。查看“通用”欄的底部,并清除在輸出中“存儲”復選框,這樣求解器便不會將溫度場存儲在輸出中。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖8

在“溫度節點”設置中“清除”輸出中存儲復選框。

完成求解后,您可以通過“全局計算”節點將需要查看標量變量結果顯示在圖表中,同時還可以繪制”全局“圖表,以顯示位移隨時間變化的曲線或平均溫度隨參數化解參數變化的曲線。因為沒有場變量的解,所以只要繪制顯示了這類變量,或者是使用這類變量的物理量,繪圖中的值都會顯示為零。

應用案例:頂面有效應力的代數方程

現在讓我們以進料器夾鉗模型為例,向您演示如何使用代數方程來存儲頂面上的有效應力(von Mises 應力)值。進行這一操作前,首先需添加“邊界常微分和微分代數方程”接口,此接口位于“添加物理場”窗口和“模型向導”中的“數學 > 常微分和微分代數方程接口”下。
接著,在“邊界常微分和微分代數方程”接口的設置窗口中將相同的“位移邊界”選擇應用于頂面。然后務必確保指定單位與應力量相匹配,完成此操作需要選擇“應力張量”作為因變量物理量和源項物理量的單位。實際上,它是“固體力學”接口的 von Mises 應力。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖9

用于創建機械應力的“邊界常微分和微分代數方程”接口設置。

然后在“分布式常微分方程”子節點中將代數方程的表達式定義為 bndstress-nojac(solid.mises),并使新因變量 bndstress(僅定義在頂面)的值等于"固體力學"接口的 von Mises 應力 (預定義的solid.mises 變量)。
此處需要使用 nojac() 算子,這是因為我們不希望該方程對整個模型的 Jacobian 矩陣(系統矩陣)有任何貢獻。在“分布式常微分方程”子節點設定區的源項中輸入該表達式,并將所有其他系數設置為零,以求解方程 θ = bndstress-nojac(solid.mises)(即 bndstress = nojac(solid.mises))。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖10

分布式常微分代數方程節點的設置,該設置用于定義邊界應力的代數方程。

在進行求解之前,一定要記得清除輸出中“存儲”復選框,該復選框位于求解器序列中“因變量”下的“位移場”節點內。隨后即可執行計算,并只存儲頂面上的應力值,同時可使用“表面”繪圖對結果進行繪制。
在 COMSOL 中存儲重要仿真結果的 2 種方法的圖11

繪圖顯示了 von Mises 應力,其中只有頂面的應力值存儲在輸出中。

借助存儲解技術優化仿真

正如我們今天演示的,只需簡單的幾步操作,便能在仿真中只對部分物理場、甚至是一個或多個感興趣的目標標量進行求解,從而將這些指定對象存儲在輸出中。這些建模技術不僅可以大幅度壓縮模型文件的大小,還能縮短計算和顯示目標標量的時間。如果仿真中包含大型參數化掃描,或者需執行詳細的長時間瞬態研究時,這一技術帶來的優勢便更加明顯。


本文來自:COMSOL博客

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

TOP

53
21
12