如何從Ansys APDL中提取剛度矩陣與質量矩陣?
1.引論
經常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學習的學生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質量矩陣的重要性。但是由于軟件的黑盒性質,大家往往在實際使用十分成熟的商業化軟件的過程中慢慢忽視了有限元及其衍生出的商業軟件背后的原理與方法。
這時,不管是在學習中還是在工程應用中往往都會遇到一個同樣的問題,那么就是如何將Ansys APDL運行中的產生的各種數據(例如:剛度矩陣、質量矩陣)導出成為我們熟悉的形式或文件格式,從而為我們所用,所分析。
因此我決定寫下此篇文章來幫助很多實際工作或學習中需要用到此類技能的同學、同事們,讓大家更了解Ansys APDL背后的工作原理與數據導出方式。
當然,在社區中早就有大佬回答過了這個問題,并給大家制作了相應的提取矩陣軟件,其軟件具備了簡單、便捷的操作方式,讓很多想要提取剛度矩陣與質量矩陣的同僚們受益,那么我為什么還要寫一篇這樣的文章重新提起這樣一個話題呢?這就又回到了我開頭所說的“原理與方法”,我在此更希望面對想要進一步學習了解軟件背后機理的群體,并在此基礎上保留教學的簡潔性,提供導出矩陣與轉換、列式、求解的源代碼,使其既兼顧基本原理,又可以讓大家直接上手使用,非常的便捷,也避免了很多因為優化不完全導致的運行bug。
2.有限元軟件導出剛度矩陣與質量矩陣的方法
在使用APDL進行求解時,每次在求解完成后都會在工作路徑下生成一個.full文件,而這個文件十分關鍵,其正是剛度矩陣與質量矩陣的所在之處。
2.1命令流方法
(1)用戶程序法
(2)超單元法
(3)Hbmat法
這三種在網絡上都能很輕易的查到其使用的命令流與方法,但前兩種并不推薦大家使用,不過感興趣的朋友可以自行搜索盡可能多的了解一些。在這里我主要給大家介紹的方法是Hbmat法,也是我推薦大家使用的方法。其可以直接導出full文件中的矩陣數據,而通過我下面給大家提供的源代碼便可以直接將導出的質量矩陣與剛度矩陣直接轉化為matlab中可使用變量,實現我們的矩陣提取操作。
Hbmat法:
! 提取剛度矩陣
/AUX2
FILE,'file',full ! 將’file’改為自己路徑下的.full文件名
HBMAT, 'Stiffness_mat', dat, , ASCII, STIFF, YES, YES !剛度矩陣
HBMAT, 'Mass_mat', dat, ,ASCII, MASS, YES, YES ! 質量矩陣
FINISH
成功導出后你會在你的工作路徑中看到儲存在Ansys中的剛度矩陣與質量矩陣。
2.2GUI方法
目前大部分此類教程都忽略了最基本的GUI方法,可能是自動帶入了經驗豐富的工程師角色,但對于初學者而言,GUI方法十分有助于理解與學習有限元軟件,因此我也將介紹提取剛度質量矩陣的GUI方法。
從而我們便能導出所需要的剛度矩陣與質量矩陣源文件了。
3.源代碼的使用與轉換(使用方法)
我們打開所導出剛度矩陣會發現里面的數字比較混亂,一時間分不出哪些是我們需要的數據,也沒有辦法直接拿它用來計算,這時,我們便需要使用我們自己的矩陣轉換m文件,其可以自動幫我們提取出剛度矩陣與質量矩陣,并生成matlab中的矩陣變量形式,我們可以直接運用這段源代碼來進行操作。
下面是m程序使用方法,借助源代碼既可以讓你快速提取出想要的矩陣,又可以讓你擺脫黑盒的束縛,有助于提升自己的專業能力與認知深度。
首先,我們打開導出的矩陣:
從這個文件中我們可以看到第二行有五個數字,其對應的意義分別是:總行數、列指針個數、矩陣行索引總行數、矩陣元素數總行數、結點力向量總行數。
這些數據具體的意義與使用方法,都可以在下面的矩陣轉換文件”Transformer.m”中找出。
接下來我們直接打開matlab,將工作路徑設置為”Transformer.m”文件所在的路徑,
然后我們便可以開始使用矩陣提取m文件:Transformer.m,復制Stiffness_mat.dat文件(或者通過GUI導出的txt格式矩陣)的路徑,只需在matlab中輸入如下語句,便能直接得到我們想要的矩陣K1:
點擊K1
便可以看到最終的總剛度、質量矩陣了,其為大型稀疏矩陣,且為對稱矩陣。
到此,我們便成功通過Transformer.m函數完整提取出了我們想要的總剛度以及質量矩陣,整體過程十分簡單,易上手,不管你是要在工作還是學習中應用都有著不錯的可操作性,使用matlab中的m文件還會加深你對有限元程序設計的理解。
4.實戰應用與范例講解
接上一個矩陣的例子,其實際為Ansys中的一個應力集中問題模型所導出的剛度矩陣,那么我們如何來驗證其結果的準確性呢,這時我們就要用到結點力矩陣來進行驗證了,只要所解出來的位移與Ansys中可展示的結點位移相同,那么就證明我們的結果是準確無誤的。
以下我們來進行求解,導入結點力向量矩陣,使用任意求解器來進行求解:
此時我們便得到了X向量矩陣,也就是結點的位移矩陣。由于這里用的是高斯消元法,因此計算運行可能會有些慢。
然后我們打開查看結果:
與Ansys中List導出的結點位移結果一致。結果正確。
5.代碼購買說明
本源代碼理論上適用于Ansys APDL中導出的各種hb格式矩陣,無任何限制,購買后如有任何問題都可以私信本人進行答疑,不僅是此代碼方面,任何有關有限元軟件學習的問題也都可以向我請教,我也會盡我所能去幫助大家。
現在購買代碼限時附贈求解器程序源代碼以及結點力向量導出與使用方法、有限元理論教程,歡迎大家一起學習與討論。
以下內容為付費內容,請購買后觀看
21人購買
以上附件分別為轉換器、高斯消元求解器、雅可比迭代求解器、超松馳迭代求解器,其他使用以及理論問題請私信我獲取。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















