使用 COMSOL 實現多物理場拓撲優化的優勢

來自 Jabra 的特邀作者 Junghwan Kook 介紹了一個多物理場拓撲優化框架,以及它的優勢,并演示了如何使用它。Junghwan Kook 是參考文獻 1 的論文作者,其論文中的一些插圖被用在了這篇文章中。
本文介紹了一個使用 COMSOL API 接口和 LiveLink? for MATLAB? 構建的多物理場拓撲優化框架,此內容已在參考文獻 1 上發表。文中通過一個可以使用 COMSOL Desktop? 解決的聲-結構相互作用 (ASI) 問題對該框架進行了演示。這個框架的優勢是它能夠解決(當前)與 COMSOL Desktop ? 不兼容的問題。

動機

拓撲優化問題總是使用基于梯度方法來求解,這需要使用伴隨靈敏度分析。如果基礎方程是穩態的或瞬態的,COMSOL Desktop? 支持求解此類問題。因此,最常見的問題,包括頻域問題,都可以解決。對于上述框架,它在某些情況下提供了一些獨特的優勢。例如,它能夠:
  • 將目標或約束與穩態和瞬態求解器相結合
  • 測試自定義優化求解器
  • 支持靈敏度不一致的情況,可使用包括靈敏度過濾或類似的啟發方式
  • 在不重新初始化優化求解器的情況下,更改迭代之間的數值參數的值
雖然這些優勢可能與學術研究用戶最相關,但也有一些優勢會吸引所有用戶。例如,該框架可以在以下情況下避免冗余計算:
  • 對于掃描問題(例如多個載荷工況),可以避免計算所有掃描參數值的約束靈敏度
  • 對于掃描參數僅影響某些因變量的情況,可以將解限制為除掃描參數的第一個值之外的所有變量
在迭代求解器的背景下,避免一些冗余計算工作可能不太重要,并且上述框架其實增加了計算和工程時間。盡管如此,該框架確實有可能加快上述列出情況的計算速度。

拓撲優化

COMSOL Multiphysics? 軟件的功能強大,我們可以利用 LiveLink?for MATLAB? 的功能實現拓撲優化框架,同時利用 MATLAB? 編程環境的易用性和快速實現的優勢。
拓撲優化是一種有效的方法,在滿足產品性能目標的同時,針對給定的載荷和邊界條件,可以在給定的設計空間內優化材料分布。在早期概念設計階段使用拓撲優化方法,可以取代昂貴且繁瑣的設計迭代,以達到最佳設計效果,從而節省時間。盡管在過去幾十年里,拓撲優化不斷發展并被廣泛采用,將拓撲優化應用于新的應用領域(即將拓撲優化與現有軟件包不支持的物理過程相結合)仍然具有挑戰性。下面列出了開發多物理場拓撲優化算法或程序的幾個難點。
  1. 為多物理場問題開發有限元模型
  2. 材料插值和設計變量的參數化
  3. 目標函數和設計靈敏度分析
  4. 后處理和操作拓撲設計結果
上述列出的挑戰通常會使普通從業者和研究人員不愿將自己已經發表的一些教學案例和簡單框架擴展到多物理場拓撲優化。
這里討論的拓撲優化算法和程序是使用 COMSOL API 和 LiveLink ? for MATLAB? 開發的,適合那些希望在多物理場問題中使用拓撲優化設計的用戶。

多物理場問題有限元模型的發展

我們可以通過 COMSOL API 使用 模型對象訪問和輕松操作 COMSOL? 模型的所有特征和數據結構,它提供了多種方法讓用戶可以執行任務,例如創建幾何和網格,以及設置和運行操作序列來求解模型。模型對象的結構符合 Java? 編程語言環境,并提供了幾種方法來執行有限元分析和優化所需的一系列任務。我們可以使用 LiveLink ? for MATLAB? 來訪問模型對象和實用函數。
采用 ASI 問題的拓撲優化來證明所引入的框架在系統設計多物理場問題方面的有效性(參考文獻 1)。兩個聲域之間的分區結構的設計問題如圖 1 所示,該問題被用作求解多個 ASI 拓撲優化的基準問題。我們可以使用拓撲優化來設計分區結構,以使從入口輻射的聲壓在出口處最小化。

使用 COMSOL 實現多物理場拓撲優化的優勢的圖1
圖1. 考慮聲-結構相互作用的基準拓撲優化問題的示意圖。

在示例中,將位移( 使用 COMSOL 實現多物理場拓撲優化的優勢的圖2 )和壓力( 使用 COMSOL 實現多物理場拓撲優化的優勢的圖3 )作為狀態變量 (a 公式  使用 COMSOL 實現多物理場拓撲優化的優勢的圖4 )的混合有限元公式,用于解決 ASI 問題的拓撲優化問題。我們可以對所有結構、聲學和完全耦合的 ASI 問題進行模擬,而無需通過更改混合的公式  使用 COMSOL 實現多物理場拓撲優化的優勢的圖5  中的材料屬性,來明確構建聲學和結構域之間的邊界條件。因此,對于結構-聲學相互作用問題,公式  使用 COMSOL 實現多物理場拓撲優化的優勢的圖6  有助于實現基于密度的拓撲優化。
COMSOL? 支持混合有限元公式,但該框架不限于軟件的物理場接口,因為它還包括來自 MATLAB?編程環境的基于方程的仿真功能。例如,如圖 2 所示,圖 1 中位移場的域積分項擴展為直觀的弱形式(見公式 (A)),我們可以通過弱形式偏微分方程 接口,使用 COMSOL 可解釋的語法輕松實現該公式,即
-((test(ux)-test(vy))*G*(ux-vy)+(test(uy)+test(vx))*G*(uy+vx))
+(test(ux)*p+test(vy)*p)+rho*omega^2*(test(u)*u+test(v)*rho*v.
有關在 COMSOL API 中實現弱形式的更多詳細信息,請查閱參考文獻 2 和 3。此外,我們還可以通過查看圖 3 中顯示的代碼來獲得一些靈感,這些代碼指示了拓撲優化框架的基本步驟。例如,圖 2 中的方程(A)、方程(B)和方程(C)可以使用圖 3 所示的模型對象和方法來實現。

使用 COMSOL 實現多物理場拓撲優化的優勢的圖7
圖2. 使用混合的 使用 COMSOL 實現多物理場拓撲優化的優勢的圖8 公式的聲-結構相互作用問題弱形式方程,和用于拓撲優化問題所需的一些基本任務。有限元系統方程包括設計變量和狀態變量,例如方程  (E);目標函數和約束,例如方程(F); 和設計靈敏度分析,例如公式(G)。

使用 COMSOL 實現多物理場拓撲優化的優勢的圖9
圖3. 為拓撲優化過程所需任務選擇的 COMSOL API 和 MATLAB? 代碼。COMSOL API 語法可以輕松方便地處理所需的任務,無需多行復雜的代碼。

設計變量的材料插值和參數化

拓撲優化最終會在設計域中找到一種材料和另一種材料(或空隙)的最佳分布,用于優化目標函數。在 ASI 問題的優化過程中,通過密度  使用 COMSOL 實現多物理場拓撲優化的優勢的圖10 、體積模量  使用 COMSOL 實現多物理場拓撲優化的優勢的圖11  和剪切模量  使用 COMSOL 實現多物理場拓撲優化的優勢的圖12  取與空氣和固體材料對應的兩個極值之間的值,以得到優化的設計。這些值由具有設計變量場  使用 COMSOL 實現多物理場拓撲優化的優勢的圖13  的材料插值函數引入,如圖 2 中的方程(B)所示。
使用 COMSOL 實現多物理場拓撲優化的優勢的圖14
使用 COMSOL 實現多物理場拓撲優化的優勢的圖15
使用 COMSOL 實現多物理場拓撲優化的優勢的圖16
式中, 使用 COMSOL 實現多物理場拓撲優化的優勢的圖17  和  使用 COMSOL 實現多物理場拓撲優化的優勢的圖18  是可以控制設計變量場的中間值的參數。使用 COMSOL Multiphysics 中基于方程的仿真,我們可以輕松地將設計變量場作為輔助因變量引入模型中。因此,在設計域中引入了一個額外的控制方程,如圖 2 中的方程(D)  所示。在圖 3 中看到的代碼中,設計域上的域積分項通過設置 test(gamma) 定義,其中設計變量 gamma 在弱形式偏微分方程 接口中設置為因變量。需要注意的是,設計變量的弱形式偏微分方程 接口從未被求解,而僅用于根據優化程序更新設計變量。
COMSOL? 求解器允許我們使用解耦方法解決部分問題,與此同時修復子集。例如,子集方程  使用 COMSOL 實現多物理場拓撲優化的優勢的圖19  可以求解狀態變量場,同時將設計變量的值保持在其初始值。設計變量的值在后續迭代步驟中更新。為了訪問和更新組裝矩陣,我們利用與設計變量和狀態變量相對應的自由度(DOF)列表,它是使用 mphxmeshinfo 函數提取的。這種方法的優點是我們在 MATLAB? 中使用矢量化運算,而不必使用有限元運算,從而提高了代碼的可讀性和計算性能。由于這種實現方法不依賴于優化器,它可以與任何優化求解器(即任何基于梯度或無梯度的優化器)一起使用。

目標函數和設計靈敏度分析

這里提供的示例中,圖2 方程(F)積分形式的目標函數可以使用內置函數 mphint2 進行計算(參見圖 3 所示的代碼行)。
伴隨變量法(AVM)常用于設計靈敏度分析,因為它在計算涉及大量設計變量的系統的設計靈敏度方面具有很高的效率。我們可以使用 mphmatrix 函數輕松構建伴隨方程和導數,該函數會提取所需的矩陣和向量并以 MATLAB? 結構格式將它們返回。特別是,在方程(G)中看到的設計靈敏度分析所需的導數項,可以通過指定狀態和設計變量的索引直接從組合矩陣中提取,因為設計變量場被視為組合矩陣中的狀態變量之一。設計靈敏度分析可以應用于其他問題而無需進行實質性修改。

對生成的拓撲設計進行后處理和操作

LiveLink ? for MATLAB ? 提供了一種可訪問的可視化方法,可以對每次優化迭代的優化分析結果,以及所開發程序的整體操作生成清晰的視圖,用于排除和修復優化過程中可能出現的問題。圖 4 顯示了每次迭代的拓撲設計以及目標函數和體積分數的迭代歷史,這些在 MATLAB? 環境中都可以看見。

使用 COMSOL 實現多物理場拓撲優化的優勢的圖20
圖 4. 每次迭代的拓撲設計(參考文獻 1)以及目標函數和體積分數的迭代歷史都在 MATLAB? 環境中可以看見。

在仿真軟件中求解多物理場問題,需要從拓撲解中獲得各種繪圖,來解釋優化設計。我們可以將在 LiveLink? for MATLAB? 環境中開發的最終模型保存在一個 MPH-文件中,該文件包含 COMSOL? 模型對象,包括所有方法和數據結構。保存的解可以在 COMSOL Desktop? 環境中打開,以便在設計工作流程中對產生的拓撲結構進行后處理和操作。然后,我們可以使用模型開發器窗口輕松創建不同的拓撲結果繪圖。如圖 5 所示,通過使用濾后處理過濾功能,得到了固體和空氣之間有明顯邊界的最終設計。為了顯示性能,生成了一個變形結構來說明優化后拓撲設計的受力變形情況。

使用 COMSOL 實現多物理場拓撲優化的優勢的圖21
圖5. (a)優化后獲得的最終設計。(b)使用閾值過濾得到的具有清晰耦合邊界的拓撲。(c)具有位移幅值場的變形結構。(d)導入的網格零件。(e)用于 3D 打印和增材制造的導入網格零件創建的 2D 幾何圖形。所有圖均來自參考文獻 1.

優化的設計可以導出為 CAD 模型,用于進一步分析和原型制作。將數據集導入 COMSOL Desktop? 后,我們可以使用優化結果創建網格文件和 CAD 文件。幾何對象可用于進一步分析,也可導出用于 3D 打印。

使用 COMSOL Desktop? 重現拓撲優化問題

這篇博客深入探討了使用 COMSOL API 和 LiveLink? for MATLAB? 進行多物理場拓撲優化,并概述了其他相關的主題,包括有限元和設計靈敏度分析以及后處理。COMSOL API 和 LiveLink ?  for  MATLAB? 使初學者能夠使用最少的編程實現高級拓撲優化。由于設計變量場的離散化和靈敏度分析方法不限于特定問題,因此本博客中涵蓋的通用框架,能夠解決其他類型的拓撲優化問題,而無需大量修改。此外,引入的框架提供了與高級語言相同的開發自由,這并不限制我們研究需要訪問優化參數以及數值計算中的一些矩陣和向量的新拓撲優化技術和方法。它還提供了一種有效的方法來解決和修復優化過程中可能出現的問題。
注意:要獲得使用 LiveLink ? for MATLAB? 進行優化的詳細描述和代碼,請查看參考文獻 1。
此外,COMSOL Multiphysics 提供了對用戶友好的優化模塊插件,使我們能夠通過其多物理場和用戶定義的偏微分方程求解器來求解拓撲優化問題。使用 COMSOL Desktop ? 進行拓撲優化,我們可以僅使用內置功能重現相同的多物理場拓撲優化問題(見圖 6)。該模型使用固體力學(用于優化域)的混合公式選項和壓力聲學 (用于純聲學域),并結合了優化模塊中的最新優化方法和過濾方案。

使用 COMSOL 實現多物理場拓撲優化的優勢的圖22
圖 6. 僅使用內置 COMSOL Desktop? 功能重現相同的多物理場拓撲優化問題。

參考文獻

  1. J. Kook and J.H. Chang, “A high-level programming language implementation of topology optimization applied to the acoustic-structure interaction problem,” Structural and Multidisciplinary Optimization, vol. 64, pp. 4387–4408, 2021.
  2. C. Liu, “Implementing the Weak Form in COMSOL Multiphysics,” COMSOL Blog, 2015;  https://cn.comsol.com/blogs/implementing-the-weak-form-in-comsol-multiphysics
  3. C. Liu, “Implementing the Weak Form with a COMSOL App,” COMSOL Blog, 2015;  https://cn.comsol.com/blogs/implementing-the-weak-form-with-a-comsol-app


本文來自:COMSOL 博客

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

TOP

4
1
5