
發布
注冊
/
登錄ansys輸入質量矩陣
關注創建者:王靖雯 創建時間:2023-03-08

ansys輸入質量矩陣的實例教程
1.引論
經常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學習的學生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質量矩陣的重要性。但是由于軟件的黑盒性質,大家往往在實際使用十分成熟的商業化軟件的過程中慢慢忽視了有限元及其衍生出的商業軟件背后的原理與方法。
這時,不管是在學習中還是在工程應用中往往都會遇到一個同樣的問題,那么就是如何將Ansys APDL運行中的產生的各種數據(例如:剛度矩陣、質量矩陣)導出成為我們熟悉的形式或文件格式,從而為我們所用,所分析。
因此我決定寫下此篇文章來幫助很多實際工作或學習中需要用到此類技能的同學、同事們,讓大家更了解Ansys APDL背后的工作原理與數據導出方式。
當然,在社區中早就有大佬回答過了這個問題,并給大家制作了相應的提取矩陣軟件,其軟件具備了簡單、便捷的操作方式,讓很多想要提取剛度矩陣與質量矩陣的同僚們受益,那么我為什么還要寫一篇這樣的文章重新提起這樣一個話題呢?這就又回到了我開頭所說的“原理與方法”,我在此更希望面對想要進一步學習了解軟件背后機理的群體,并在此基礎上保留教學的簡潔性,提供導出矩陣與轉換、列式、求解的源代碼,使其既兼顧基本原理,又可以讓大家直接上手使用,非常的便捷,也避免了很多因為優化不完全導致的運行bug。
2.有限元軟件導出剛度矩陣與質量矩陣的方法
在使用APDL進行求解時,每次在求解完成后都會在工作路徑下生成一個.full文件,而這個文件十分關鍵,其正是剛度矩陣與質量矩陣的所在之處。
展開 在有限元分析中,ANSYS 可以導出大規模稀疏矩陣(如剛度矩陣、質量矩陣),通常使用 Harwell-Boeing (HB) CCS 格式。這些矩陣對后續二次開發、動力學分析或自定義求解器非常重要,但由于其稀疏和壓縮存儲形式,直接在 MATLAB 中讀取和使用并不方便。
本文提供了 兩個 MATLAB 函數,可直接從 ANSYS 導出的 HB 矩陣文件中讀取并重構成 MATLAB 稀疏矩陣:
1.剛度矩陣提取函數
輸入:ANSYS 導出的剛度矩陣 HB 文件(stiff.txt)
輸出:MATLAB 稀疏矩陣 K,可直接用于動力學計算或驗證
支持自動對稱化,保證數值正確
2.質量矩陣提取函數
輸入:ANSYS 導出的質量矩陣 HB 文件(mass.txt)
輸出:MATLAB 稀疏矩陣 M
使用與剛度矩陣同樣的解析邏輯,無需額外修改
案例說明:
本文以高速鐵路接觸網結構為例,展示了如何將 ANSYS 中導出的稀疏剛度矩陣和質量矩陣,在 MATLAB 中完整展開,并進行后續動力學分析準備。
通過該方法,可以將大規模有限元矩陣快速轉化為 MATLAB 可操作形式,為自定義振動分析、模態分析及其他科研或工程應用提供基礎。
優勢與應用:
支持大規模稀疏矩陣解析
自動對稱化,保證數值精度
適用于剛度矩陣、質量矩陣、其他 HB 格式矩陣
可作為動力學求解器或后處理工具的基礎模塊
使用方法:
1.使用以下代碼對ansys中生成的質量及剛度矩陣進行提取,file,5,full(5為工作目錄下full文件的文件名,例如:filename.full)。
展開 最近在考慮自己編寫的程序和商用軟件的驗證問題,有限元結構分析中最關鍵的一環就是剛度矩陣的獲得,如果涉及到模態分析,還有質量矩陣??紤]到商業軟件的成熟性,可以用ANSYS生成的剛度矩陣做參照來看自己編寫的程序是否正確,因此如何提取ANSYS中結構的剛度矩陣,并進行隨后的驗證或者二次開發是一個問題。
https://www.yqgqt.org.cn/content/post/1796144
受上述帖子的啟發,使用MATLAB提取ANSYS中的剛度和質量矩陣,并進行模態分析驗證提取的矩陣的正確性。
首先,在ANSYS中使用HBMAT命令方法提取整體矩陣。
命令:HBMAT,fname,ext,--,form,matrx,rhs
其中:
Fname---輸出矩陣的路徑和文件名,缺省為當前工作路徑和當前工作文件名。
ext---輸出矩陣文件的擴展名,缺省為.matrix。
form---定義輸出矩陣文件的格式,其值可取:
=ASCII:ASCII碼格式;
=BIN:二進制格式。
matrix---定義輸出矩陣的類型,其值可?。?=STIFF:輸出剛度矩陣。可用于寫入了.FULL文件的任何類型的分析。
=MASS:輸出質量矩陣??捎糜谔卣髦登?、子結構分析、模態分析。
=DAMP:輸出阻尼矩陣。僅用于有阻尼的模態分析。
rhs---右邊項輸出控制(右邊項指用矩陣所表示方程的等號右端矢量,這里可為節點荷載向量),如rhs=YES則輸出,如rhs=NO則不輸出。
模態分析時,因僅LANB和QR法可生成完整的質量矩陣,因此也僅采用這兩種方法時才可使用HBMAT命令得到質量矩陣文件。
展開 模態分析完成后,在ansys中運行HBMAT命令得到十進制文件:
! 獲取矩陣十進制文件
/aux2
file,Frame,full !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!與文件名一致
hbmat,Stiff,txt,,ascii,stiffness,yes,yes !!!!!!!!!!!!!!!!!!!!!!! 提取剛度矩陣 存儲為Stiff.txt
hbmat,Mass,txt,,ascii,mass,yes,yes !!!!!!!!!!!!!!!!!!!!!!! 提取質量矩陣 存儲為Mass.txt
Finish
運行完成后,在根目錄下生成了四個文件,這便是轉換完成的十進制文件,接著需要做的就是將十進制文件轉換為矩陣形式,就是通過工具來實現。
(3). 通過工具實現提取
A. 打開運行工具,在km_from_Ansys程序目錄下,在Matlab命令行輸入km_from_Ansys,是初始界面
B.點擊“剛度文件路徑”后的“獲取路徑按鈕”,找到剛剛生成的十進制文件的存儲路徑,選擇剛度十進制文件Stiff.txt:
同樣的方法選擇好質量矩陣的文件路徑,和Mapping文件路徑(Mapping文件有兩個,選擇任意一個都可以),以及想要把提取完成后的矩陣文件存儲的路徑,全部選擇完成后,點擊“生成文件”。
C. 接著是大約幾秒的工具處理過程,根據模型大小不同,所需時間不等。處理完成后,根據提示輸入生成的矩陣文件的存儲文件名,比如“KM”。
,點擊“OK”,完成操作,提示信息為文件的存儲路徑,文件格式為Matlab數據文件格式。
D.
展開 指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
! 這時用編輯器打開cp.out文件,可以看到按單元寫出的質量、剛度等矩
陣
ANSYS中整體、單元剛度和質量矩陣的提取.rar

ansys輸入質量矩陣的相關專題、標簽、搜索
ansys輸入質量矩陣的最新內容
在有限元分析中,ANSYS 可以導出大規模稀疏矩陣(如剛度矩陣、質量矩陣),通常使用 Harwell-Boeing (HB) CCS 格式。這些矩陣對后續二次開發、動力學分析或自定義求解器非常重要,但由于其稀疏和壓縮存儲形式,直接在 MATLAB 中讀取和使用并不方便。
本文提供了 兩個 MATLAB 函數,可直接從 ANSYS 導出的 HB 矩陣文件中讀取并重構成 MATLAB 稀疏矩陣:
1.引論
經常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學習的學生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質量矩陣的重要性。但是由于軟件的黑盒性質,大家往往在實際使用十分成熟的商業化軟件的過程中慢慢忽視了有限元及其衍生出的商業軟件背后的原理與方法。
這時,不管是在學習中還是在工程應用中往往都會遇到一個同樣的問題,那么就是如何將Ansys
最近在考慮自己編寫的程序和商用軟件的驗證問題,有限元結構分析中最關鍵的一環就是剛度矩陣的獲得,如果涉及到模態分析,還有質量矩陣。考慮到商業軟件的成熟性,可以用ANSYS生成的剛度矩陣做參照來看自己編寫的程序是否正確,因此如何提取ANSYS中結構的剛度矩陣,并進行隨后的驗證或者二次開發是一個問題。
https://www.yqgqt.org.cn/content/post/1796144
1. 背景
從事結構振動控制、車橋耦合振動、結構健康監測傳感器優化布置、結構動力性能分析等等一系列研究的同仁們應該都面臨過一個同樣的問題—“怎么把結構的剛度和質量矩陣建立出來?”。這對于那些數值分析高手和專家可能不是什么問題;但是對于科研剛入門的新手來說,這個難度還是相當大的。如果都靠自己寫程序來建立有限元模型,則對理論基礎、編程水平都有很高的要求,甚至程序做出來也未必能保證其正確性,是一個很讓人頭疼的問題
、整體剛度和質量矩陣的提取。
該功能需要進行二次開發,由ansys形成
的二進制文件.full提取整體剛度和質量
矩陣。
基于ansys的一個用戶開發程序例子編
了一個程序(附件中)。
開發環境:compaq fortran 6.5
運行環境:win2000。
一個主文件:self.for,
另一個文件matrixout.f90用于矩陣輸出
binlib.lib
1、整體剛度和質量矩陣的提取。
該功能需要進行二次開發,由ansys形成
的二進制文件.full提取整體剛度和質量
矩陣。
基于ansys的一個用戶開發程序例子編
了一個程序(附件中)。
開發環境:compaq fortran 6.5
運行環境:win2000。
一個主文件:self.for,
另一個文件matrixout.f90用于矩陣輸出
binlib.lib為ansys提供的庫文件