
發(fā)布
注冊(cè)
/
登錄ansys 提取剛度的案例
ANSYS剛度矩陣的提取與解析(python解析)
就ansys如何提取剛度矩陣、如何解讀提取的文檔以及利用Python進(jìn)行解析。
在workbench中實(shí)現(xiàn)整個(gè)過(guò)程的參數(shù)化過(guò)程除了前幾次文章介紹的模型與網(wǎng)格,還應(yīng)該包括材料參數(shù)的參數(shù)化定義。利用Python進(jìn)行二次開(kāi)發(fā)能夠?qū)崿F(xiàn)材料參數(shù)的自由定義,比如來(lái)源于excel表格或者文檔的數(shù)據(jù),通過(guò)Python代碼的自動(dòng)讀取,參與到實(shí)際的有限元分析進(jìn)程中。
結(jié)構(gòu)有限元最后的求解過(guò)程總是歸結(jié)到求解一個(gè)大型矩陣方程Ax=b,對(duì)于一些情況還需要考慮質(zhì)量矩陣M和阻尼矩陣C。有限元程序在組裝完所有單元的剛度矩陣后,考慮模型所施加的約束和載荷,最終將剛度矩陣進(jìn)行一些處理,例如乘大數(shù)法,變成Ax=b的形式,其中A是剛度矩陣,b是節(jié)點(diǎn)載荷,x為待求的節(jié)點(diǎn)位移,A和b全為已知量。
基本上各類有限元軟件均能夠提取模型的剛度矩陣,此次針對(duì)剛度矩陣的提取與解析做一個(gè)例子,采用的軟件是ANSYS經(jīng)典。
在ANSYS中建立一個(gè)簡(jiǎn)單的模型,劃分網(wǎng)格后共12個(gè)節(jié)點(diǎn),定義材料參數(shù),施加約束和載荷后求解。有限元模型如下所示。
待求解結(jié)束后,會(huì)在工作目錄下生成一個(gè)后綴為full的文件,之后即可進(jìn)行剛度矩陣的提取。
通過(guò)主菜單,如下所示。
選擇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選項(xiàng)表示是否同時(shí)輸出右端項(xiàng),也即是Ax=b中的b。
打開(kāi)生成的剛度矩陣文檔,如下所示。
展開(kāi) 提取ANSYS中的剛度矩陣和質(zhì)量矩陣到MATLAB中進(jìn)行二次開(kāi)發(fā) ¥88
模態(tài)分析完成后,在ansys中運(yùn)行HBMAT命令得到十進(jìn)制文件:
! 獲取矩陣十進(jìn)制文件
/aux2
file,Frame,full !與文件名一致
hbmat,Stiff,txt,,ascii,stiffness,yes,yes !提取剛度矩陣 存儲(chǔ)為Stiff.txt
hbmat,Mass,txt,,ascii,mass,yes,yes !提取質(zhì)量矩陣 存儲(chǔ)為Mass.txt
Finish
提取其前10階模態(tài)如下:
通過(guò)MATLAB對(duì)文件提取并處理后,可以使用spy命令查看稀疏矩陣的分布,剛度矩陣分布和各變量維度如下:
稀疏剛度矩陣的具體分布如下:
稀疏質(zhì)量矩陣的具體分布如下:
計(jì)算矩陣的特征值,利用提取的剛度矩陣和質(zhì)量矩陣做模態(tài)分析。
與ANSYS中的結(jié)果一致,因此驗(yàn)證了正確性。
在Stiff.mapping文件中,格式是這樣的:
在MATLAB中使用相同的方法提取并整理,如下:
展開(kāi) 如何從Ansys APDL中提取剛度矩陣與質(zhì)量矩陣? ¥69
1.引論
經(jīng)常使用Ansys、Abaqus等一系列有限元分析軟件進(jìn)行計(jì)算、學(xué)習(xí)的學(xué)生或工程師們都會(huì)知道在有限元分析建模與計(jì)算中剛度矩陣與質(zhì)量矩陣的重要性。但是由于軟件的黑盒性質(zhì),大家往往在實(shí)際使用十分成熟的商業(yè)化軟件的過(guò)程中慢慢忽視了有限元及其衍生出的商業(yè)軟件背后的原理與方法。
這時(shí),不管是在學(xué)習(xí)中還是在工程應(yīng)用中往往都會(huì)遇到一個(gè)同樣的問(wèn)題,那么就是如何將Ansys APDL運(yùn)行中的產(chǎn)生的各種數(shù)據(jù)(例如:剛度矩陣、質(zhì)量矩陣)導(dǎo)出成為我們熟悉的形式或文件格式,從而為我們所用,所分析。
因此我決定寫(xiě)下此篇文章來(lái)幫助很多實(shí)際工作或?qū)W習(xí)中需要用到此類技能的同學(xué)、同事們,讓大家更了解Ansys APDL背后的工作原理與數(shù)據(jù)導(dǎo)出方式。
當(dāng)然,在社區(qū)中早就有大佬回答過(guò)了這個(gè)問(wèn)題,并給大家制作了相應(yīng)的提取矩陣軟件,其軟件具備了簡(jiǎn)單、便捷的操作方式,讓很多想要提取剛度矩陣與質(zhì)量矩陣的同僚們受益,那么我為什么還要寫(xiě)一篇這樣的文章重新提起這樣一個(gè)話題呢?這就又回到了我開(kāi)頭所說(shuō)的“原理與方法”,我在此更希望面對(duì)想要進(jìn)一步學(xué)習(xí)了解軟件背后機(jī)理的群體,并在此基礎(chǔ)上保留教學(xué)的簡(jiǎn)潔性,提供導(dǎo)出矩陣與轉(zhuǎn)換、列式、求解的源代碼,使其既兼顧基本原理,又可以讓大家直接上手使用,非常的便捷,也避免了很多因?yàn)閮?yōu)化不完全導(dǎo)致的運(yùn)行bug。
2.有限元軟件導(dǎo)出剛度矩陣與質(zhì)量矩陣的方法
在使用APDL進(jìn)行求解時(shí),每次在求解完成后都會(huì)在工作路徑下生成一個(gè).full文件,而這個(gè)文件十分關(guān)鍵,其正是剛度矩陣與質(zhì)量矩陣的所在之處。
展開(kāi) ANSYS模型剛度、質(zhì)量矩陣快速提取小軟件—km_from_Ansys ¥88
提取方法
Ansys中其實(shí)提供了幾種單元剛度矩陣和整體剛度矩陣的提取接口,先做一下簡(jiǎn)單介紹:
(1)單元剛度矩陣提取,集成整體剛度矩陣
首先選擇要提取的單元,通過(guò)/debug命令輸出選擇集中的單元剛度矩陣,再根據(jù)結(jié)構(gòu)的單元連接信息,組合成整體剛度矩陣,命令如下:
/OUTPUT,cp,out,, ! 將輸出信息送到cp.out文件
/debug,-1,,,1 ! 指定輸出單元矩陣
/SOLU
SOLVE
finish
/OUTPUT, TERM ! 將輸出信息送到output windows中
感受:這個(gè)方法很直接,但稍顯麻煩,需要提取到結(jié)構(gòu)的單元組成信息、節(jié)點(diǎn)信息以及單元剛度矩陣等,對(duì)于稍大一些結(jié)構(gòu)來(lái)說(shuō),可能需要1個(gè)小時(shí)甚至更長(zhǎng)時(shí)間才能完成。
(2)超單元方法
/solu
antype,7 !substructuring分析類型
seopt,matname,1 !設(shè)置文件名稱和剛度矩陣類型(剛度,質(zhì)量,阻尼等)
nsel,all !選擇所有節(jié)點(diǎn)
m,all,all !定義所有節(jié)點(diǎn)自由度為主自由度
solve !求解
selist,matname,3 !列出整體剛度矩陣
這種方法是可以提取到結(jié)構(gòu)整體剛度矩陣的,但是問(wèn)題在于需要指定主自由度,對(duì)于一般結(jié)構(gòu)而言,這個(gè)方法還是適用的,問(wèn)題是如果結(jié)構(gòu)中存在耦合關(guān)系,結(jié)構(gòu)自由度存在依賴關(guān)系,該方法就不太適用了,可能還有其他解決辦法,但是我后來(lái)還是放棄這種方法。
(3)HBMAT命令方法提取整體矩陣
這種方法的適用性比較廣,也是個(gè)人比較推崇的一種方法。
展開(kāi) 
ANSYS中整體、單元剛度和質(zhì)量矩陣的提取
這時(shí)用編輯器打開(kāi)cp.out文件,可以看到按單元寫(xiě)出的質(zhì)量、剛度等矩
陣
ANSYS中整體、單元剛度和質(zhì)量矩陣的提取.rar
基于 MATLAB 的 ANSYS Harwell-Boeing 格式稀疏矩陣提取工具 —— 剛度矩陣與質(zhì)量矩陣 ¥30
在有限元分析中,ANSYS 可以導(dǎo)出大規(guī)模稀疏矩陣(如剛度矩陣、質(zhì)量矩陣),通常使用 Harwell-Boeing (HB) CCS 格式。這些矩陣對(duì)后續(xù)二次開(kāi)發(fā)、動(dòng)力學(xué)分析或自定義求解器非常重要,但由于其稀疏和壓縮存儲(chǔ)形式,直接在 MATLAB 中讀取和使用并不方便。
本文提供了 兩個(gè) MATLAB 函數(shù),可直接從 ANSYS 導(dǎo)出的 HB 矩陣文件中讀取并重構(gòu)成 MATLAB 稀疏矩陣:
1.剛度矩陣提取函數(shù)
輸入:ANSYS 導(dǎo)出的剛度矩陣 HB 文件(stiff.txt)
輸出:MATLAB 稀疏矩陣 K,可直接用于動(dòng)力學(xué)計(jì)算或驗(yàn)證
支持自動(dòng)對(duì)稱化,保證數(shù)值正確
2.質(zhì)量矩陣提取函數(shù)
輸入:ANSYS 導(dǎo)出的質(zhì)量矩陣 HB 文件(mass.txt)
輸出:MATLAB 稀疏矩陣 M
使用與剛度矩陣同樣的解析邏輯,無(wú)需額外修改
案例說(shuō)明:
本文以高速鐵路接觸網(wǎng)結(jié)構(gòu)為例,展示了如何將 ANSYS 中導(dǎo)出的稀疏剛度矩陣和質(zhì)量矩陣,在 MATLAB 中完整展開(kāi),并進(jìn)行后續(xù)動(dòng)力學(xué)分析準(zhǔn)備。
通過(guò)該方法,可以將大規(guī)模有限元矩陣快速轉(zhuǎn)化為 MATLAB 可操作形式,為自定義振動(dòng)分析、模態(tài)分析及其他科研或工程應(yīng)用提供基礎(chǔ)。
優(yōu)勢(shì)與應(yīng)用:
支持大規(guī)模稀疏矩陣解析
自動(dòng)對(duì)稱化,保證數(shù)值精度
適用于剛度矩陣、質(zhì)量矩陣、其他 HB 格式矩陣
可作為動(dòng)力學(xué)求解器或后處理工具的基礎(chǔ)模塊
使用方法:
1.使用以下代碼對(duì)ansys中生成的質(zhì)量及剛度矩陣進(jìn)行提取,file,5,full(5為工作目錄下full文件的文件名,例如:filename.full)。
展開(kāi) 『分享』ANSYS中整體、單元剛度和質(zhì)量矩陣的提取
、整體剛度和質(zhì)量矩陣的提取。
該功能需要進(jìn)行二次開(kāi)發(fā),由ansys形成
的二進(jìn)制文件.full提取整體剛度和質(zhì)量
矩陣。
基于ansys的一個(gè)用戶開(kāi)發(fā)程序例子編
了一個(gè)程序(附件中)。
開(kāi)發(fā)環(huán)境:compaq fortran 6.5
運(yùn)行環(huán)境:win2000。
一個(gè)主文件:self.for,
另一個(gè)文件matrixout.f90用于矩陣輸出
binlib.lib為ansys提供的庫(kù)文件,將其
引入項(xiàng)目中(也可直接扔進(jìn)debug目錄)
.full文件由子空間迭代模態(tài)分析獲得。
運(yùn)行編譯后的可執(zhí)行文件.exe
2、單元剛度和質(zhì)量矩陣的提取。
/DEBUG命令。詳細(xì)說(shuō)明可由以下轉(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,, !
展開(kāi) 不同軟件中剛度矩陣提取方法 ¥3
Workbench中剛度矩陣提取方法
Abaqus剛度矩陣提取方法
Optistruct中剛度矩陣提取方法
提取整體剛度矩陣、質(zhì)量矩陣及阻尼矩陣的三種方法
這時(shí)用編輯器打開(kāi)cp.out文件,可以看到按單元寫(xiě)出的質(zhì)量、剛度等矩陣
3.
其原理很簡(jiǎn)單,即使用ansys的超單元即可解決問(wèn)題。定義超單元,然后列出超單元的剛度矩陣即可。
面是一個(gè)小例題,自可明白。
/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é)點(diǎn)
m,all,all !定義所有節(jié)點(diǎn)自由度為主自由度
solve !求解
selist,matname,3 !列出整體剛度矩陣
展開(kāi) ?abaqus提取單元的剛度矩陣和質(zhì)量矩陣
abaqus提取單元的剛度矩陣和質(zhì)量矩陣:
*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
ANSYS Beam188提取彎矩為例介紹ANSYS定義單元表提取數(shù)據(jù) (解決彎矩圖鋸齒狀) ¥20
在ANSYS中有些數(shù)據(jù)無(wú)法直接訪問(wèn),需要通過(guò)定義單元表完成單元的結(jié)果的訪問(wèn)。下面就以Beam188單元提取彎矩為例介紹ANSYS定義單元表提取數(shù)據(jù)的詳細(xì)過(guò)程。
1. 首先需要知道在哪里定義單元表:Main Menu>General Postproc>Element Table>Define Table>add
2. 定義你想要的數(shù)據(jù),這里以Beam188的彎矩為例
2.1 啟動(dòng)ANSYS幫助菜單, 在索引框輸入Beam188然后搜索, 在單元輸出介紹找到彎矩的名稱(代號(hào))。
2.2 回到ANSYS界面,比如要輸出Mz, 則需要在添加SMISC,3 和SMISC,16 ,如圖
3. 輸出數(shù)據(jù):Main Menu>General Postproc>Element Table> List E T, 選擇前面定義的SMISC,3 和SMISC,16 輸出單元I和J節(jié)點(diǎn)的Mz數(shù)值,如圖
4. 顯示彎矩云圖:Main Menu>General Postproc>Plot Results>Contour Plot>Line Elem Res, 這里要注意要在LabI 選SMISC,3 LabJ 選SMSCI,16。
輸出彎矩到這就結(jié)束了,小編突然發(fā)現(xiàn),輸出的彎矩值在每個(gè)單元的I和J處是一樣的(Beam188為2節(jié)點(diǎn)單元),彎矩圖也就成了鋸齒形,于是去問(wèn)了度娘一波,各路盆友給出解決方法,然而并沒(méi)有起作用的,于是乎我又想起來(lái)了“幫助文檔大法”,于是認(rèn)認(rèn)真真將Beam188的幫助文檔閱讀了一遍,功夫不負(fù)有心人,最終。。。
展開(kāi) 
ANSYS的get命令常用操作(信息提取和結(jié)果結(jié)果提取)
ANSYS的get命令常用操作(信息提取和結(jié)果結(jié)果提取)
在ANSYS分析過(guò)程中,*get命令作為一個(gè)提取信息的常用命令,作用非常大,不管是在前處理、求解還是后處理過(guò)程中,都能夠有發(fā)揮的空間,尤其是后處理過(guò)程,對(duì)結(jié)果的批量輸出來(lái)說(shuō)不可缺少。
*get能夠提取的信息相當(dāng)多,其命令語(yǔ)句如下:
*GET, Par, Entity, ENTNUM, Item1, IT1NUM, Item2, IT2NUM
Par:定義的變量名稱,用于存儲(chǔ)提取的數(shù)據(jù);
Entity:關(guān)鍵字,是信息提取的對(duì)象,包括NODE, ELEM, KP, LINE, AREA, VOLU, PDS等;
ENTNUM:當(dāng)前對(duì)象的數(shù)字標(biāo)識(shí),比如節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),單元的單元號(hào)等;
Item1:提取的信息,可用的非常多,后面展開(kāi);
IT1NUM:和Item1配合使用。
由于*get的功用實(shí)在太多,不就一一列舉,單就常用的枚舉。
展開(kāi) ANSYS知識(shí)普及1——如何提取模態(tài)質(zhì)量(ANSYS專家編輯,非原創(chuàng),歡迎轉(zhuǎn)摘)
本人準(zhǔn)備出一個(gè)ANSYS知識(shí)普及系列,將有用的網(wǎng)上資料歸攏,由于知識(shí)水平有限,不對(duì)之處請(qǐng)諒解。也歡迎各位網(wǎng)友提供好的資料分享,讓我們共同完成這個(gè)ANSYS知識(shí)普及系列。
編輯人:技術(shù)鄰ANSYS專家
業(yè)務(wù)咨詢網(wǎng)址:http://www.yqgqt.org.cn/content/other/402981
(打個(gè)小廣告)
聲 明:1、ANSYS知識(shí)普及系列中所有資料均來(lái)自網(wǎng)上;
2、如侵犯知識(shí)產(chǎn)權(quán),請(qǐng)聯(lián)系ANSYS專家本人或者技術(shù)鄰,我將第一時(shí)間刪除。
下面是《ANSYS Verification Manual》中VM89.DAT稍加修改后提取模態(tài)質(zhì)量的例子:
/PREP7
/TITLE, VM89, NATURAL FREQUENCIES OF A TWO-MASS-SPRING SYSTEM
C*** VIBRATION THEORY AND APPLICATIONS, THOMSON, 2ND PRINTING, PAGE 163,EX 6.2-2
ET,1,COMBIN14,,,2
ET,2,MASS21,,,4
R,1,200 ! SPRING CONSTANT = 200
R,2,800 ! SPRING CONSTANT = 800
R,3,.5 ! MASS = .5
R,4,1 ! MASS = 1
N,1
N,4,1
FILL
E,1,2 ! SPRING ELEMENT (TYPE,1) AND K = 200 (REAL,1)
TYPE,2
REAL,3
E,2 ! MASS ELEMENT (TYPE,2) AND MASS = .5 (REAL,3)
TYPE,1
REAL,2
E,2,3 !
展開(kāi) ANSYS workbench中質(zhì)心的提取方法 ¥88
在ansys中,我們經(jīng)常需要提取模型的質(zhì)心,查看其質(zhì)心的位置,以及動(dòng)力學(xué)中查看質(zhì)心的移動(dòng)軌跡,并非某一參考點(diǎn)的移動(dòng)軌跡。在ansys軟件中很容易查看模型,或者某一組件的質(zhì)心如圖所示。只需要在幾何模型中選中模型,然后再property中查看坐標(biāo)即可。但是這種為靜態(tài)結(jié)果,也就是初始狀態(tài)的結(jié)果
如果要查看模型在受力作用下發(fā)生了變形,那么對(duì)應(yīng)的質(zhì)心顯然會(huì)發(fā)生移動(dòng)。但是在這種情況下怎么查看質(zhì)心呢。一個(gè)近似的方法可以如下方式:
在后處理中插入自定義的結(jié)果loc-defy,可以得到模型變形后的坐標(biāo),然后查看average的結(jié)果,就是質(zhì)心的結(jié)果,該方法根據(jù)變形量的平均效果來(lái)得到質(zhì)心的,如下所示
但是真正的質(zhì)心提取方法并非上面的方式,需要準(zhǔn)確獲得,需要采用下面的命令
upcoord,1更新模型單元位置
展開(kāi) ANSYS Workbench中如何提取截面內(nèi)力 ¥3.9
在土木及水利設(shè)計(jì)中,截面內(nèi)力是結(jié)構(gòu)設(shè)計(jì)過(guò)程中極為重要的參數(shù),也是結(jié)構(gòu)穩(wěn)定性的重要依據(jù)。本文重點(diǎn)介紹如何在Workbench平臺(tái)自定義截面并獲得相應(yīng)截面的內(nèi)力,并將其結(jié)果輸出。方法簡(jiǎn)單,操作易上手!最終結(jié)果顯示如下:
具體步驟為:1、自定義創(chuàng)建截面,這里建議采用局部坐標(biāo)系的方法建立截面位置;