付君健 孫鵬飛 杜義賢 田啟華 高 亮
1.三峽大學機械與動力學院,宜昌,443002 2.華中科技大學數字制造裝備與技術國家重點實驗室,武漢,430074
多層級拓撲優化又稱多尺度拓撲優化、結構/材料一體化,是指多孔結構在宏觀層級和細觀(或微觀)層級的并行優化,在宏觀層級優化多孔結構的空間分布,在細觀層級優化多孔結構的拓撲構型。多孔結構細觀拓撲構型決定了其宏觀的等效屬性,會影響宏觀層級的結構優化;反之,宏觀結構及邊界條件會影響細觀多孔結構的拓撲構型。由此,兩個層級的并行優化可以提高材料利用率,提高周期性多孔結構在特定載荷工況下的力學性能。多層級拓撲優化是一種從不同層級空間對結構進行設計的拓撲優化方法,有利于擴大設計空間,為結構的創新設計提供廣闊的思路和全新的挑戰[1]。
根據優化策略的不同,多層級拓撲優化方法可分為均布、逐層、逐域和逐點的多層級設計方法。均布多孔結構的多層級拓撲優化實現簡單、計算量小,是目前廣為采用的多層級拓撲優化策略[2-5]。該優化策略假設宏觀結構僅由均勻分布的同一種多孔結構組成,以均勻化方法計算多孔結構的宏觀等效彈性矩陣,多孔結構作為宏觀結構的基本單元,進一步參與宏觀結構的拓撲優化。均布多孔結構的多層級拓撲優化簡化了設計過程,降低了制造成本,但無法充分發揮多孔結構的性能。逐層的多層級設計策略使不同層面的多孔結構拓撲構型能隨著承載形式產生變化。逐層設計適用于夾層結構和功能梯度結構的設計[6-9],每一層采用相同的多孔結構來填充,可顯著降低優化設計的計算成本,同時也便于對每一層多孔結構屬性進行控制。逐域的多層級拓撲優化假設宏觀結構由多種不同的多孔結構構成,每個區域中的多孔結構獨立優化。多孔結構在宏觀結構中的相對位置可以固定不變[10],也可以在迭代過程中動態變化[11-12]。理論上講,承載結構在每一點的受力狀態均不相同,因此每一點的多孔結構屬性均不同才能讓宏觀結構性能達到最優。逐點的多層級拓撲優化提高了多孔結構的多樣性和結構的整體性能[13-16],但增加了計算成本和加工難度。
多層級拓撲優化由于采用了均勻化方法,導致宏細觀結構尺度分離。若多層級結構中含有多種類型的多孔結構單胞,如逐域和逐點的設計策略,則宏觀結構的邊界條件無法“嚴格”反映到細觀或微觀結構,多孔結構之間的連接性無法保證,需添加額外的幾何約束,如增加動力學連接點[9]、定義梯度變化的微結構[16]、定義連接性約束[17]等。在實際工程中,良好的連接性是多孔結構力學性能的基本保障,在多層級拓撲優化中必須考慮多孔結構之間的連接性。此外,多孔結構增材制造尺度可能大于設計尺度,導致結構的設計性能與制造性能不匹配。因此,在多層級拓撲優化中有必要引入尺度關聯的等效屬性計算方法。
為避免多層級拓撲優化中的尺度分離問題,本文提出了一種基于子結構法的多層級結構拓撲優化方法,采用子結構法建立宏細觀結構的聯系。子結構法具備尺度關聯特性[17-19],可保證宏細觀結構力學分析在同一個尺度進行,細觀結構的尺寸是其在宏觀層級的真實尺寸。當考慮多種單胞類型時,基于子結構法的多層級結構拓撲優化方法可保證多孔結構的連接性。
本文采用隱式水平集函數進行結構邊界描述[20],并引入虛擬時間變量t使水平集函數具備動態演化特性。針對多層級結構,如圖1所示,定義宏觀水平集函數ΦMA和細觀水平集函數ΦME如下:

圖1 多層級結構示意圖
(1)
(2)
式中,上標MA、ME分別表示宏觀、細觀;x為坐標向量;Ω為結構域;?Ω為結構邊界;D為設計域。
為克服傳統水平集方法的數值問題,便于與梯度優化算法結合[21-23],本文采用緊支徑向基函數插值替代離散的水平集函數,將水平集函數參數化。宏細觀結構水平集函數的參數化形式分別為
(3)
(4)

對虛擬時間變量t求導,參數化水平集函數動態演化的常微分形式為


(5)


(6)

本文采用子結構法計算細觀多孔結構的宏觀等效屬性。子結構法又稱Guyan縮減[24]或區域分解法[25],如圖2所示,在求解有限元平衡方程時,子結構法的基本思想是“各個擊破”,將結構域Ω分解為若干細觀子結構Ωi,對每個細觀子結構分別離散,再求解細觀子結構邊界上的節點響應,最后求解細觀子結構內部節點響應。結構域可表示為

(a)L形結構域 (b)子結構劃分
(7)
式中,M為結構域Ω中細觀子結構的數量。
采用子結構法的優勢在于:①降低有限元求解維度與內存消耗,有限元求解被拆分為一個縮減線性方程組和多個小型線性方程組的求解[26];②計算結果具備尺度關聯特性,宏觀與細觀結構響應在同一個有限元框架下實現求解;③計算結果再利用率較高,重復結構特征只需進行一次凝聚。采用子結構法進行多孔結構分析與拓撲優化,可提高有限元分析效率,避免多層級結構中的尺度分離問題。
靜力學問題中的子結構法又稱為靜態縮減(static condensation),假設結構被離散為有限個單元和節點,離散化平衡方程的矩陣形式為
KU=F
(8)
式中,K、U、F分別為結構的全局剛度矩陣、位移向量和載荷向量。
組成離散結構的節點可分為主節點和從節點兩個部分。主節點為結構邊界上的節點,如圖2d中的節點,從節點為結構內部的節點,用下標m表示主節點組成的自由度,s表示從節點組成的自由度,則式(8)可寫為
(9)
由式(9)的第二行可得
(10)
將式(10)代入式(9)的第一行可得
(11)
假設從節點的載荷向量為零向量,凝聚后的平衡方程為
KsubUsub=Fsub
(12)
(13)
Usub=Um
(14)
Fsub=Fm
(15)
式中,Ksub、Usub、Fsub分別為凝聚后的剛度矩陣、位移向量和載荷向量。
單個細觀子結構的凝聚過程通過式(11)完成,求解凝聚后的平衡方程式(11),可得主節點上的位移向量Um。將Um代入式(10),可得從節點上的位移向量Us,隨后可計算應力、應變、應變能等各種物理量信息。
細觀層級結構涉及多個細觀子結構的凝聚,由于周期性的假設條件,所有細觀子結構的幾何構型相同,故只需進行一次凝聚。凝聚的細觀子結構相當于一個擁有多個節點的超級單元,所以又稱之為“超單元”。相同幾何構型的細觀子結構凝聚過程可通過對凝聚子結構的組裝完成,組裝的縮減平衡方程為
K*U*=F*
(16)
式中,K*、U*、F*分別為縮減的全局剛度矩陣、全局位移向量和全局載荷向量。
對于周期性細觀多孔結構,縮減剛度矩陣的組裝可表示為
(17)
式中,V為細觀多孔結構體積域。
靜態凝聚是一種矩陣的線性變換,對于單個細觀子結構的靜態凝聚,由于不涉及多個細觀子結構之間的信息交互,無論在邊界上保留多少主節點,只要凝聚前后保持結構的邊界條件不變,則求解位移不存在計算誤差。對于多個細觀子結構的凝聚及組裝,細觀子結構邊界上的節點必須全部保留為主節點,方可保證求解位移不存在計算誤差。如果細觀子結構邊界上只保留部分主節點,則會導致一部分邊界節點未參與細觀子結構之間的信息交互,使計算結果存在一定誤差。
基于參數化水平集法,構建體積約束下的多層級結構柔度最小化拓撲優化模型:
(18)

細觀水平集函數ΦME決定了細觀子結構凝聚的剛度矩陣kMA:
(19)
(20)

式(18)中宏觀平衡方程弱形式的能量雙線性形式aMA(uMA,vMA)和載荷線性形式lMA(vMA)分別表示為
(21)
(22)

由于采用子結構法對組成宏觀結構的細觀子結構進行了縮減,故宏觀平衡方程實際是一種縮減的平衡方程。
式(18)中細觀子結構的彈性平衡方程是一種虛擬的平衡方程,它等效于細觀子結構內部位移求解方程:
(23)
式中,FME為細觀子結構載荷向量。
由于目標函數與宏細觀水平集函數相關,故本文采用形狀導數[27-28]推導目標函數和約束條件的靈敏度。
推導目標函數、能量雙線性形式、載荷線性形式關于宏觀時間變量tMA的導數,進一步化簡可得

(24)
ΥMA=(uMA)TkMA(ΦME)uMA
(25)
將參數化的宏觀速度場式(5)代入式(24)得


(26)
采用鏈式法則對目標函數J(ΦMA)直接求其關于宏觀時間變量tMA的導數可得
(27)

(28)
和宏觀體積約束GMA(ΦMA)關于時間變量tMA的導數:


(29)
采用鏈式法則對宏觀體積約束GMA(ΦMA)直接求其關于時間變量tMA的導數可得
(30)

(31)
為便于求導,將宏觀結構的目標函數寫成對單個細觀子結構目標函數積分的形式:
(32)

δ(ΦME)dΩMEdΩMA
(33)
(34)
多層級結構拓撲優化流程如圖3所示,宏觀結構剛度矩陣組裝依賴于細觀子結構的靜態凝聚,細觀子結構內部位移求解依賴于宏觀結構平衡方程的求解,因此多層級結構拓撲優化具備相互耦合的特性。在優化過程中,宏觀和細觀結構拓撲優化均采用優化準則法[29]進行設計變量更新。由于優化模型式(18)中只有一個目標函數,故宏觀和細觀結構收斂準則一致,即

圖3 多層級拓撲優化流程圖

(35)

需要指出,在宏觀結構優化中,凝聚的細觀結構作為宏觀結構的基本單元用于剛度矩陣組裝,得到宏觀結構縮減的全局剛度矩陣。為提高剛度矩陣組裝效率,可采用MATLAB中的sparse函數進行組裝。在細觀結構優化中,細觀結構的位移場與宏觀結構及邊界條件相關,待縮減的宏觀平衡方程求解完成之后,通過式(23)計算細觀結構內部位移場。每個細觀結構的位移場相互獨立,可通過CPU并行求解。
如圖4所示的宏觀矩形懸臂梁設計域,長寬為24 m×12 m,宏觀設計域左端固定,右端中點處受豎直向下的集中載荷(F=-1 N)。宏觀設計域離散為60×30個細觀子結構,細觀子結構邊長為0.4 m,細觀子結構離散為40×40個雙線性四邊形單元,單元大小為0.01 m×0.01 m。宏觀設計域體積分數fMA=0.8,細觀子結構設計域體積分數fME=0.5,假設單一類型的多孔結構在宏觀設計域內周期性分布。

圖4 懸臂梁設計域
為驗證本文方法的尺度關聯特性,本算例設置兩種不同的初始化方案。圖5所示為初始的宏觀結構和細觀結構,其中初始宏觀結構一致,初始細觀結構不同。首先采用子結構法對二維細觀結構內部節點進行凝聚,細觀結構邊界上所有的節點均為主節點。經過細觀子結構靜態縮減后,二維細觀結構自由度數量從3362降為320,二維宏觀結構自由度數量從約576萬降為約29萬,自由度數量降低了一個數量級。

(a)宏觀結構
圖6和7所示為多層級拓撲優化的最優宏細觀結構。對比方案Ⅰ和Ⅱ,宏觀結構基本一致,細觀結構在拓撲構型上有所區別,其原因在于周期性細觀結構最優拓撲構型依賴初始化。方案Ⅰ的最優細觀拓撲構型在四個節點處形成材料,經組裝后可有效傳遞載荷。雖然方案Ⅱ的初始細觀結構在四個節點處均無材料,但最終的優化結構在右上角和右下角處聚集了材料,在載荷施加位置形成了材料,實現了宏觀載荷的有效傳遞,體現了本文方法的尺度關聯特性。圖8、圖9分別為方案Ⅰ和方案Ⅱ的優化迭代圖。可知:方案Ⅰ目標函數初始值相對較小,取值為265.365,經過81步迭代后收斂至141.425;方案Ⅱ初始結構由于在載荷點處無材料,目標函數初始值較大(2435.055),隨著優化的進行,細觀結構在載荷點處逐漸形成材料,目標函數值急劇下降,經過101步后收斂至141.389。雖然兩種方案的最優細觀結構拓撲構型不同,但都實現了宏觀載荷的有效傳遞,最終得到的多層級結構目標函數值較為接近。

圖6 多層級拓撲優化結果(方案Ⅰ)

圖7 多層級拓撲優化結果(方案Ⅱ)

圖8 方案Ⅰ迭代過程圖

圖9 方案Ⅱ迭代過程圖
為驗證連接性問題,本算例將6.1節的設計域劃分為A、B、C和D四個子區域,如圖10所示,對每個子區域獨立優化,宏細觀結構離散方式、邊界條件、體積分數均與6.1節保持一致,進行多類型多層級結構設計。

圖10 分區域懸臂梁設計域
對圖10中四個子區域的細觀子結構分別凝聚。圖11a和圖11b分別為初始宏觀結構和細觀結構,經過211步迭代后,宏細觀體積分數分別收斂到0.8和0.5,最優的目標函數值為127.2945。圖12a所示為經過優化的宏觀結構即細觀結構在宏觀的分布情況。圖12b所示為四種最優的細觀結構單胞,每個細觀結構在對應的子區域內周期性分布。其中,A與C、B與D區域的最優細觀子結構拓撲構型相互對稱。

(a)宏觀結構

(a)宏觀結構
圖13所示是經過組裝后的多層級結構,可知,雖然四個子區域的細觀結構在優化過程中相互獨立,但優化后的四種細觀結構之間具備較好的連接性,保證了載荷的有效傳遞。由于子結構法不存在尺度分離問題,故不需要施加任何額外約束即可保證連接性。

圖13 優化的多層級結構
由于分區域后多層級拓撲優化具備更大的設計自由度,四個子區域的細觀子結構都獨立優化以實現多層級結構的剛度最大化,因此,分區域多層級設計的結構比均布多層級設計的結構有更好的力學性能。從優化迭代圖(圖14)可知,在同樣的材料用量下,分區域多層級結構的柔度值為127.2945,小于單一類型多層級結構的柔度值。

圖14 迭代過程圖
圖15所示為左端固定的三維懸臂梁結構,懸臂梁結構設計域長寬高為2.4 m×1.2 m×0.48 m,結構設計域右端下邊界中心處施加有F=-1 N的集中載荷。將宏觀結構設計域劃分為A、B、C和D四個子區域,由20×10×4個三維細觀子結構組成,細觀子結構邊長0.12 m,每個細觀子結構設計域離散為12×12×12個八節點六面體單元,單元大小為0.01 m×0.01 m×0.01 m,宏觀結構設計域體積分數fMA=0.8,四個細觀子結構設計域體積分數fME=0.3,在該宏觀設計域內進行三維多類型多層級結構設計。

圖15 三維分區域懸臂梁設計域
對圖15四個子區域的細觀子結構分別凝聚。該宏觀結構由約138萬個三維單元組成,自由度數量約達428萬。采用子結構法對三維細觀結構進行靜態凝聚,三維細觀結構邊界主節點的選取規則為每間隔一個節點選取一個主節點,三維細觀結構邊界剩余節點和內部節點定義為從節點,數值實驗表明,這種主從節點定義規則對結構拓撲構型影響較小。經過細觀子結構靜態縮減后,三維細觀結構的自由度數量從6591降為654,三維宏觀結構的自由度數量從約428萬降為約25萬,自由度的數量分別降低了一個數量級。
圖16所示為經過拓撲優化設計的三維宏觀結構和三維細觀子結構,由于四個子區域獨立優化,最終所得子結構拓撲構型各不相同,但四種子結構之間都保持了一定的連接性,保證了載荷在多層級結構中的有效傳遞。圖17展示了優化迭代過程,宏細觀結構的體積分數分別收斂到0.8和0.3,最優的目標函數值為10.649。

(a)宏觀結構

圖17 三維多層級結構迭代過程圖
本文提出了基于子結構法的多層級結構拓撲優化方法,通過構造一種尺度關聯的拓撲優化模型,實現了多層級結構的拓撲優化設計。數值算例表明,所提方法可實現二維、三維多層級結構的拓撲優化設計,并有效避免了多層級結構拓撲優化中的連接性問題。