
發布
注冊
/
登錄ansys 導出剛度矩陣
關注創建者:王靖雯 創建時間:2023-03-07

ansys 導出剛度矩陣的實例教程
在有限元分析中,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)。
展開 本期給大家推薦一款由木木自研的小工具:TransferMatrix,主要用于導出 Abaqus 中各種剛度矩陣,方便和自研的程序進行實時對比,基于 Pyside6 搭建的軟件界面,用戶僅需導入 inp 文件,就可以自動調用電腦內的 Abaqus 進行計算分析,不受限于 Abaqus 版本,可以導出:
單元剛度矩陣
單元質量矩陣
單元分布節點荷載列陣
整體剛度矩陣
整體質量矩陣
可選是否導出后打開 Matlab ,并保存為 mat 文件
默認保存的格式為 csv,用戶可以直接在TransferMatrix 中查看
可選是否保存整體剛度/質量矩陣為稀疏矩陣/全矩陣形式
軟件界面見下圖:
若勾選導出后打開matlab,可直接查看:
軟件實現原理
使用注意事項
軟件啟動速度較慢,需要有點耐心,鄙人對于 PySide 的打包技術認識有限
若 inp 文件內沒有密度參數,是不能導出質量矩陣的,建議在動力類型的分析步中進行導出質量矩陣
非協調單元和雜交單元只能輸出質量矩陣
在輸出載荷列陣時,Abaqus 產生的是單元節點的分布載荷,如果沒有這中載荷類型,也是無法導出的
建議再導入 inp 文件之前,確保這個文件能在 Abaqus 上跑通,本軟件只是負責轉換剛度矩陣
不支持在TransferMatrix 中查看整體剛度/質量矩陣,因為一般情況下全局矩陣尺寸很大,可選擇導出至 Matlab 中進行查看
如果出現風險提示,請選擇信任:
軟件同級目錄放置的config.json文件,里面配置的是本地的 abaqus.bat 和 matlab.exe 目錄,建議用 everything 工具搜索出這兩個的安裝位置,復制進去即可。
展開 背景
從事結構振動控制、車橋耦合振動、結構健康監測傳感器優化布置、結構動力性能分析等等一系列研究的同仁們應該都面臨過一個同樣的問題—“怎么把結構的剛度和質量矩陣建立出來?”。這對于那些數值分析高手和專家可能不是什么問題;但是對于科研剛入門的新手來說,這個難度還是相當大的。如果都靠自己寫程序來建立有限元模型,則對理論基礎、編程水平都有很高的要求,甚至程序做出來也未必能保證其正確性,是一個很讓人頭疼的問題。
對于一些簡單的被動控制裝置或簡單的動力學分析,當然也可以在有限元分析軟件中構造出裝置組成直接分析(剛度+阻尼類型),但是對于稍復雜一些的控制裝置和耦合分析等問題,會受到平臺功能上的限值,尤其是對于主動和半主動等涉及控制算法的研究來說,基本很難在有限元軟件平臺上實現分析。再加上如果需要對裝置進行參數優化,需要進行多次重復計算,難度就更大。
Ansys、ABAQUS等軟件平臺給我們提供了比較穩定有效的有限元模型建立平臺,通過借助商業軟件來建立模型,再將其中的剛度、質量矩陣導出,是非??扇〉囊环N方法。如果能夠提取出模型的矩陣,明晰計算原理,就能夠很容易的通過自己的程序設計對計算過程進行補充、調整,來達到自己定制的計算分析目的。其實,不僅對于振動控制,比如結構靜動力分析、車橋耦合分析、結構傳感器優化配置方案設計等,都有應用需求。因此,一個能夠便捷的提取結構矩陣的方法就顯得至關重要。
技術鄰平臺已經有大佬提供了ABAQUS軟件剛度和質量矩陣的導出方法。這里補充一下在ANSYS中導出質量和剛度矩陣的方法和小軟件。
2.
展開 1.引論
經常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學習的學生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質量矩陣的重要性。但是由于軟件的黑盒性質,大家往往在實際使用十分成熟的商業化軟件的過程中慢慢忽視了有限元及其衍生出的商業軟件背后的原理與方法。
這時,不管是在學習中還是在工程應用中往往都會遇到一個同樣的問題,那么就是如何將Ansys APDL運行中的產生的各種數據(例如:剛度矩陣、質量矩陣)導出成為我們熟悉的形式或文件格式,從而為我們所用,所分析。
因此我決定寫下此篇文章來幫助很多實際工作或學習中需要用到此類技能的同學、同事們,讓大家更了解Ansys APDL背后的工作原理與數據導出方式。
當然,在社區中早就有大佬回答過了這個問題,并給大家制作了相應的提取矩陣軟件,其軟件具備了簡單、便捷的操作方式,讓很多想要提取剛度矩陣與質量矩陣的同僚們受益,那么我為什么還要寫一篇這樣的文章重新提起這樣一個話題呢?這就又回到了我開頭所說的“原理與方法”,我在此更希望面對想要進一步學習了解軟件背后機理的群體,并在此基礎上保留教學的簡潔性,提供導出矩陣與轉換、列式、求解的源代碼,使其既兼顧基本原理,又可以讓大家直接上手使用,非常的便捷,也避免了很多因為優化不完全導致的運行bug。
2.有限元軟件導出剛度矩陣與質量矩陣的方法
在使用APDL進行求解時,每次在求解完成后都會在工作路徑下生成一個.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 導出剛度矩陣的相關專題、標簽、搜索
ansys 導出剛度矩陣的最新內容
:ANSYS 導出的質量矩陣 HB 文件(mass.txt)
輸出:MATLAB 稀疏矩陣 M
使用與剛度矩陣同樣的解析邏輯,無需額外修改
案例說明:
本文以高速鐵路接觸網結構為例,展示了如何將 ANSYS 中導出的稀疏剛度矩陣和質量矩陣,在 MATLAB 中完整展開,并進行后續動力學分析準備。
本期給大家推薦一款由木木自研的小工具:TransferMatrix,主要用于導出 Abaqus 中各種剛度矩陣,方便和自研的程序進行實時對比,基于 Pyside6 搭建的軟件界面,用戶僅需導入 inp 文件,就可以自動調用電腦內的 Abaqus 進行計算分析,不受限于 Abaqus 版本,可以導出:
單元剛度矩陣
單元質量矩陣
單元分布節點荷載列陣
整體剛度矩陣
1.引論
經常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學習的學生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質量矩陣的重要性。但是由于軟件的黑盒性質,大家往往在實際使用十分成熟的商業化軟件的過程中慢慢忽視了有限元及其衍生出的商業軟件背后的原理與方法。
這時,不管是在學習中還是在工程應用中往往都會遇到一個同樣的問題,那么就是如何將Ansys
導出單元剛度矩陣的命令
/solu
/output,elemstiff,txt
/debug,-1,,,1
solve
/output
finish
結果對比
ANSYS的單元剛度矩陣
MATLAB程序單元剛度矩陣
ANSYS
最近在考慮自己編寫的程序和商用軟件的驗證問題,有限元結構分析中最關鍵的一環就是剛度矩陣的獲得,如果涉及到模態分析,還有質量矩陣??紤]到商業軟件的成熟性,可以用ANSYS生成的剛度矩陣做參照來看自己編寫的程序是否正確,因此如何提取ANSYS中結構的剛度矩陣,并進行隨后的驗證或者二次開發是一個問題。
https://www.yqgqt.org.cn/content/post/1796144
這里補充一下在ANSYS中導出質量和剛度矩陣的方法和小軟件。
2. 提取方法
Ansys中其實提供了幾種單元剛度矩陣和整體剛度矩陣的提取接口,先做一下簡單介紹:
(1)單元剛度矩陣提取,集成整體剛度矩陣
首先選擇要提取的單元,通過/debug命令輸出選擇集中的單元剛度矩陣,再根據結構的單元連接信息,組合成整體剛度矩陣,命令如下:
/OUTPUT,cp,out,, !
就ansys如何提取剛度矩陣、如何解讀提取的文檔以及利用Python進行解析。
在workbench中實現整個過程的參數化過程除了前幾次文章介紹的模型與網格,還應該包括材料參數的參數化定義。利用Python進行二次開發能夠實現材料參數的自由定義,比如來源于excel表格或者文檔的數據,通過Python代碼的自動讀取,參與到實際的有限元分析進程中。
結構有限元最后的求解過程總是歸結到求解一個大型矩陣方程
、整體剛度和質量矩陣的提取。
該功能需要進行二次開發,由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提供的庫文件