鄒 君, 姚衛(wèi)星, 張悅超, 馮振宇
(1.中國(guó)民航大學(xué) 適航學(xué)院,天津 300300;2.南京航空航天大學(xué) 航空學(xué)院,南京 210016)
拓?fù)鋬?yōu)化通過數(shù)值優(yōu)化在滿足一定約束條件下尋找最優(yōu)的材料布局。與傳統(tǒng)的尺寸優(yōu)化和形狀優(yōu)化相比,拓展了設(shè)計(jì)空間,能夠設(shè)計(jì)出具有創(chuàng)新性和高性能的結(jié)構(gòu)布局形式。典型拓?fù)鋬?yōu)化方法包括變密度法SIMP(Solid Isotropic Material with Penalization)、漸進(jìn)結(jié)構(gòu)優(yōu)化法ESO(Evolutionary Structural Optimization)和均勻化方法(Homogenization Method)等[1,2]。在消除棋盤格式和網(wǎng)格依賴性等方面也發(fā)展了密度過濾和靈敏度過濾等技術(shù)[3,4]。
拓?fù)鋬?yōu)化結(jié)果往往幾何構(gòu)型復(fù)雜,難以采用傳統(tǒng)工藝制造。增材制造AM(Additive Manufacturing)通過材料逐層累加制造零件,能夠?qū)崿F(xiàn)復(fù)雜零件的成形[5]。增材制造能讓拓?fù)鋬?yōu)化價(jià)值得到完全發(fā)揮,拓?fù)鋬?yōu)化與增材制造技術(shù)融合是大勢(shì)所趨。
Brackett等[6]指出,典型拓?fù)鋬?yōu)化方法應(yīng)用于增材制造的最大瓶頸是沒有考慮增材制造約束。增材制造并非可以完全自由地進(jìn)行零部件設(shè)計(jì),存在一些獨(dú)特的制造約束,如最大/最小尺寸約束、支撐結(jié)構(gòu)設(shè)計(jì)及自支撐約束、材料各向異性約束、連通性約束和多材料約束等[7]。Liu等[8]對(duì)近年來面向增材制造的拓?fù)鋬?yōu)化技術(shù)研究進(jìn)行了較全面的綜述。
增材制造自支撐約束是指當(dāng)結(jié)構(gòu)下表面傾斜角度大于一定值時(shí),在逐層制造過程中容易發(fā)生坍塌。此時(shí)需要在下方增加支撐結(jié)構(gòu),同時(shí)將上層熱量傳導(dǎo)至基板,以減小熱變形。支撐結(jié)構(gòu)設(shè)計(jì)不僅增加了設(shè)計(jì)難度,還導(dǎo)致加工時(shí)間及成本增加,且后期去除工藝難度較大,破壞了結(jié)構(gòu)最優(yōu)性。研究表明,當(dāng)下表面傾斜角度小于一定值時(shí),結(jié)構(gòu)可以實(shí)現(xiàn)自支撐。設(shè)計(jì)自支撐的拓?fù)鋬?yōu)化結(jié)構(gòu)有助于節(jié)約材料成本,縮短設(shè)計(jì)周期。
國(guó)外研究方面,Thomas[9]研究發(fā)現(xiàn)激光選區(qū)熔化技術(shù)SLM(Selective Laser Melting)成型的臨界自支撐角度約為45°。Brackett等[6]提出邊界懲罰策略,懲罰值與傾斜角度以及懸空區(qū)域的長(zhǎng)度成正比。Serphos[10]首次研究考慮自支撐約束的2D拓?fù)鋬?yōu)化方法,分別研究了罰函數(shù)項(xiàng)、顯式約束條件和密度過濾算子等3種方法考慮自支撐約束?;谏鲜鲅芯浚琇angelaar[11,12]提出一個(gè)自支撐密度過濾算子,保證每個(gè)實(shí)體單元下方都有實(shí)體單元提供支撐,缺點(diǎn)是靈敏度分析需要逐層進(jìn)行,無法并行分析。Gaynor等[13,14]基于SIMP方法,通過錐形密度過濾使每個(gè)實(shí)體單元下方錐形區(qū)域內(nèi)的單元平均密度大于門檻值。缺點(diǎn)是靈敏度分析無法并行計(jì)算,非線性度較大,且結(jié)果中存在較多的灰度單元。
與基于離散的單元密度分析結(jié)構(gòu)自支撐特性不同,Qian[15]基于單元密度梯度向量分析拓?fù)浣Y(jié)構(gòu)邊界的傾斜角度,并采用Heaviside映射函數(shù)形成約束條件。Ven等[16]基于SIMP方法提出了前沿傳播模型,通過波的傳播速度在懸空區(qū)域與其他地方的不同識(shí)別懸空區(qū)域,通過密度過濾實(shí)現(xiàn)自支撐。Garaigordobil等[17]采用圖像分析處理領(lǐng)域中的邊界識(shí)別技術(shù)來識(shí)別懸空區(qū)域,約束條件為違反自支撐約束的單元數(shù)量最小。
國(guó)內(nèi)方面,Guo等[18]基于移動(dòng)可變形組件和可變形孔洞拓?fù)鋬?yōu)化方法,通過幾何顯式特征控制結(jié)構(gòu)自支撐約束,從而轉(zhuǎn)化為拓?fù)涿枋龊瘮?shù)的參數(shù)優(yōu)化問題。白偉[19]提出一個(gè)全局約束函數(shù)控制傾斜角度。Zhao等[20]將自支撐模型定義為各實(shí)體單元的支撐單元密度之和必須大于0,并提出了一個(gè)顯式二次約束條件表征自支撐約束。Zhao等[21]開展了針對(duì)多孔結(jié)構(gòu)的自支撐拓?fù)鋬?yōu)化方法研究,基于均勻化方法提出通過密度過濾實(shí)現(xiàn)自支撐。
考慮自支撐約束的拓?fù)鋬?yōu)化方法研究有助于提升面向增材制造的設(shè)計(jì)能力,在學(xué)術(shù)界和工業(yè)界受到廣泛關(guān)注。文獻(xiàn)[11,13]提出的方法已迅速應(yīng)用于商業(yè)軟件[8]。基于SIMP框架提出一個(gè)新的顯式自支撐約束函數(shù)模型,研究通過漸進(jìn)演化實(shí)現(xiàn)結(jié)構(gòu)自支撐。
基于SIMP方法研究考慮結(jié)構(gòu)自支撐約束的優(yōu)化方法,為簡(jiǎn)化起見,僅考慮2D矩形區(qū)域的拓?fù)鋬?yōu)化問題。假設(shè)單元數(shù)量為N=ni×nj,打印方向由下到上,每個(gè)單元由下一層單元提供支撐。金屬結(jié)構(gòu)的臨界自支撐角度約為45°[9],因此,可以認(rèn)為每個(gè)單元由下方3個(gè)單元提供支撐,如圖1所示。
圖1 自支撐模型定義
采用與Langelaar[11,12]類似的自支撐數(shù)學(xué)定義,各單元密度不能大于下方支撐單元的最大密度,數(shù)學(xué)描述如下,
(1)
該支撐準(zhǔn)則基于最大支撐單元密度,可避免實(shí)體單元由多個(gè)中間密度單元支撐,有助于減少中間密度單元數(shù)量。由于最大值函數(shù)不可導(dǎo),無法采用梯度優(yōu)化算法。采用基于P范數(shù)的光滑近似函數(shù)代替最大值函數(shù),
(2)
式中pn值越大,與最大值函數(shù)之間的誤差越小,但非線性程度增加。該模型近似值偏大,支撐單元密度均為1時(shí)誤差最大。采用修正項(xiàng)對(duì)近似值進(jìn)行修正,可表示為
(3)
(4)
(5)
式中參數(shù)k控制近似程度,參數(shù)α使函數(shù)通過偏移避免最大值近似誤差的影響。
在SIMP方法框架下,以結(jié)構(gòu)柔順性最小為目標(biāo),研究考慮結(jié)構(gòu)自支撐約束的拓?fù)鋬?yōu)化算法。首先,通過密度過濾避免棋盤格和灰度單元,在過濾后密度的基礎(chǔ)上基于提出的約束函數(shù)模型分析結(jié)構(gòu)的自支撐特性并作為約束條件。具體拓?fù)鋬?yōu)化列式表示為
(6)
為更直接地進(jìn)行密度過濾,參考改進(jìn)的SIMP方法[22]對(duì)設(shè)計(jì)變量進(jìn)行懲罰,
(7)
式中p為懲罰因子,Emin為最小彈性模量,E0為實(shí)體單元材料彈性模量。
考慮結(jié)構(gòu)自支撐約束的拓?fù)鋬?yōu)化算法流程如下,
(1) 采用線性密度過濾[4]對(duì)初始密度ρ過濾以避免出現(xiàn)棋盤格,過濾后的密度ρ*由過濾半徑R內(nèi)的所有單元的密度加權(quán)平均得到。
(2) 采用Heaviside函數(shù)[4]對(duì)密度矩陣ρ*過濾以抑制中間密度單元,
(8)
式中參數(shù)β控制函數(shù)的光滑程度。
(5) 采用移動(dòng)漸進(jìn)法MMA(Method of Moving Asymptotes)進(jìn)行優(yōu)化求解,更新設(shè)計(jì)變量ρ和自支撐約束值ε。
為提高優(yōu)化過程穩(wěn)定性,采用式(9)使自支撐約束值ε隨優(yōu)化過程逐漸減小,
ε=n/1.3loop / m - m
(9)
式中l(wèi)oop為循環(huán)迭代次數(shù),m和n均為正常數(shù)。
優(yōu)化流程如圖2所示。
(10)
式中He i=max(0,R-Δ(e,i))表示單元i和e之間的權(quán)重系數(shù),Δ(e,i)為單元i和e之間的距離。對(duì)于目標(biāo)函數(shù)c、體積約束V以及密度過濾算子的靈敏度分析具體可參考文獻(xiàn)[4]。
圖2 考慮自支撐約束的拓?fù)鋬?yōu)化流程
(11)
(s=j-1,j,j+1)(12)
對(duì)于邊界單元的靈敏度分析,可在單元密度矩陣左右兩側(cè)分別增加2層空單元,從而可采用式(12)分析??梢娮灾渭s束靈敏度值不大于0,在優(yōu)化過程中通過向下漸進(jìn)演化的方式實(shí)現(xiàn)結(jié)構(gòu)自支撐。分析式(11,12)可見,各變量的靈敏度分析是相互獨(dú)立的,可并行計(jì)算。對(duì)于大規(guī)模拓?fù)鋬?yōu)化問題,與逐層嵌套循環(huán)分析的方式相比可提高計(jì)算效率。
在結(jié)構(gòu)漸進(jìn)演化過程中會(huì)出現(xiàn)密度漸變區(qū)域,其靈敏度值較小,使得在優(yōu)化中無法有效支撐或者弱支撐,如圖3所示。為促進(jìn)支撐結(jié)構(gòu)演化,提出指向性靈敏度過濾算子對(duì)自支撐約束靈敏度進(jìn)行過濾,過濾后的靈敏度由該單元上方過濾半徑范圍內(nèi)的所有單元靈敏度加權(quán)平均得到
(13)
式中Ne為以單元e為中心、過濾半徑為R的上方半圓形內(nèi)的單元集合,如圖3所示??梢娭赶蛐造`敏度過濾是通過增加無支撐單元下方R層單元的密度來促進(jìn)支撐結(jié)構(gòu)向下演化。
圖3 指向性自支撐靈敏度過濾
采用3個(gè)算例驗(yàn)證算法有效性,其中材料彈性模量E0=1,Emin=1e -9,泊松比v=0.3,載荷大小為1,SIMP插值參數(shù)p=3,pn=60。Heaviside函數(shù)參數(shù)β初始值為1。假設(shè)打印方向從下到上,基板位于設(shè)計(jì)域底邊,優(yōu)化初始點(diǎn)從均勻分布密度開始,設(shè)計(jì)變量的運(yùn)動(dòng)極限均為0.05。
算例1為典型的MBB梁拓?fù)鋬?yōu)化問題,設(shè)計(jì)域?yàn)?50×50的矩形,左側(cè)邊水平方向和右下角豎直方向位移約束,向下集中力作用在左上角,如 圖4 所示。材料體分比約束為0.5,過濾半徑R=3。參數(shù)k=150,α=0.03,m=10,n=80,β值每80次迭代增加一倍。
圖4 MBB梁結(jié)構(gòu)設(shè)計(jì)模型
圖5為結(jié)構(gòu)不考慮自支撐約束時(shí)的拓?fù)鋬?yōu)化結(jié)果,結(jié)構(gòu)柔順性c為206.79。結(jié)構(gòu)上方邊界呈水平懸空,還有部分結(jié)構(gòu)傾斜角度超過了45°,均違反了自支撐約束。
圖5 不考慮自支撐約束拓?fù)鋬?yōu)化結(jié)果(c =206.79)
考慮自支撐約束,優(yōu)化在380次循環(huán)迭代后收斂,結(jié)構(gòu)柔順性c為256.95,與不考慮結(jié)構(gòu)自支撐約束結(jié)果相比增加了24.26%。圖6給出了每50次迭代后的拓?fù)浣Y(jié)果??梢婋S著迭代次數(shù)增加,自支撐約束影響逐漸增強(qiáng),違反自支撐約束的區(qū)域向下逐漸演化出支撐結(jié)構(gòu),最終實(shí)現(xiàn)自支撐。此外可見,最終拓?fù)浣Y(jié)構(gòu)變得更加扁平,多數(shù)結(jié)構(gòu)邊界傾斜角度正好為45°。部分支撐結(jié)構(gòu)不僅能提供支撐作用,還能增加結(jié)構(gòu)剛度。
圖6 MBB梁考慮自支撐約束時(shí)拓?fù)浣Y(jié)構(gòu)漸進(jìn)演化過程
為驗(yàn)證指向性靈敏度過濾的有效性,不采用靈敏度過濾進(jìn)行了拓?fù)鋬?yōu)化,優(yōu)化過程振蕩無法收斂。圖7是450次迭代后的拓?fù)鋬?yōu)化結(jié)果,可見支撐結(jié)構(gòu)并未與下方結(jié)構(gòu)連接,無法提供有效支撐,驗(yàn)證了所提指向性靈敏度過濾的有效性。
圖7 不采用指向性靈敏度過濾迭代450次后結(jié)果
算例2為橋式結(jié)構(gòu)拓?fù)鋬?yōu)化問題,設(shè)計(jì)域?yàn)?00×50的矩形,位移約束位于底邊左右角點(diǎn)處,集中載荷作用在底邊中點(diǎn),載荷方向向下,如圖8所示。材料體分比約束為0.5。參數(shù)m=8,n=40,β值每50次迭代增加一倍。
圖8 橋式結(jié)構(gòu)設(shè)計(jì)模型
圖9(a)為過濾半徑R=3時(shí)不考慮自支撐約束時(shí)的優(yōu)化結(jié)果,結(jié)構(gòu)柔順性c=15.01。結(jié)構(gòu)上方呈水平懸空,左右兩側(cè)的支撐結(jié)構(gòu)傾斜角度大于45°。由于結(jié)構(gòu)懸空高度較高,采用較大的參數(shù)k=200和較小的α=0.02以抑制密度漸變區(qū)域的干擾。
考慮自支撐約束,分別對(duì)過濾半徑R=2和3時(shí)進(jìn)行拓?fù)鋬?yōu)化,均在300次循環(huán)迭代后收斂,結(jié)果如圖9(b,c)所示??梢钥闯?,支撐結(jié)構(gòu)數(shù)量減小為2個(gè),結(jié)構(gòu)均實(shí)現(xiàn)自支撐。結(jié)構(gòu)柔順性c分別為15.28和16.35,與不考慮自支撐約束優(yōu)化結(jié)果相比結(jié)構(gòu)柔度分別增加4.8%和8.9%。由于材料體積約束的限制導(dǎo)致結(jié)構(gòu)高度降低,從而使結(jié)構(gòu)剛度減小。
圖9 橋式結(jié)構(gòu)拓?fù)鋬?yōu)化結(jié)果對(duì)比
從結(jié)果可見,過濾半徑R=3時(shí)結(jié)構(gòu)柔度較大,這是由于過濾半徑較大時(shí),中間密度單元數(shù)量更多,結(jié)構(gòu)承載效率下降。此外可見,過濾半徑較小時(shí)存在更多的孔洞結(jié)構(gòu),這與文獻(xiàn)的結(jié)論一致。
為進(jìn)一步研究指向性靈敏度過濾的有效性,不采用靈敏度過濾進(jìn)行優(yōu)化,過濾半徑R=3,迭代300次后拓?fù)鋬?yōu)化結(jié)果如圖10所示??梢娫摻Y(jié)果實(shí)現(xiàn)了自支撐,且與圖9(c)的結(jié)果十分接近,原因在于本算例中支撐結(jié)構(gòu)尺寸相對(duì)較大,高度較低,通過漸進(jìn)演化能形成有效支撐結(jié)構(gòu)。
圖10 不采用指向性靈敏度過濾迭代300次后結(jié)果 (c =16.18)
算例3為充分驗(yàn)證算法的有效性,設(shè)計(jì)了一個(gè)拉伸桿問題,設(shè)計(jì)域?yàn)?00×50的矩形,左側(cè)中點(diǎn)固定,集中載荷作用在底右側(cè)中點(diǎn),如圖11所示。材料體分比約束為0.3。參數(shù)k=150,α=0.03,β值每50次迭代增加一倍。
圖11 拉伸桿結(jié)構(gòu)設(shè)計(jì)模型
圖12(a)為過濾半徑R=2時(shí)不考慮自支撐約束的拓?fù)鋬?yōu)化結(jié)果,為水平桿狀結(jié)構(gòu),結(jié)構(gòu)柔順性c=10.61。由于基板位于設(shè)計(jì)域底邊,結(jié)構(gòu)完全懸空,可用于驗(yàn)證本算法的有效性。
圖12 拉伸桿拓?fù)鋬?yōu)化結(jié)果對(duì)比
考慮自支撐約束,參數(shù)m=8,n=80。對(duì)過濾半徑R=2和3時(shí)進(jìn)行優(yōu)化,分別在200和230次迭代后收斂,結(jié)果如圖12(b,c)所示。可見考慮自支撐約束后結(jié)構(gòu)材料向基板方向偏移并接觸,演化出多個(gè)對(duì)稱分布支撐結(jié)構(gòu),結(jié)構(gòu)均完全實(shí)現(xiàn)自支撐。結(jié)構(gòu)柔順性c分別為17.34和20.94,與不考慮自支撐約束結(jié)果相比,結(jié)構(gòu)柔度分別增加163.5%和189.3%。由于支撐結(jié)構(gòu)幾乎不傳遞載荷,因此結(jié)構(gòu)承載效率下降較多。
此外,與算例2結(jié)果類似,過濾半徑較大時(shí),由于中間密度單元數(shù)量更多,結(jié)構(gòu)承載效率下降,但支撐結(jié)構(gòu)數(shù)量較少,尺寸則更大。
結(jié)構(gòu)邊界存在一定數(shù)量的中間密度單元,原因是收斂時(shí)參數(shù)β值較小,可通過增加β值改善,但會(huì)導(dǎo)致非線性程度增加。此外可見,若改為水平方向打印,圖12(a)的拓?fù)浣Y(jié)構(gòu)則能完全實(shí)現(xiàn)自支撐,考慮自支撐約束對(duì)最終結(jié)果無影響。
為進(jìn)一步研究指向性靈敏度過濾的有效性,不采用靈敏度過濾進(jìn)行優(yōu)化,過濾半徑R=2,結(jié)果無法形成有效支撐結(jié)構(gòu),如圖13所示。原因在于支撐結(jié)構(gòu)高度較高,需要采用指向性靈敏度促進(jìn)支撐結(jié)構(gòu)向下演化。
圖13 不采用指向性靈敏度過濾迭代230次后結(jié)果
綜合三個(gè)算例優(yōu)化結(jié)果,與通過密度過濾實(shí)現(xiàn)自支撐[12-16]的拓?fù)鋬?yōu)化結(jié)果相比可見,本算法最優(yōu)結(jié)構(gòu)中不存在扭曲或細(xì)小的支撐結(jié)構(gòu),結(jié)構(gòu)邊界更加光滑,結(jié)構(gòu)可制造性更好。主要原因是密度過濾方法中每一步都強(qiáng)制滿足自支撐條件,導(dǎo)致支撐結(jié)構(gòu)形狀扭曲,同時(shí)無法控制支撐結(jié)構(gòu)尺寸。本算法采用漸進(jìn)演化的方式,僅要求最終收斂時(shí)實(shí)現(xiàn)自支撐,結(jié)構(gòu)形狀更加自然。此外,通過算法參數(shù)過濾半徑R可控制支撐結(jié)構(gòu)的尺寸,因此可制造性更好。
基于SIMP框架提出了考慮增材制造結(jié)構(gòu)自支撐約束的拓?fù)鋬?yōu)化算法,該算法基于建立的顯式約束函數(shù)模型控制結(jié)構(gòu)的自支撐特性,通過結(jié)構(gòu)漸進(jìn)演化的方式使最終拓?fù)鋬?yōu)化結(jié)構(gòu)實(shí)現(xiàn)自支撐。同時(shí)給出了相應(yīng)的靈敏度分析方法,可并行分析。
通過3個(gè)算例驗(yàn)證了算法的有效性,同時(shí)對(duì)結(jié)構(gòu)漸進(jìn)演化過程和指向性靈敏度過濾的有效性進(jìn)行分析。結(jié)果表明,所有拓?fù)鋬?yōu)化結(jié)果均實(shí)現(xiàn)了結(jié)構(gòu)自支撐,驗(yàn)證了該算法的有效性,提出的指向性靈敏度過濾算子能有效促進(jìn)支撐結(jié)構(gòu)演化。與基于密度過濾的拓?fù)鋬?yōu)化方法優(yōu)化結(jié)果相比,本算法的優(yōu)化結(jié)果不存在扭曲和細(xì)小的支撐結(jié)構(gòu),可制造性更好。
研究發(fā)現(xiàn),考慮結(jié)構(gòu)自支撐約束時(shí)會(huì)導(dǎo)致結(jié)構(gòu)承載效率下降,下一步研究可將打印方向優(yōu)化與拓?fù)鋬?yōu)化結(jié)合,同時(shí)該拓?fù)鋬?yōu)化算法可拓展至3D問題。