ansys质量矩阵刚度矩阵提取说课材料Word文档下载推荐.docx
《ansys质量矩阵刚度矩阵提取说课材料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ansys质量矩阵刚度矩阵提取说课材料Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
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,,!
将输出信息送到cp.out文件
/debug,-1,,,1!
指定输出单元矩阵
/SOLU
SOLVE
/OUTPUT,TERM!
将输出信息送到outputwindows中
这时用编辑器打开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
mp,dens,1,2e3
r,1,5000,2e7,200
lesize,all,,,10
lmesh,all
----以上正常建立模型,不必施加约束和荷载
/solu
antype,7!
substructuring分析类型
seopt,matname,2!
设置文件名称和刚度矩阵类型(刚度,质量,阻尼等)
nsel,all!
选择所有节点
m,all,all!
定义所有节点自由度为主自由度
solve!
求解
selist,matname,3!
列出整体刚度矩阵
ANSYS单元和整体刚度矩阵的提取
一、单元刚度矩阵的提取
/DEBUG命令
详细说明:
这时用编辑器打开cp.out文件,可以看到按单元写出的质量、刚度等矩阵
二、整体刚度矩阵的提取(有三种方法:
用户程序法、超单元法、HBMAT命令法)
1、用户程序法:
需要二次开发(略)
2、超单元法
ant
ype,7!
seopt,matname
1!
列出整体刚度矩阵
3、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命令得到质量矩阵文件。
⑵Harwell-Boeing文件格式
用HBMAT命令可输出结构刚度矩阵、质量矩阵和阻尼矩阵,其文件记录格式为大型稀疏矩阵的标准交换格式,采用索引存储方法仅记录矩阵的非零元素。
文件基本格式是前面有4或5行描述数据,其后为单列矩阵元素值,说明如下:
第1行:
格式(A72),为文件头的字符型解释,如刚度矩阵或质量矩阵等标题。
第2行:
格式(5I14),分别表示该文件的总行数(不包括文件头)、矩阵列指针的总行数、矩阵行索引的总行数、矩阵元素数值的总行数、右边项总行数。
第3行:
格式(A3,11X,4I14),分别为矩阵类型、矩阵行数、矩阵列数、矩阵行索引数(对组装后的矩阵,该值等于矩阵行索引数)、单元元素数(对组装后的矩阵此值为0)。
第4行:
格式(2A16,2A20),分别表示列指针格式、行索引格式、系数矩阵数值格式、右边项数值格式。
第5行:
格式(A3,11X,2I14),A3各列分别表示右边项格式、应用高斯起始矢量、应用eXact求解矢量;
两个整数分别表示右边项列数、行索引数。
三个字符中的第1个字符可取:
F---全部存贮(如节点荷载向量的全部元素)、M---与系数矩阵相同方法。
第6行后:
矩阵元素值(单列)。
矩阵类型用3个字符表示,第1个字符可取:
R---实数矩阵、C---复数矩阵、P---仅矩阵结构(无元素数值);
第2个字符可取:
S---对称矩阵、U---不对称矩阵、
H---Hermitian矩阵、Z---病态
对称矩阵;
R---带状矩阵;
第3个字符可取:
A---组装的矩阵、E---单元矩阵(未组装)。
对称矩阵只存储下三角元素,如结构刚度矩阵为对称矩阵,Harwell-Boeing格式则仅记录下三角元素。
根据Harwell-Boeing文件格式,可读取矩阵的任意行列元素的数值,也可编程还原为满矩阵存储,以便它用,很显然这种提取方式比较方便。
如当生成.FULL文件后,可采用命令/AUX2$FILE,mywork,full$HBMAT,mystiff,txt,ASCII,STIFF,YES$FINISH将二进制mywork.full文件输出为ASCII码文件mystiff.txt,并输出右边项。
命令流:
/aux2
file,hbfile,full
hbmat,hbfile,txt,,ascii,stiff,yes
finish
从hbfile.txt读入数据,并还原为满矩阵存储
*dim,contline,,5
*vread,contline
(1),hbfile,txt,,,5,,,1
(5f14.0)
totcrd=contline
(1)
ptrcrd=contline
(2)
indcrd=contline(3)
valcrd=contline(4)
rhscrd=contline(5)
*vread,contline
(1),hbfile,txt,,,4,,,2
(a3,11x,4f14.0)
nrow=contline
(2)
ncol=contline(3)
strline=
contline=
*if,rhscrd,eq,0,then
ls0=4
*else
ls0=5
*endif
*dim,pointr,,ptrcrd
*dim,rowind,,indcrd
*dim,values,,valcrd
*dim,rhsval,,rhscrd
*vread,pointr
(1),hbfile,txt,,,ptrcrd,,,ls0
(f14.0)
*vread,rowind
(1),hbfile,txt,,,indcrd,,,ls0+ptrcrd
*vread,values
(1),hbfile,txt,,,valcrd,,,ls0+ptrcrd+indcrd
(d25.15)
*vread,rhsval
(1),hbfile,txt,,,rhscrd,,,ls0+ptrcrd+indcrd+valcrd
*dim,smatr,,nrow,ncol
*do,icol,1,ncol
stacol=pointr(icol)
endcol=pointr(icol+1)
*do,irow,stacol,endcol-1
truerow=rowind(irow)
smatr(truerow,icol)=values(irow)
*enddo
*do,irow,1,nrow
smatr(irow,icol)=smatr(icol,irow)
pointr=
rowind=
values=
rhsval=
icol=
irow=
ls0=
stacol=
endcol=
truerow=
totcrd=
ptrcrd=
indcrd=
valcrd=
rhscrd=
以上这些是我总结的,结果不同就错了。
4.
seopt,matname,1!
选