
發布
注冊
/
登錄水平集法的案例
最簡單的水平集法源程序及其程序說明
此水平集法源程序并非王煜老師的199行經典水平集程序,而是challis于2009年發表在SCI雜志上的程序,除去添加了“%”的解釋說明程序,整個程序大約90行。對水平集初學者,或是想了解水平集法的人來說,不失為較好的教學工具。該程序最大的缺點是邊界不好,單元密度不是0就是1,沒有中間密度。優點是能開孔
程序運行結果:
該程序的詳細解釋請看源文檔(附件)
A discrete level-set topology optimization code written in Matlab.pdf
水沸騰蒸發模擬(相場法和水平集法) ¥19
包含相場法和水平集法,可以很好地對比兩者之間的區別
參數化水平集法三維結構優化
近研究了一下水平集法的三維結構編程問題,略有小成,發個案例與大家討論討論。
三維懸臂梁的優化:
結構尺寸1:1:2 初始設計域(網格10x10x20) 優化結果 目標函數與約束函數
然后優化了一個椅子,
受力情況 初始設計域 優化結果
總的來講,三維結構的編程比二維稍難,主要體現在:
1. 水平集是將設計域提升為高一維的函數,即三維結構需要四維的函數來表示,因此矩陣比較復雜
2. 有限元多計算一根Z軸,在計算節點,單元編號的時候,空間思維較多
展開 COMSOL多相流仿真方法
對于不希望發生拓撲變化的微流體系統,通常首選動網格法;
如果需要拓撲變化,則必須使用相場法:
當表面張力的影響較大時,首選相場法
如果可以忽略表面張力,首選水平集法
分離多相流模型和湍流模型
在湍流模型中,由于僅求解平均速度和壓力,流體的細節會丟失。從這一點來看,表面張力效應在流體的宏觀描述中也變得不那么重要。又由于湍流表面的流動比較劇烈,因此幾乎不可能避免拓撲變化。所以,對于湍流模型和分離多相流模型的組合,最好使用水平集法。水平集法和相場法都可以與 COMSOL Multiphysics 中的所有湍流模型結合使用,如下圖和動畫所示。
在 COMSOL Multiphysics 中,所有湍流模型都可以與相場法和水平集法相結合來模擬兩相流。
將水平集法與 k-e 湍流模型相結合模擬反應堆中水和空氣的兩相流。
分散多相流模型
萬一相邊界過于復雜而無法求解,我們必須使用分散多相流模型。
展開 
COMSOL 軟件建模教程:如何模擬自由液面 (一)
COMSOL Multiphysics? 軟件提供了四種可用于模擬自由液面的方法:水平集、相場、動網格和穩態自由表面。作為系列博客的第一節,我們將討論水平集和相場法,這兩種基于場的方法幾乎可以描述任何類型的自由液面。在第二節中,我們計劃將本文的求解結果與通過動網格接口獲得的結果進行比較。
何為水平集和相場法?
水平集和相場法都是基于場的方法,這類方法將自由液面表征為水平集或相場函數的等值面。自由液面對應固定網格框架下的液體和氣體之間的相分界面。
下圖為管道內兩顆液滴的表面,摘自附加產品“微流體模塊”的“案例庫”所提供的液滴破碎模型。從這張圖中可以看出,盡管液滴的表面非常明顯,但液滴周圍的單元并沒有貼合到液滴表面上。
不管采用水平集方法還是相場法,液滴表面與單元表面都不貼合。
水平集和相場函數都是由納維-斯托克斯方程計算的速度矢量進行對流傳輸的。在水平集和相場法中,對應公式為:
(1)
需要注意的是,水平集和相場函數都使用了 Φ。二者的不同在于方程右側的 F。在初始水平集方法中 F = 0,因此得到純對流傳輸方程。然而當 F = 0 時,數值解不僅不穩定,而且大部分情況下實用性很小。所以為了保持相界面清晰,我們在水平集方法的 F 中添加了高階導數項 Φ 。
在相場法中,F 代表設法將系統的自由能最小化的項。此項也引入了高階導數 Φ。實際上,相場方程中的源項中包含了四階項。這意味著,出于實用性考慮,方程經常被分解為兩個方程,與此同時,輔助因變量被定義為 Φ 的二階導數函數形式。COMSOL Multiphysics 中也采取了這種做法。
兩種方法均將自由液面的表面張力引入到納維-斯托克斯方程的源項中。水平集方法利用表征自由邊界的水平集等值面的曲率來描述表面張力。
展開 OptFuture 2025.4.0 隱式建模與隨機振動重磅首發!
拓撲優化水平集法
新版本基于現有水平集法,
全面開放了位移響應與應力響應作為目標及約束條件,使算法能夠直接處理對強度要求苛刻的復雜工程挑戰。這一突破不僅拓寬了優化算法在精密機械、重型裝備等領域的適用范圍,更確保了在極限工況下,結構依然能夠實現剛度與強度的最優平衡。
穩態熱導入載荷
為了精準捕捉熱應力對結構性能的影響,現已支持
穩態熱載荷的直接導入。通過打通熱分析與結構分析之間的底層數據通道,可以更真實地模擬高溫、熱梯度波動等復雜熱環境下的結構表現。顯著提升了熱機耦合分析的完整性與精度,為航空航天發動機部件、電子散熱結構等受熱敏感設計的性能評估提供了更加可靠的決策依據。
stl求解效率提升
針對行業中廣泛使用的
STL 幾何模型,我們對整體求解流程進行了深度性能重構。通過優化空間劃分算法與并行計算邏輯,新版本在處理
超大規模三角面片模型時展現了驚人的計算效率。即使是面對拓撲極其復雜、數據量巨大的幾何輸入,系統也能實現極速預處理與求解響應,這一優化大幅縮減了復雜模型的計算周期。
展開 面向金屬增材制造的拓撲優化設計研究進展
特征驅動結構拓撲優化方法
結合隱式水平集函數描述結構輪廓工程特征,通過基于梯度的優化方式控制特征結構的移動、縮放等,實現結構特征與拓撲優化的有效融合。
水平集法具有清晰的結構邊界,無數值無穩定現象,但該類方法高度依賴于初始參數值,存在不能自主開孔
(圖
3
)與弱收斂等問題。針對僅能實現孔洞融合而不能自主開孔的問題,應用拓撲導數(圖
4a)
、基于反應擴散方程
,可有效解決自主開孔問題。針對初始依賴性,可利用共軛法計算二維與三維線彈性模型的形狀導數
,或采用最速下降法更新設計變量
,或結合基于全局與局部元胞分割框架的遺傳算法
,改善優化結果初始依賴性。
圖3 水平集法初始依賴性與不能自主開孔問題 (a) 2個初始孔洞;(b)9個初始孔洞;(c)40個初始孔洞
針對弱收斂問題,
Luo
等
提出基于緊支撐徑向基函數,采用更穩定、更高效的積分形式,實現
Hamilton-Jacobi
方程在時間與空間解耦,改善傳統水平集法求解困難等弱收斂問題。
Guirguis
等
基于
Kriging
(圖
4
b
)
與
RBF
插值模型,提出一種無導數的水平集方法,使用模式搜索的算法,減少有限元分析時間,改善結構初始依賴性及邊界震蕩等弱收斂問題。Dunning等
提出一種求解多約束問題與優化非水平集設計變量的新方法,獲得平滑的速度函數,改善計算穩定性與收斂性。Yaji等
提出對流水平集方法,將符號距離函數映射為光滑的雙曲正切函數,將初始化過程嵌入時間演化方程中,減少額外的計算過程,獲得結構穩定、收斂性較好的拓撲結構。Q
u
等
提出拉格朗日乘子直接與間接控制法,減少迭代過程中拉格朗日乘子的振蕩現象,有效改善優化結果收斂性。
展開 comsolCFD模塊
comsol兩相流之水平集法1.pdf
拓撲優化源程序集合
此貼收集各種語言編寫的:拓撲優化;有限元;無網格法;優化算法等與結構優化相關的源程序,我自己先將手頭上有的分享一下。
1. 拓撲優化99行及其相關的程序----by sigmund
Sigmund.zip
2. 經典水平集法------by M.Y. Wang
TOPLSM_GUI.zip
3. The finite element method using matlab
The finite element method using matlab.rar
4. matlab有限元結構動力學分析與工程應用
m文件.zip
5. 無網格方面的資料
無網格方面的資料.rar
6. 遺傳算法的函數優化
函數優化.rar
7. XFEM程序
XFEM程序.rar
展開 COMSOL多物理場耦合核心技術與應用
Multiphysics軟件簡介
(二)COMSOL的基本特點、耦合機理
(三)COMSOL幾何建模與網格技術
(四)COMSOL后處理技術詳解
(五)COMSOL求解器技術詳解
(六)COMSOL流動與傳熱應用
(七)MEMS與AC/DC
(八)COMSOL典型算例分析與答疑
(6.1)單相層流分析;簡單的對流傳熱分析
(6.2)多相流動分析;相場法和水平集法的應用
(6.3)傳熱過程中輻射和相變的分析
(6.4)多相流傳熱分析
(7.1)微電阻梁的電熱-結構耦合分析(上)
(7.2)微電阻梁的電熱-結構耦合分析(下)
(7.3)微流固耦合分析案例講解
(7.4)微流控電滲混合器案例講解
(7.5)壓電器件的插齒表面波分析(2D模式和3D分析) (7.6)機械諧振分析
(7.7)介紹低頻電磁場控制方程和邊界條件?
(7.8AC/DC及GUI簡介
(7.9)利用AC/DC模塊解決低頻電磁場建模的一般過程
(8.1)COMSOL在流動與傳熱分析中的應用實例分析與操作
(8.2)COMSOL在電化領域的應用實例與操作
(8.3)COMSOL在多孔介質中的應用案例分析
(8.4)PID濃度控制應用案例分析
(8.5) COMSOL在光電領域應用案例分析
(8.6)COMSOL在材料化工及微納光學中的應用于解析
如需詳細文件通知請加 QQ : 397445877
聯系人:李文強 電話 15630089505 全球通
展開 雙向漸進優化拓撲優化方法(BESO) ¥1.99
目前已知的拓撲優化方法主要包括均勻化方法、變密度法、水平集法和進化算法。其中以變密度法應用最多,是目前主流的商業軟件使用的方法。今天主要介紹進化算法,進化算法是謝億民教授提出的優化算法,該方法的思想在于剔除結構中的低效單元,保留對結構有益的單元,這種優化方法具有方法簡單,可直接借用商用有限元軟件實現等優點,這種方法不產生中間密度單元,經過改進也能避免拓撲優化中常見的數值不穩定,如棋盤格、多孔和網格依賴性等問題,具有良好的應用前景。
圖1 是一個簡單的進化方法優化的例子,通過逐漸刪除受重力作用下物體內的低應力單元,此物體最終進化為一個蘋果的形狀。優化開始時,原始模型中全部為實體單元,在迭代過程中,將部分低效單元替換為空單元,賦予其低彈性模量,使得其對結構影響不大。如果在接下來的迭代過程中,某些空單元被發現可對結構產生有益的作用,則將其轉化為實體單元,這也是這種方法被稱為雙向的原因,即單元可根據需要實現增加和刪除。
展開 
擴展有限元(XFEM) Step-by-Step|理論&建模
為了確定裂縫、夾雜、孔洞等在模型中的間斷位置,擴展有限單元法常采用水平集法(level set method, LSM)來描述和追蹤移動界面位置。
VirtualFlow | 潰壩水動力過程模擬,輔助洪災應急預案制定
二維標準潰壩實驗一般采用透明材料制作水槽,以方便采用高速度相機和其他光學測量技術,如粒子圖像測速法(PIV),實時記錄水位變化和流場分布。這種實驗提供了豐富的流動細節和定量數據,包括水頭傳播速度、波面位置、水深變化和流體速度場等信息,這些都是檢驗數值模擬精度的重要依據。
數值模擬方法
數值模擬潰壩問題的方法眾多,其中常見的方法包括有限差分法(FDM)、有限元法(FEM)和有限體積法(FVM)。目前,有限體積法以其良好的守恒性質和易于處理復雜邊界條件的優勢,成為主流的求解方法。Navier-Stokes方程描述了流體運動的基本規律,包括連續性方程和動量守恒方程。此外,由于潰壩問題涉及自由表面運動,常常需要引入專門的自由表面捕捉技術,如體積法(Volume of Fluid,VOF)或水平集法(Level Set Method)等。
積鼎自研通用計算流體力學分析軟件VirtualFlow基于FVM開發,具有全代碼自主可控、先進的網格技術、高精度的湍流模型、豐富的多相流模型等技術特點;軟件在求解界面流問題時,提供了VOF、Level set兩種模型,可應用于類似潰壩這樣的界面流仿真分析中。
二維標準潰壩數值算例設置
流體域按照標準潰壩實驗《Experimental investigation of dynamic pressure loads during dam break》中的實驗設置:流體域長1610mm,高600mm;初始液相區域為x≥1010&y≤300。
展開 基于XFEM的裂紋擴展仿真過程詳解和仿真經驗交流(二)(包括直接循環載荷步疲勞裂紋擴展分析) ¥20
第二部分、基于XFEM_paris模型的裂紋擴展仿真分析
相比于靜態裂紋參數計算問題,裂紋擴展仿真在學術和工程領域更為人們所關注,常用的方法有網格重劃分技術、邊界元法、無網格方法和XFEM,其中,XFEM通過引入水平集法和單位分解等思想實現了實體與裂紋相互獨立,在裂紋擴展的過程中不需要更新網格,提高了計算效率。ABAQUS中集成的XFEM裂紋擴展仿真可以根據使用的模型分為三類:基于損傷力學內聚力模型(cohesive)的牽引分離定律、基于LEFM的虛擬裂紋閉合技術(VCCT)和基于Paris公式的疲勞裂紋擴展理論。第一種方法可以不用預制裂紋,適用于裂紋的萌生壽命分析,第二種不是很熟悉,第三種則必須預制裂紋,適用于裂紋的擴展壽命分析。下面將對這三種操作流程進行一一說明,以二維模型為例,三維模型基本相同。
讀者須知:經過很多次的仿真分析,在模型和參數基本相同的情況下,筆者發現基于cohesive和基于VCCT模型的裂紋擴展分析很難得到收斂,仿真難度較大,這有可能是參數設置的問題,部分參數修改之后還是能夠成功的,但也有可能是本人學藝未精,所以說只能是提及一下給個建議。但是基于Paris模型的方法仿真效果還不錯,因此本文僅對后者做詳細的說明,至于其余兩種方法只能夠簡單的說明一下其實現過程中的異同點。再次強調,本文只有基于Paris模型的direct cyclic分析步的仿真過程,誤買本帖的同學請別來罵我。
本文還將針對同學們在仿真過程中的一些問題提供解決方法和思路,其中包括:裂紋不發生擴展、每個cycle裂紋都會擴展一次等。
展開 “失效”小述(心得分享)
后來,人們發現這種能量判定法,在一些預判還有實驗不是很實用。接著,再后來提出了內聚力模型,其思想就是類似原子間的分離定律,超過一定的距離,原子間的作用力可以忽略。這個距離就可以理解為破壞位移。破壞位移就是針對TS律--牽引分離定律而言的,用這種應力位移跳來模擬材料漸進的失效過程。
以線彈性材料點為例,破壞前,剛度不變;然后到達一定階段(外部因素)出現損傷,材料點承載能力下降,反應在剛度折減,強度降低,一般用材料逐漸分離的過程來模擬這種損傷導致的失效。當然這是一個微觀過程,就像兩個原子的分離過程。當材料完全破壞時,這時意味著不能承受任何應力,材料點的剛度為零,此時對應的位移就是破壞位移。
此外,材料點出現不連續現象可以用單元的刪除來表示。但這樣,不好的地方就是太依賴于網格的劃分,擴展角度與方向都與實驗差別很大。1999年,以西北大學Belyschko為首的,和Black 合作提出XFEM。后來證實就是一種單元分解法。他也是參考了別人的思想,不是特別原創的idea。先是2維的,后是3維的XFEM;先是靜態的,后是動態的。相關的一系列問題被解決。譬如,如今已被用于孔壓單元,模擬水力開裂。
XFEM,唯一強大的地方就是解決了裂紋萌生的問題,使得與試驗切合的很好(因為裂紋尖端引入了內聚力模型)。其次,用水平集分法,來表示裂紋面和裂尖。
近十多年,其已成為全世界最流行的數值方法之一,能用于很多地方,比如兩相流,固體流體界面,相變等。參考圖例如下:
圖片來自網絡,本人原創,純手打
展開