有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly

(原創,轉載請注明出處)

==概述==

本系列文章研究成熟的有限元理論基礎及在商用有限元軟件的實現方式。有限元的理論發展了幾十年已經相當成熟,商用有限元軟件同樣也是采用這些成熟的有限元理論,只是在實際應用過程中,商用CAE軟件在傳統的理論基礎上會做相應的修正以解決工程中遇到的不同問題,且各家軟件的修正方法都不一樣,每個主流商用軟件手冊中都會注明各個單元的理論采用了哪種理論公式,但都只是提一下用什么方法修正,很多沒有具體的實現公式。商用軟件對外就是一個黑盒子,除了開發人員,使用人員只能在黑盒子外猜測內部實現方式。

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖1

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖2

一方面我們查閱各個主流商用軟件的理論手冊并通過進行大量的資料查閱猜測內部修正方法,另一方面我們自己編程實現結構有限元求解器,通過自研求解器和商軟的結果比較來驗證我們的猜測,如同管中窺豹一般來研究的修正方法,從而猜測商用有限元軟件的內部計算方法。我們關注CAE中的結構有限元,所以主要選擇了商用結構有限元軟件中文檔相對較完備的Abaqus來研究內部實現方式,同時對某些問題也會涉及其它的Nastran/Ansys等商軟。為了理解方便有很多問題在數學上其實并不嚴謹,同時由于水平有限可能有許多的理論錯誤,歡迎交流討論,也期待有更多的合作機會。

iSolver介紹視頻:

http://www.yqgqt.org.cn/college/video/c12884

==第16篇:Part、Instance與Assembly ==

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖31.1 三者的關系

與Patran不同,Abaqus引入Assembly的概念,支持在一個模型中采用多個Part。通過定義Part之間的接觸和約束,能夠更真實地反映復雜產品的整體結構特性。在Abaqus模型中,Assembly包含一個和多個Instance,而每個Instance都對應一個Part。

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖41.2 Instance的網格

在建立Instance時,除了選定對應的Part,還需要設置Instance的網格是否Dependent。如果是,則Instance直接使用Part的網格,任何對于Part網格的修改都會直接影響Instance的網格;如果否,則Instance會剪切當前Part的網格,建立僅從屬于Instance的獨立網格。需要注意的是,當多個Instance引用同一個Part時,這些Instance的網格必須同時獨立于或者依賴Part。

Abaqus關于Instance的設計也是與現實情況相吻合的。例如,經常會有這樣的情況,機械產品內部使用很多個相同零件,在仿真時就可以只建一個Part,而建立多個Instance,每個Instance的網格都依賴于Part,這樣可以極大程度降低仿真的計算量。但如果這些零件的受力情況差異較大,就需要創建不同的網格,即Instance的網格獨立于Part,從而反映實際的結構特性。

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖51.3 Abaqus內部組裝流程猜測

從上述分析可以對Abaqus內部組裝流程進行猜測,以總裝剛度矩陣組裝流程為例:

1. 取一個Instance;

2. 判斷Instance網格是否為Dependent;

3. 如果是,取Instance對應的Part;如果否,組裝Instance的剛度矩陣,跳轉6;

4. 判斷Part的剛度矩陣是否已經組裝;

5. 如果是,跳轉6;如果否,組裝Part的剛度矩陣;

6. 判斷是否還有Instance未組裝,如果是,跳轉1;

7. 將所有Instance的剛度矩陣組裝;

8. 組裝Assembly下的單元剛度矩陣;

9. 最終形成整個Assembly的總體剛度矩陣。

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖61.4 算例

模態分析結果的正確性直接受總體剛度矩陣和總體質量矩陣影響,因此我們采用一個多Part手機模型的模態分析來驗證本節內容的正確性。此次驗證,依然使用自研求解器iSolver與Abaqus計算結果對比的方式。

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖71.4.1 算例說明

如圖,此手機模型Assembly由12個Part組成,Part之間采用K-Coupling連接。

                       

4.png

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖9有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖10

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖111.4.2 模態分析結果

3.png

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖13

iSolver與Abaqus計算頻率結果誤差小于2%,由此可以證明iSolver計算得到的總體剛度矩陣和總體質量矩陣與Abaqus一致,驗證了本文對于多Part模型總裝矩陣組裝流程的猜測。

 

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖14

==總結==

本章介紹了Part、Instance與Assembly三者之間的關系,分析了Instance的網格形成原理,也簡單猜測了一下Abaqus的內部組裝實現流程,最后通過一個算例來驗證。

算例視頻:

http://www.yqgqt.org.cn/college/video/c1288411.4 分析案例篇4:手機多Part模態分析

如果有任何其它疑問或者項目合作意向,也歡迎聯系我們:

snowwave02 From www.yqgqt.org.cn

email: snowwave02@qq.com

 

有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖15

以往的系列文章:

第一篇:S4殼單元剛度矩陣研究。介紹Abaqus的S4剛度矩陣在普通厚殼理論上的修正。

http://www.yqgqt.org.cn/content/post/338859

第二篇:S4殼單元質量矩陣研究。介紹Abaqus的S4和Nastran的Quad4單元的質量矩陣。

http://www.yqgqt.org.cn/content/post/343905

第三篇:S4殼單元的剪切自鎖和沙漏控制。介紹Abaqus的S4單元如何來消除剪切自鎖以及S4R如何來抑制沙漏的。

http://www.yqgqt.org.cn/content/post/350865

第四篇:非線性問題的求解。介紹Abaqus在非線性分析中采用的數值計算的求解方法。

http://www.yqgqt.org.cn/content/post/360565

第五篇:單元正確性驗證。介紹有限元單元正確性的驗證方法,通過多個實例比較自研結構求解器程序iSolver與Abaqus的分析結果,從而說明整個正確性驗證的過程和iSolver結果的正確性。

http://www.yqgqt.org.cn/content/post/373743

第六篇:General梁單元的剛度矩陣。介紹梁單元的基礎理論和Abaqus中General梁單元的剛度矩陣的修正方式,采用這些修正方式可以得到和Abaqus梁單元完全一致的剛度矩陣。

http://www.yqgqt.org.cn/content/post/403932

第七篇:C3D8六面體單元的剛度矩陣。介紹六面體單元的基礎理論和Abaqus中C3D8R六面體單元的剛度矩陣的修正方式,采用這些修正方式可以得到和Abaqus六面體單元完全一致的剛度矩陣。

http://www.yqgqt.org.cn/content/post/430177

第八篇:UMAT用戶子程序開發步驟。介紹基于Fortran和Matlab兩種方式的Abaqus的UMAT的開發步驟,對比發現開發步驟基本相同,同時采用Matlab更加高效和靈活。

http://www.yqgqt.org.cn/content/post/432848

第九篇:有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖16有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖17有限元理論基礎及Abaqus內部實現方式研究系列16: Part、Instance與Assembly的圖18編寫線性UMAT Step By Step。介紹基于Matlab線性零基礎,從零開始Step by Step的UMAT的編寫和調試方法,幫助初學者UMAT入門。

http://www.yqgqt.org.cn/content/post/440874

第十篇:耦合約束(Coupling constraints)的研究。介紹Abaqus中耦合約束的原理,并使用兩個簡單算例加以驗證。

第十一篇:自主CAE開發實戰經驗第一階段總結。介紹了iSolver開發以來的階段性總結,從整體角度上介紹一下自主CAE的一些實戰經驗,包括開發時間預估、框架設計、編程語言選擇、測試、未來發展方向等。

http://www.yqgqt.org.cn/content/post/532475

第十二篇:幾何梁單元的剛度矩陣。研究了Abaqus中幾何梁的B31單元的剛度矩陣的求解方式,以L梁為例,介紹General梁用到的面積、慣性矩、扭轉常數等參數在幾何梁中是如何通過幾何形狀求得的,根據這些參數,可以得到和Abaqus完全一致的剛度矩陣,從而對只有幾何梁組成的任意模型一般都能得到Abaqus完全一致的分析結果,并用一個簡單的算例驗證了該想法。

http://www.yqgqt.org.cn/content/post/534362

第十三篇:顯式和隱式的區別。介紹了顯式和隱式的特點,并給出一個數學算例,分別利用前向歐拉和后向歐拉求解,以求直觀表現顯式和隱式在求解過程中的差異,以及增量步長對求解結果的影響。

http://www.yqgqt.org.cn/content/post/537154

第十四篇:殼的應力方向。簡單介紹了一下數學上張量和Abaqus中殼的應力方向,并說明Abaqus這么選取的意義,最后通過自編程序iSolver來驗證殼的應力方向的正確性。

http://www.yqgqt.org.cn/content/post/1189260

第十五篇:殼的剪切應力。介紹了殼單元中實際的和板殼近似理論中的剪切應力,也簡單猜測了一下Abaqus的內部實現流程,最后通過一個算例來驗算Abaqus中的真實的剪切應力。

http://www.yqgqt.org.cn/content/post/1189260



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

TOP

23
7
6