
發(fā)布
注冊
/
登錄ansys 整體剛度矩陣的案例
ANSYS中整體、單元剛度和質(zhì)量矩陣的提取
指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
! 這時用編輯器打開cp.out文件,可以看到按單元寫出的質(zhì)量、剛度等矩
陣
ANSYS中整體、單元剛度和質(zhì)量矩陣的提取.rar
提取整體剛度矩陣、質(zhì)量矩陣及阻尼矩陣的三種方法
指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
! 這時用編輯器打開cp.out文件,可以看到按單元寫出的質(zhì)量、剛度等矩陣
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 !設(shè)置文件名稱和剛度矩陣類型(剛度,質(zhì)量,阻尼等)
nsel,all !選擇所有節(jié)點
m,all,all !定義所有節(jié)點自由度為主自由度
solve !求解
selist,matname,3 !列出整體剛度矩陣
展開 『分享』ANSYS中整體、單元剛度和質(zhì)量矩陣的提取
、整體剛度和質(zhì)量矩陣的提取。
該功能需要進行二次開發(fā),由ansys形成
的二進制文件.full提取整體剛度和質(zhì)量
矩陣。
基于ansys的一個用戶開發(fā)程序例子編
了一個程序(附件中)。
開發(fā)環(huán)境:compaq fortran 6.5
運行環(huán)境:win2000。
一個主文件:self.for,
另一個文件matrixout.f90用于矩陣輸出
binlib.lib為ansys提供的庫文件,將其
引入項目中(也可直接扔進debug目錄)
.full文件由子空間迭代模態(tài)分析獲得。
運行編譯后的可執(zhí)行文件.exe
2、單元剛度和質(zhì)量矩陣的提取。
/DEBUG命令。詳細(xì)說明可由以下轉(zhuǎn)載文章
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,, !
展開 引入位移邊界條件和整體剛度矩陣的修正
在上面討論中已經(jīng)指出,有限元求解方程的系數(shù)矩陣具有奇異性,必須引入適當(dāng)?shù)奈灰萍s束條件,以消除這種奇異性,亦即消除彈性體的剛體位移。消除了整體剛度矩陣的奇異性后,才能從方程組(32)求解結(jié)點位移。在一般情況下,所考慮問題的邊界往往已有一定的約束條件,排除了剛體運動的可能性。否則,可適當(dāng)指定某些結(jié)點的位移值,以避免計算機存儲作大的更動。下面就介紹兩種比較簡單的引入已知結(jié)點位移的方法。
1、對角元素改l法
這種方法是把結(jié)點的指定值置入方程給(32),保持方程仍是2nX2n階,而將K和P修正。例如,若指定結(jié)點i在y方向位移vi的值,則令K中的元素Ki,i為1,而第i行和i列的其余元素都為零。P中的第i個元素則用位移v的已知值代入,P中的其他各行元素都減去結(jié)點位移的指定值和原來K中這行的相應(yīng)行元素的乘積。
為了說明這一引進結(jié)點已知位移的過程,我們來考察下面只有四個方程的簡單例子。方程(32)展開成如下的形式
設(shè)這個系統(tǒng)中結(jié)點位移u1和u2被指定為
當(dāng)引用上述方法后,方程(50)就變成
然后,就用這組維數(shù)不變的方程來求解所有的結(jié)點位移。顯然,其解答為u1=β1、u2=β3;
v1、v2仍為原方程的解答。
這種方法最適用于給定零位移,此時除將給定的零值位移修改對應(yīng)的載荷陣元(如例中令Px1=0,Px2=0)外,其他載荷陣中的元素不必作任何修正。
2、對角元素乘大數(shù)法
此法是將K中與指定結(jié)點位移有關(guān)的主對角元素乘上一個大數(shù),例2xl015,同時將p的
對應(yīng)元素?fù)Q上結(jié)點位移指定值與同一個大數(shù)的乘積。實際上,這種方法就是使得K中相應(yīng)行的修正項遠(yuǎn)大于非修正項。
展開 
如何從Ansys APDL中提取剛度矩陣與質(zhì)量矩陣? ¥69
1.引論
經(jīng)常使用Ansys、Abaqus等一系列有限元分析軟件進行計算、學(xué)習(xí)的學(xué)生或工程師們都會知道在有限元分析建模與計算中剛度矩陣與質(zhì)量矩陣的重要性。但是由于軟件的黑盒性質(zhì),大家往往在實際使用十分成熟的商業(yè)化軟件的過程中慢慢忽視了有限元及其衍生出的商業(yè)軟件背后的原理與方法。
這時,不管是在學(xué)習(xí)中還是在工程應(yīng)用中往往都會遇到一個同樣的問題,那么就是如何將Ansys APDL運行中的產(chǎn)生的各種數(shù)據(jù)(例如:剛度矩陣、質(zhì)量矩陣)導(dǎo)出成為我們熟悉的形式或文件格式,從而為我們所用,所分析。
因此我決定寫下此篇文章來幫助很多實際工作或?qū)W習(xí)中需要用到此類技能的同學(xué)、同事們,讓大家更了解Ansys APDL背后的工作原理與數(shù)據(jù)導(dǎo)出方式。
當(dāng)然,在社區(qū)中早就有大佬回答過了這個問題,并給大家制作了相應(yīng)的提取矩陣軟件,其軟件具備了簡單、便捷的操作方式,讓很多想要提取剛度矩陣與質(zhì)量矩陣的同僚們受益,那么我為什么還要寫一篇這樣的文章重新提起這樣一個話題呢?這就又回到了我開頭所說的“原理與方法”,我在此更希望面對想要進一步學(xué)習(xí)了解軟件背后機理的群體,并在此基礎(chǔ)上保留教學(xué)的簡潔性,提供導(dǎo)出矩陣與轉(zhuǎn)換、列式、求解的源代碼,使其既兼顧基本原理,又可以讓大家直接上手使用,非常的便捷,也避免了很多因為優(yōu)化不完全導(dǎo)致的運行bug。
2.有限元軟件導(dǎo)出剛度矩陣與質(zhì)量矩陣的方法
在使用APDL進行求解時,每次在求解完成后都會在工作路徑下生成一個.full文件,而這個文件十分關(guān)鍵,其正是剛度矩陣與質(zhì)量矩陣的所在之處。
展開 基于 MATLAB 的 ANSYS Harwell-Boeing 格式稀疏矩陣提取工具 —— 剛度矩陣與質(zhì)量矩陣 ¥30
在有限元分析中,ANSYS 可以導(dǎo)出大規(guī)模稀疏矩陣(如剛度矩陣、質(zhì)量矩陣),通常使用 Harwell-Boeing (HB) CCS 格式。這些矩陣對后續(xù)二次開發(fā)、動力學(xué)分析或自定義求解器非常重要,但由于其稀疏和壓縮存儲形式,直接在 MATLAB 中讀取和使用并不方便。
本文提供了 兩個 MATLAB 函數(shù),可直接從 ANSYS 導(dǎo)出的 HB 矩陣文件中讀取并重構(gòu)成 MATLAB 稀疏矩陣:
1.剛度矩陣提取函數(shù)
輸入:ANSYS 導(dǎo)出的剛度矩陣 HB 文件(stiff.txt)
輸出:MATLAB 稀疏矩陣 K,可直接用于動力學(xué)計算或驗證
支持自動對稱化,保證數(shù)值正確
2.質(zhì)量矩陣提取函數(shù)
輸入:ANSYS 導(dǎo)出的質(zhì)量矩陣 HB 文件(mass.txt)
輸出:MATLAB 稀疏矩陣 M
使用與剛度矩陣同樣的解析邏輯,無需額外修改
案例說明:
本文以高速鐵路接觸網(wǎng)結(jié)構(gòu)為例,展示了如何將 ANSYS 中導(dǎo)出的稀疏剛度矩陣和質(zhì)量矩陣,在 MATLAB 中完整展開,并進行后續(xù)動力學(xué)分析準(zhǔn)備。
通過該方法,可以將大規(guī)模有限元矩陣快速轉(zhuǎn)化為 MATLAB 可操作形式,為自定義振動分析、模態(tài)分析及其他科研或工程應(yīng)用提供基礎(chǔ)。
優(yōu)勢與應(yīng)用:
支持大規(guī)模稀疏矩陣解析
自動對稱化,保證數(shù)值精度
適用于剛度矩陣、質(zhì)量矩陣、其他 HB 格式矩陣
可作為動力學(xué)求解器或后處理工具的基礎(chǔ)模塊
使用方法:
1.使用以下代碼對ansys中生成的質(zhì)量及剛度矩陣進行提取,file,5,full(5為工作目錄下full文件的文件名,例如:filename.full)。
展開 提取ANSYS中的剛度矩陣和質(zhì)量矩陣到MATLAB中進行二次開發(fā) ¥88
最近在考慮自己編寫的程序和商用軟件的驗證問題,有限元結(jié)構(gòu)分析中最關(guān)鍵的一環(huán)就是剛度矩陣的獲得,如果涉及到模態(tài)分析,還有質(zhì)量矩陣。考慮到商業(yè)軟件的成熟性,可以用ANSYS生成的剛度矩陣做參照來看自己編寫的程序是否正確,因此如何提取ANSYS中結(jié)構(gòu)的剛度矩陣,并進行隨后的驗證或者二次開發(fā)是一個問題。
https://www.yqgqt.org.cn/content/post/1796144
受上述帖子的啟發(fā),使用MATLAB提取ANSYS中的剛度和質(zhì)量矩陣,并進行模態(tài)分析驗證提取的矩陣的正確性。
首先,在ANSYS中使用HBMAT命令方法提取整體矩陣。
命令:HBMAT,fname,ext,--,form,matrx,rhs
其中:
Fname---輸出矩陣的路徑和文件名,缺省為當(dāng)前工作路徑和當(dāng)前工作文件名。
ext---輸出矩陣文件的擴展名,缺省為.matrix。
form---定義輸出矩陣文件的格式,其值可取:
=ASCII:ASCII碼格式;
=BIN:二進制格式。
matrix---定義輸出矩陣的類型,其值可取:
=STIFF:輸出剛度矩陣。可用于寫入了.FULL文件的任何類型的分析。
=MASS:輸出質(zhì)量矩陣。可用于特征值屈曲、子結(jié)構(gòu)分析、模態(tài)分析。
=DAMP:輸出阻尼矩陣。僅用于有阻尼的模態(tài)分析。
rhs---右邊項輸出控制(右邊項指用矩陣所表示方程的等號右端矢量,這里可為節(jié)點荷載向量),如rhs=YES則輸出,如rhs=NO則不輸出。
模態(tài)分析時,因僅LANB和QR法可生成完整的質(zhì)量矩陣,因此也僅采用這兩種方法時才可使用HBMAT命令得到質(zhì)量矩陣文件。
展開 ANSYS模型剛度、質(zhì)量矩陣快速提取小軟件—km_from_Ansys ¥88
提取方法
Ansys中其實提供了幾種單元剛度矩陣和整體剛度矩陣的提取接口,先做一下簡單介紹:
(1)單元剛度矩陣提取,集成整體剛度矩陣
首先選擇要提取的單元,通過/debug命令輸出選擇集中的單元剛度矩陣,再根據(jù)結(jié)構(gòu)的單元連接信息,組合成整體剛度矩陣,命令如下:
/OUTPUT,cp,out,, ! 將輸出信息送到cp.out文件
/debug,-1,,,1 ! 指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
感受:這個方法很直接,但稍顯麻煩,需要提取到結(jié)構(gòu)的單元組成信息、節(jié)點信息以及單元剛度矩陣等,對于稍大一些結(jié)構(gòu)來說,可能需要1個小時甚至更長時間才能完成。
(2)超單元方法
/solu
antype,7 !substructuring分析類型
seopt,matname,1 !設(shè)置文件名稱和剛度矩陣類型(剛度,質(zhì)量,阻尼等)
nsel,all !選擇所有節(jié)點
m,all,all !定義所有節(jié)點自由度為主自由度
solve !求解
selist,matname,3 !列出整體剛度矩陣
這種方法是可以提取到結(jié)構(gòu)整體剛度矩陣的,但是問題在于需要指定主自由度,對于一般結(jié)構(gòu)而言,這個方法還是適用的,問題是如果結(jié)構(gòu)中存在耦合關(guān)系,結(jié)構(gòu)自由度存在依賴關(guān)系,該方法就不太適用了,可能還有其他解決辦法,但是我后來還是放棄這種方法。
(3)HBMAT命令方法提取整體矩陣
這種方法的適用性比較廣,也是個人比較推崇的一種方法。
展開 ANSYS剛度矩陣的提取與解析(python解析)
就ansys如何提取剛度矩陣、如何解讀提取的文檔以及利用Python進行解析。
在workbench中實現(xiàn)整個過程的參數(shù)化過程除了前幾次文章介紹的模型與網(wǎng)格,還應(yīng)該包括材料參數(shù)的參數(shù)化定義。利用Python進行二次開發(fā)能夠?qū)崿F(xiàn)材料參數(shù)的自由定義,比如來源于excel表格或者文檔的數(shù)據(jù),通過Python代碼的自動讀取,參與到實際的有限元分析進程中。
結(jié)構(gòu)有限元最后的求解過程總是歸結(jié)到求解一個大型矩陣方程Ax=b,對于一些情況還需要考慮質(zhì)量矩陣M和阻尼矩陣C。有限元程序在組裝完所有單元的剛度矩陣后,考慮模型所施加的約束和載荷,最終將剛度矩陣進行一些處理,例如乘大數(shù)法,變成Ax=b的形式,其中A是剛度矩陣,b是節(jié)點載荷,x為待求的節(jié)點位移,A和b全為已知量。
基本上各類有限元軟件均能夠提取模型的剛度矩陣,此次針對剛度矩陣的提取與解析做一個例子,采用的軟件是ANSYS經(jīng)典。
在ANSYS中建立一個簡單的模型,劃分網(wǎng)格后共12個節(jié)點,定義材料參數(shù),施加約束和載荷后求解。有限元模型如下所示。
待求解結(jié)束后,會在工作目錄下生成一個后綴為full的文件,之后即可進行剛度矩陣的提取。
通過主菜單,如下所示。
選擇Matrix后,彈出如下所示的界面。
其中,F(xiàn)ile to be read需要指定工作目錄下生成的full文件,Name of file to write為所導(dǎo)出剛度矩陣的文件名稱;Output matrix file format表示文件格式,還有Binary,生成的是文檔文件,選擇Ascii即可;Matrix to write表示輸出的是剛度矩陣/質(zhì)量矩陣還是阻尼矩陣;RHS選項表示是否同時輸出右端項,也即是Ax=b中的b。
打開生成的剛度矩陣文檔,如下所示。
展開