首页/文章/ 详情

ANSYS高级技巧!如何提取结构的刚度矩阵?

3月前浏览2108

    如下图所示,三根杆件组成的结构。在ANSYS中提取该结构的刚度矩阵,验证和公式解完全一致,然后输出到.csv格式的文件。

    本文提供的脚本也可以用于更复杂的结构,可以成功提取更复杂结构的刚度矩阵。

01    

获取.full文件


   

   

    在ANSYS Workbench求解完成后。右击求解,打开文件目录,找到file.full文件。




02    

打开MAPDL


   

   

    拖拉一个MADPL模块,右击打开MAPDL:




    打开对应文件夹:

    将file.full文件拷贝到目标文件夹:


03    

获取刚度矩阵


   

   

    读取脚本Get_MatrixV1.inp:


    查看刚度矩阵:


04    

输出刚度矩阵


   

   

    读取脚本Write_MatrixV1.inp:


    查看刚度矩阵:


05    

脚本内容


   

   

 Get_MatrixV1.inp

/aux2

file,,full

hbmat,hbfile,txt,,ascii,stiff,yes

finish

!获取hb格式的矩阵

!从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

(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,ncol

stacol=pointr(icol)

endcol=pointr(icol+1)

*do,irow,stacol,endcol-1

truerow=rowind(irow)

smatr(truerow,icol)=values(irow)

*enddo

*enddo

*do,irow,1,nrow

*do,icol,1,ncol

smatr(irow,icol)=smatr(icol,irow)

*enddo

*enddo

pointr=$rowind=$values=$rhsval=$icol=$irow=$ls0=$stacol=

endcol=$truerow=$totcrd=$ptrcrd=$indcrd=$valcrd=$rhscrd=

!脚本完结


Write_MatrixV1.inp:

*MWRITE,smatr,ALL_Matrix,CSV,,JIK,nrow,ncol 
(3F20.6) !修改刚度矩阵阶数

来源:华仿CAE
WorkbenchHSCANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-15
最近编辑:3月前
华仿CAE
硕士 致力于推广工程仿真技术
获赞 366粉丝 622文章 559课程 6
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈