
發(fā)布
注冊
/
登錄水平集法
關(guān)注創(chuàng)建者:匿名 創(chuàng)建時間:2021-08-26

水平集法的實例教程
此水平集法源程序并非王煜老師的199行經(jīng)典水平集程序,而是challis于2009年發(fā)表在SCI雜志上的程序,除去添加了“%”的解釋說明程序,整個程序大約90行。對水平集初學(xué)者,或是想了解水平集法的人來說,不失為較好的教學(xué)工具。該程序最大的缺點是邊界不好,單元密度不是0就是1,沒有中間密度。優(yōu)點是能開孔
程序運行結(jié)果:
該程序的詳細(xì)解釋請看源文檔(附件)
A discrete level-set topology optimization code written in Matlab.pdf
包含相場法和水平集法,可以很好地對比兩者之間的區(qū)別
近研究了一下水平集法的三維結(jié)構(gòu)編程問題,略有小成,發(fā)個案例與大家討論討論。
三維懸臂梁的優(yōu)化:
結(jié)構(gòu)尺寸1:1:2 初始設(shè)計域(網(wǎng)格10x10x20) 優(yōu)化結(jié)果 目標(biāo)函數(shù)與約束函數(shù)
然后優(yōu)化了一個椅子,
受力情況 初始設(shè)計域 優(yōu)化結(jié)果
總的來講,三維結(jié)構(gòu)的編程比二維稍難,主要體現(xiàn)在:
1. 水平集是將設(shè)計域提升為高一維的函數(shù),即三維結(jié)構(gòu)需要四維的函數(shù)來表示,因此矩陣比較復(fù)雜
2. 有限元多計算一根Z軸,在計算節(jié)點,單元編號的時候,空間思維較多
展開 對于不希望發(fā)生拓?fù)渥兓奈⒘黧w系統(tǒng),通常首選動網(wǎng)格法;
如果需要拓?fù)渥兓瑒t必須使用相場法:
當(dāng)表面張力的影響較大時,首選相場法
如果可以忽略表面張力,首選水平集法
分離多相流模型和湍流模型
在湍流模型中,由于僅求解平均速度和壓力,流體的細(xì)節(jié)會丟失。從這一點來看,表面張力效應(yīng)在流體的宏觀描述中也變得不那么重要。又由于湍流表面的流動比較劇烈,因此幾乎不可能避免拓?fù)渥兓K裕瑢τ谕牧髂P秃头蛛x多相流模型的組合,最好使用水平集法。水平集法和相場法都可以與 COMSOL Multiphysics 中的所有湍流模型結(jié)合使用,如下圖和動畫所示。
在 COMSOL Multiphysics 中,所有湍流模型都可以與相場法和水平集法相結(jié)合來模擬兩相流。
將水平集法與 k-e 湍流模型相結(jié)合模擬反應(yīng)堆中水和空氣的兩相流。
分散多相流模型
萬一相邊界過于復(fù)雜而無法求解,我們必須使用分散多相流模型。
展開 COMSOL Multiphysics? 軟件提供了四種可用于模擬自由液面的方法:水平集、相場、動網(wǎng)格和穩(wěn)態(tài)自由表面。作為系列博客的第一節(jié),我們將討論水平集和相場法,這兩種基于場的方法幾乎可以描述任何類型的自由液面。在第二節(jié)中,我們計劃將本文的求解結(jié)果與通過動網(wǎng)格接口獲得的結(jié)果進(jìn)行比較。
何為水平集和相場法?
水平集和相場法都是基于場的方法,這類方法將自由液面表征為水平集或相場函數(shù)的等值面。自由液面對應(yīng)固定網(wǎng)格框架下的液體和氣體之間的相分界面。
下圖為管道內(nèi)兩顆液滴的表面,摘自附加產(chǎn)品“微流體模塊”的“案例庫”所提供的液滴破碎模型。從這張圖中可以看出,盡管液滴的表面非常明顯,但液滴周圍的單元并沒有貼合到液滴表面上。
不管采用水平集方法還是相場法,液滴表面與單元表面都不貼合。
水平集和相場函數(shù)都是由納維-斯托克斯方程計算的速度矢量進(jìn)行對流傳輸?shù)摹T?em>水平集和相場法中,對應(yīng)公式為:
(1)
需要注意的是,水平集和相場函數(shù)都使用了 Φ。二者的不同在于方程右側(cè)的 F。在初始水平集方法中 F = 0,因此得到純對流傳輸方程。然而當(dāng) F = 0 時,數(shù)值解不僅不穩(wěn)定,而且大部分情況下實用性很小。所以為了保持相界面清晰,我們在水平集方法的 F 中添加了高階導(dǎo)數(shù)項 Φ 。
在相場法中,F(xiàn) 代表設(shè)法將系統(tǒng)的自由能最小化的項。此項也引入了高階導(dǎo)數(shù) Φ。實際上,相場方程中的源項中包含了四階項。這意味著,出于實用性考慮,方程經(jīng)常被分解為兩個方程,與此同時,輔助因變量被定義為 Φ 的二階導(dǎo)數(shù)函數(shù)形式。COMSOL Multiphysics 中也采取了這種做法。
兩種方法均將自由液面的表面張力引入到納維-斯托克斯方程的源項中。水平集方法利用表征自由邊界的水平集等值面的曲率來描述表面張力。
展開 
水平集法的相關(guān)專題、標(biāo)簽、搜索
水平集法的最新內(nèi)容
拓?fù)鋬?yōu)化水平集法
新版本基于現(xiàn)有水平集法,
全面開放了位移響應(yīng)與應(yīng)力響應(yīng)作為目標(biāo)及約束條件,使算法能夠直接處理對強(qiáng)度要求苛刻的復(fù)雜工程挑戰(zhàn)。這一突破不僅拓寬了優(yōu)化算法在精密機(jī)械、重型裝備等領(lǐng)域的適用范圍,更確保了在極限工況下,結(jié)構(gòu)依然能夠?qū)崿F(xiàn)剛度與強(qiáng)度的最優(yōu)平衡。
水平集法,使用水平集函數(shù)來描述材料和空洞的界面,通過演化水平集函數(shù)來優(yōu)化材料分布。進(jìn)化結(jié)構(gòu)優(yōu)化,通過逐步移除不必要或低效的材料,逐步優(yōu)化結(jié)構(gòu)。
拓?fù)鋬?yōu)化的傳統(tǒng)方法是基于靈敏度分析,這對于線性靜態(tài)問題來說是很容易獲得的。當(dāng)必須考慮碰撞載荷情況時,必須考慮高度非線性動態(tài)碰撞問題的特殊性。在碰撞過程中結(jié)構(gòu)會發(fā)生大變形。分析所使用的材料定律也是非線性的,動能被塑性變形所吸收。
水平集法,使用水平集函數(shù)來描述材料和空洞的界面,通過演化水平集函數(shù)來優(yōu)化材料分布。進(jìn)化結(jié)構(gòu)優(yōu)化,通過逐步移除不必要或低效的材料,逐步優(yōu)化結(jié)構(gòu)。
拓?fù)鋬?yōu)化的傳統(tǒng)方法是基于靈敏度分析,這對于線性靜態(tài)問題來說是很容易獲得的。當(dāng)必須考慮碰撞載荷情況時,必須考慮高度非線性動態(tài)碰撞問題的特殊性。在碰撞過程中結(jié)構(gòu)會發(fā)生大變形。分析所使用的材料定律也是非線性的,動能被塑性變形所吸收。
水平集法,使用水平集函數(shù)來描述材料和空洞的界面,通過演化水平集函數(shù)來優(yōu)化材料分布。進(jìn)化結(jié)構(gòu)優(yōu)化,通過逐步移除不必要或低效的材料,逐步優(yōu)化結(jié)構(gòu)。
拓?fù)鋬?yōu)化的傳統(tǒng)方法是基于靈敏度分析,這對于線性靜態(tài)問題來說是很容易獲得的。當(dāng)必須考慮碰撞載荷情況時,必須考慮高度非線性動態(tài)碰撞問題的特殊性。在碰撞過程中結(jié)構(gòu)會發(fā)生大變形。分析所使用的材料定律也是非線性的,動能被塑性變形所吸收。
此外,由于潰壩問題涉及自由表面運動,常常需要引入專門的自由表面捕捉技術(shù),如體積法(Volume of Fluid,VOF)或水平集法(Level Set Method)等。
所以,對于湍流模型和分離多相流模型的組合,最好使用水平集法。水平集法和相場法都可以與 COMSOL Multiphysics 中的所有湍流模型結(jié)合使用,如下圖和動畫所示。
在 COMSOL Multiphysics 中,所有湍流模型都可以與相場法和水平集法相結(jié)合來模擬兩相流。
圖3 水平集法初始依賴性與不能自主開孔問題 (a) 2個初始孔洞;(b)9個初始孔洞;(c)40個初始孔洞
針對弱收斂問題,
Luo
等
提出基于緊支撐徑向基函數(shù),采用更穩(wěn)定、更高效的積分形式,實現(xiàn)
Hamilton-Jacobi
方程在時間與空間解耦,改善傳統(tǒng)水平集法求解困難等弱收斂問題。
為了確定裂縫、夾雜、孔洞等在模型中的間斷位置,擴(kuò)展有限單元法常采用水平集法(level set method, LSM)來描述和追蹤移動界面位置。
* 擴(kuò)展有限元法
擴(kuò)展有限元法,其裂紋表面是用Level Set水平集法來進(jìn)行搜索、表現(xiàn)。目前擴(kuò)展有限元多應(yīng)用于Shell殼單元,是cell-by-cell的裂紋擴(kuò)展,一次會切整個厚度,可應(yīng)用于脆性和延性材料中,主要為高強(qiáng)度鋼等材料。高強(qiáng)度鋼在特定的沖擊下會形成裂紋。
包含相場法和水平集法,可以很好地對比兩者之間的區(qū)別
