关于刚度矩阵的意义,刚度矩阵这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!
1、ANSYS单元和整体刚度矩阵的提取 一、单元刚度矩阵的提取/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,, ! 将输出信息送到cp.out文件 /debug,-1,,,1 ! 指定输出单元矩阵 /SOLU SOLVE finish /OUTPUT, TERM ! 将输出信息送到output windows中 这时用编辑器打开cp.out文件,可以看到按单元写出的质量、刚度等矩阵二、整体刚度矩阵的提取(有三种方法:用户程序法、超单元法、HBMAT命令法)用户程序法:需要二次开发(略)2、超单元法/solu antype,7 !substructuring分析类型 seopt,matname,1 !设置文件名称和刚度矩阵类型(刚度,质量,阻尼等) nsel,all !选择所有节点 m,all,all !定义所有节点自由度为主自由度 solve !求解 selist,matname,3 !列出整体刚度矩阵 3、HBMAT命令法提取整体矩阵命令:HBMAT,fname,ext,--,form,matrx,rhs其中: Fname---输出矩阵的路径和文件名,缺省为当前工作路径和当前工作文件名。
2、 ext---输出矩阵文件的扩展名,缺省为.matrix。
3、 form---定义输出矩阵文件的格式,其值可取: =ASCII:ASCII码格式; =BIN:二进制格式。
4、 matrix---定义输出矩阵的类型,其值可取: =STIFF:输出刚度矩阵。
5、可用于写入了.FULL文件的任何类型的分析。
6、 =MASS:输出质量矩阵。
7、可用于特征值屈曲、子结构分析、模态分析。
8、 =DAMP:输出阻尼矩阵。
9、仅用于有阻尼的模态分析。
10、 rhs---右边项输出控制(右边项指用矩阵所表示方程的等号右端矢量,这里可为节点荷载向量),如rhs=YES则输出,如rhs=NO则不输出。
11、 模态分析时,因仅LANB和QR法可生成完整的质量矩阵,因此也仅采用这两种方法时才可使用HBMAT命令得到质量矩阵文件。
12、⑵ Harwell-Boeing文件格式 用HBMAT命令可输出结构刚度矩阵、质量矩阵和阻尼矩阵,其文件记录格式为大型稀疏矩阵的标准交换格式,采用索引存储方法仅记录矩阵的非零元素。
13、文件基本格式是前面有4或5行描述数据,其后为单列矩阵元素值,说明如下: 第1行:格式(A72),为文件头的字符型解释,如刚度矩阵或质量矩阵等标题。
14、 第2行:格式(5I14),分别表示该文件的总行数(不包括文件头)、矩阵列指针的总行数、矩阵行索引的总行数、矩阵元素数值的总行数、右边项总行数。
15、 第3行:格式(A3,11X,4I14),分别为矩阵类型、矩阵行数、矩阵列数、矩阵行索引数(对组装后的矩阵,该值等于矩阵行索引数)、单元元素数(对组装后的矩阵此值为0)。
16、 第4行:格式(2A16,2A20),分别表示列指针格式、行索引格式、系数矩阵数值格式、右边项数值格式。
17、 第5行:格式(A3,11X,2I14),A3各列分别表示右边项格式、应用高斯起始矢量、应用eXact求解矢量;两个整数分别表示右边项列数、行索引数。
18、三个字符中的第1个字符可取:F---全部存贮(如节点荷载向量的全部元素)、M---与系数矩阵相同方法。
19、 第6行后:矩阵元素值(单列)。
20、 矩阵类型用3个字符表示,第1个字符可取:R---实数矩阵、C---复数矩阵、P---仅矩阵结构(无元素数值);第2个字符可取:S---对称矩阵、U---不对称矩阵、H---Hermitian矩阵、Z---病态对称矩阵;R---带状矩阵;第3个字符可取:A---组装的矩阵、E---单元矩阵(未组装)。
21、对称矩阵只存储下三角元素,如结构刚度矩阵为对称矩阵,Harwell-Boeing格式则仅记录下三角元素。
22、 根据Harwell-Boeing文件格式,可读取矩阵的任意行列元素的数值,也可编程还原为满矩阵存储,以便它用,很显然这种提取方式比较方便。
23、如当生成.FULL文件后,可采用命令/AUX2$FILE,mywork,full$HBMAT,mystiff,txt,ASCII,STIFF,YES$FINISH将二进制mywork.full文件输出为ASCII码文件mystiff.txt,并输出右边项。
24、 命令流: /aux2file,hbfile,fullhbmat,hbfile,txt,,ascii,stiff,yesfinish!从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,thenls0=4*elsels0=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(f14.0)*vread,values(1),hbfile,txt,,,valcrd,,,ls0+ptrcrd+indcrd(d25.15)*vread,rhsval(1),hbfile,txt,,,rhscrd,,,ls0+ptrcrd+indcrd+valcrd(d25.15)*dim,smatr,,nrow,ncol*do,icol,1,ncolstacol=pointr(icol)endcol=pointr(icol+1)*do,irow,stacol,endcol-1truerow=rowind(irow)smatr(truerow,icol)=values(irow)*enddo*enddo*do,irow,1,nrow*do,icol,1,ncolsmatr(irow,icol)=smatr(icol,irow)*enddo*enddopointr=rowind=values=rhsval=icol=irow=ls0=stacol=endcol=truerow=totcrd=ptrcrd=indcrd=valcrd=rhscrd=以上这些是我总结的,结果不同就错了。
本文分享完毕,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!