
發布
注冊
/
登錄abaqus提取矩陣的案例
?abaqus提取單元的剛度矩陣和質量矩陣
abaqus提取單元的剛度矩陣和質量矩陣:
*Output, history, variable=PRESELECT,
*File Format,ASCII
*Element Matrix Output,Elset=Beam-1.Set-2,
File Name=shuchu,Frequency=1,Output File=User Defined,Stiffness=Yes
*End Step
*Step
*Matrix generate,stiffness
*End Step
不同軟件中剛度矩陣提取方法 ¥3
Workbench中剛度矩陣提取方法
Abaqus剛度矩陣提取方法
Optistruct中剛度矩陣提取方法
如何從Ansys APDL中提取剛度矩陣與質量矩陣? ¥69
1.引論
經常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學習的學生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質量矩陣的重要性。但是由于軟件的黑盒性質,大家往往在實際使用十分成熟的商業化軟件的過程中慢慢忽視了有限元及其衍生出的商業軟件背后的原理與方法。
這時,不管是在學習中還是在工程應用中往往都會遇到一個同樣的問題,那么就是如何將Ansys APDL運行中的產生的各種數據(例如:剛度矩陣、質量矩陣)導出成為我們熟悉的形式或文件格式,從而為我們所用,所分析。
因此我決定寫下此篇文章來幫助很多實際工作或學習中需要用到此類技能的同學、同事們,讓大家更了解Ansys APDL背后的工作原理與數據導出方式。
當然,在社區中早就有大佬回答過了這個問題,并給大家制作了相應的提取矩陣軟件,其軟件具備了簡單、便捷的操作方式,讓很多想要提取剛度矩陣與質量矩陣的同僚們受益,那么我為什么還要寫一篇這樣的文章重新提起這樣一個話題呢?這就又回到了我開頭所說的“原理與方法”,我在此更希望面對想要進一步學習了解軟件背后機理的群體,并在此基礎上保留教學的簡潔性,提供導出矩陣與轉換、列式、求解的源代碼,使其既兼顧基本原理,又可以讓大家直接上手使用,非常的便捷,也避免了很多因為優化不完全導致的運行bug。
2.有限元軟件導出剛度矩陣與質量矩陣的方法
在使用APDL進行求解時,每次在求解完成后都會在工作路徑下生成一個.full文件,而這個文件十分關鍵,其正是剛度矩陣與質量矩陣的所在之處。
展開 提取整體剛度矩陣、質量矩陣及阻尼矩陣的三種方法
指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
! 這時用編輯器打開cp.out文件,可以看到按單元寫出的質量、剛度等矩陣
3.
其原理很簡單,即使用ansys的超單元即可解決問題。定義超單元,然后列出超單元的剛度矩陣即可。
面是一個小例題,自可明白。
/prep7
k,1
k,2,3000
l,1,2
et,1,beam3
mp,ex,1,2e5
mp,prxy,1,0.3
r,1,5000,2e7,200
lesize,all,,,10
lmesh,all
finish
!----以上正常建立模型,不必施加約束和荷載
/solu
antype,7 !substructuring分析類型
seopt,matname,1 !設置文件名稱和剛度矩陣類型(剛度,質量,阻尼等)
nsel,all !選擇所有節點
m,all,all !定義所有節點自由度為主自由度
solve !求解
selist,matname,3 !列出整體剛度矩陣
展開 
基于 MATLAB 的 ANSYS Harwell-Boeing 格式稀疏矩陣提取工具 —— 剛度矩陣與質量矩陣 ¥30
在有限元分析中,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中的剛度矩陣和質量矩陣到MATLAB中進行二次開發 ¥88
獲取矩陣十進制文件
/aux2
file,Frame,full !與文件名一致
hbmat,Stiff,txt,,ascii,stiffness,yes,yes !提取剛度矩陣 存儲為Stiff.txt
hbmat,Mass,txt,,ascii,mass,yes,yes !提取質量矩陣 存儲為Mass.txt
Finish
提取其前10階模態如下:
通過MATLAB對文件提取并處理后,可以使用spy命令查看稀疏矩陣的分布,剛度矩陣分布和各變量維度如下:
稀疏剛度矩陣的具體分布如下:
稀疏質量矩陣的具體分布如下:
計算矩陣的特征值,利用提取的剛度矩陣和質量矩陣做模態分析。
與ANSYS中的結果一致,因此驗證了正確性。
在Stiff.mapping文件中,格式是這樣的:
在MATLAB中使用相同的方法提取并整理,如下:
展開 ANSYS中整體、單元剛度和質量矩陣的提取
指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
! 這時用編輯器打開cp.out文件,可以看到按單元寫出的質量、剛度等矩
陣
ANSYS中整體、單元剛度和質量矩陣的提取.rar
ANSYS剛度矩陣的提取與解析(python解析)
就ansys如何提取剛度矩陣、如何解讀提取的文檔以及利用Python進行解析。
在workbench中實現整個過程的參數化過程除了前幾次文章介紹的模型與網格,還應該包括材料參數的參數化定義。利用Python進行二次開發能夠實現材料參數的自由定義,比如來源于excel表格或者文檔的數據,通過Python代碼的自動讀取,參與到實際的有限元分析進程中。
結構有限元最后的求解過程總是歸結到求解一個大型矩陣方程Ax=b,對于一些情況還需要考慮質量矩陣M和阻尼矩陣C。有限元程序在組裝完所有單元的剛度矩陣后,考慮模型所施加的約束和載荷,最終將剛度矩陣進行一些處理,例如乘大數法,變成Ax=b的形式,其中A是剛度矩陣,b是節點載荷,x為待求的節點位移,A和b全為已知量。
基本上各類有限元軟件均能夠提取模型的剛度矩陣,此次針對剛度矩陣的提取與解析做一個例子,采用的軟件是ANSYS經典。
在ANSYS中建立一個簡單的模型,劃分網格后共12個節點,定義材料參數,施加約束和載荷后求解。有限元模型如下所示。
待求解結束后,會在工作目錄下生成一個后綴為full的文件,之后即可進行剛度矩陣的提取。
通過主菜單,如下所示。
選擇Matrix后,彈出如下所示的界面。
其中,File to be read需要指定工作目錄下生成的full文件,Name of file to write為所導出剛度矩陣的文件名稱;Output matrix file format表示文件格式,還有Binary,生成的是文檔文件,選擇Ascii即可;Matrix to write表示輸出的是剛度矩陣/質量矩陣還是阻尼矩陣;RHS選項表示是否同時輸出右端項,也即是Ax=b中的b。
打開生成的剛度矩陣文檔,如下所示。
展開 ANSYS模型剛度、質量矩陣快速提取小軟件—km_from_Ansys ¥88
背景
從事結構振動控制、車橋耦合振動、結構健康監測傳感器優化布置、結構動力性能分析等等一系列研究的同仁們應該都面臨過一個同樣的問題—“怎么把結構的剛度和質量矩陣建立出來?”。這對于那些數值分析高手和專家可能不是什么問題;但是對于科研剛入門的新手來說,這個難度還是相當大的。如果都靠自己寫程序來建立有限元模型,則對理論基礎、編程水平都有很高的要求,甚至程序做出來也未必能保證其正確性,是一個很讓人頭疼的問題。
對于一些簡單的被動控制裝置或簡單的動力學分析,當然也可以在有限元分析軟件中構造出裝置組成直接分析(剛度+阻尼類型),但是對于稍復雜一些的控制裝置和耦合分析等問題,會受到平臺功能上的限值,尤其是對于主動和半主動等涉及控制算法的研究來說,基本很難在有限元軟件平臺上實現分析。再加上如果需要對裝置進行參數優化,需要進行多次重復計算,難度就更大。
Ansys、ABAQUS等軟件平臺給我們提供了比較穩定有效的有限元模型建立平臺,通過借助商業軟件來建立模型,再將其中的剛度、質量矩陣導出,是非常可取的一種方法。如果能夠提取出模型的矩陣,明晰計算原理,就能夠很容易的通過自己的程序設計對計算過程進行補充、調整,來達到自己定制的計算分析目的。其實,不僅對于振動控制,比如結構靜動力分析、車橋耦合分析、結構傳感器優化配置方案設計等,都有應用需求。因此,一個能夠便捷的提取結構矩陣的方法就顯得至關重要。
技術鄰平臺已經有大佬提供了ABAQUS軟件剛度和質量矩陣的導出方法。這里補充一下在ANSYS中導出質量和剛度矩陣的方法和小軟件。
2.
展開 『分享』ANSYS中整體、單元剛度和質量矩陣的提取
、整體剛度和質量矩陣的提取。
該功能需要進行二次開發,由ansys形成
的二進制文件.full提取整體剛度和質量
矩陣。
基于ansys的一個用戶開發程序例子編
了一個程序(附件中)。
開發環境:compaq fortran 6.5
運行環境:win2000。
一個主文件:self.for,
另一個文件matrixout.f90用于矩陣輸出
binlib.lib為ansys提供的庫文件,將其
引入項目中(也可直接扔進debug目錄)
.full文件由子空間迭代模態分析獲得。
運行編譯后的可執行文件.exe
2、單元剛度和質量矩陣的提取。
/DEBUG命令。詳細說明可由以下轉載文章
finish
/clear
PI=3.1415926
w1=3
w2=10
w3=6
w4=1.2
r=.8
t=0.08
/PREP7
!*
ET,1,SHELL63
R,1,t
ET,2,MASS21
R,2,500,500,500,2000,2000,2000,
!*
UIMP,1,EX, , ,2e11
UIMP,1,NUXY, , ,0.3,
UIMP,1,DAMP, , ,0.2,
UIMP,1,DENS, , ,7800,
BLC4,0,0,w2,w1
ESIZE,1.5,0,
AMESH,all
NSEL,S,LOC,X,0.0
D,all, , , , , ,ALL, , , , ,
allsel,all
SFA,all,1,PRES,12
FINISH
/OUTPUT,cp,out,, !
展開 Abaqus一鍵輸出剛度矩陣和質量矩陣的插件EMM ¥20
=======概述=======
EMM(Export Matlab Matrix)是集成在ABAQUS/CAE中的一個插件,能夠一鍵輸出Abaqus模型的單元及全局剛度、質量、載荷矩陣,并自動轉換為MATLAB矩陣。
Abaqus可以輸出剛度、質量等單元或者全局矩陣。但需要手動添加關鍵詞,較為麻煩,且輸出的.mtx矩陣格式比較亂,不易閱讀。
本工具能一鍵實現以下功能:
1. 輸出Abaqus模型的剛度、質量、載荷矩陣到.mtx,包括單元和全局的;
2. 將上述矩陣轉換為MATLAB的.mat文件;
3. 用Matlab打開上述.mat文件。
如果用戶有任何問題或者需要合作,歡迎聯系我們。email: SnowWave02@qq.com
=======使用過程=======
打開Abaqus模型,切換到Job模塊,在Abaqus菜單欄的Plug-ins里看到iSolver插件的菜單。
點擊iSolver->Export Matlab Matrix…,彈出EMM界面。
勾選需要輸出的矩陣和Set,點擊EMM界面右側的Submit后將提交Abaqus計算,計算完畢得到如下類似矩陣。
=====演示視頻======
http://www.yqgqt.org.cn/college/video/c11343
=====下載======
用到的模型
Job-Cabin-T.rar
用戶手冊
Export Matlab Matrix工具說明(SnowWave02 20191217).pdf
EMM插件
展開 
【ABAQUS模態動力學】Composite&abaqus 預應力模態分析&輸出單元剛度矩陣
劃分網格
定義邊界條件
5.2 預應力模態
預應力模態,按我的理解就是,假設t=0時,結構的剛度矩陣、質量矩陣為M0,K0;t=t1時,結構(分析對象)收到外部激勵的作用,使得結構的剛度矩陣,質量矩陣發生改變,結構的剛度矩陣、質量矩陣為M1,K1;t=t2時,開始進行特征值提取,此時求解的是t1狀態的結果。
從上面這個理解出發,ABAQUS預應力模態只要在frequency分析步之前進行General,Static分析步,打開NLGeom選項(分析過程中剛度矩陣會不斷變化)。
提取單元剛度矩陣:
【ABAQUS 二次開發筆記】輸出單元剛度矩陣 - hayden_william - 博客園
以上均為我的一點理解,不一定完全正確,本文僅作為個人學習記錄之用,其他概不負責。
展開 ABAQUS 剛度矩陣 ¥1000
我有個abaqus的問題,你們幫幫我出出主意。 是這樣的:
1,TestElement.py 是編寫的測試代碼,可輸出8結點線性單元的剛度矩陣。
2,abaqus文件Job-testing.inp ,運行可以輸出單元剛度矩陣。
問題是:他們的結點坐標/排序,材料參數都一致, 但得到的剛度矩陣就不一樣。
需要:代碼輸出的剛度矩陣與abaqus得到的剛度矩陣一致或者基本一致。
TransferMatrix:導出Abaqus剛度矩陣
本期給大家推薦一款由木木自研的小工具: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 工具搜索出這兩個的安裝位置,復制進去即可。
展開 Abaqus 輸出矩陣的方法
在比較深入的CAE分析過程中,我們可能會關注模型中某些部分的剛度分布情況,因此需要提取剛度矩陣參數,因為使用相對較少,目前的Abaqus前處理模塊CAE中還無法直接實現該設置,因此需要對其inp文件進行局部修改來定義。
Abaqusn輸出剛度矩陣主要分為兩大類,一類是輸出某一部分的單元的剛度矩陣,一類是輸出整體模型的剛度矩陣(可含單元、彈簧、質量、阻尼、力等)。
下面我們分別對這兩中情況分別討論:
1、輸出單元矩陣
輸出單元剛度矩陣的方式相對容易理解,當然你也可以從自帶的英文幫助中需找答案,你只需要在inp文件中添加下述關鍵字即可:
*File Format,ASCII
*Element Matrix Output,Elset=xxx,
File Name=xxx,Frequency=1,Output File=User Defined,Stiffness=Yes
其中第一行的目的是將軟件默認生成的二進制文件轉化為ASCII格式文件,以方便直接查看和讀取避免亂碼。Elset后面的xxx對應的是之前已經定義好的單元集的名稱,也就是你想要獲取的那部分單元。File Name后面的xxx是abaqus計算后所提取出的單元矩陣所保存的文件名稱,后綴為.mtx ,也就是說最終在工作目錄中會生成一個xxx.mtx的文件,可以通過記事打開的剛度矩陣文件。
展開