采用matlab等相关软件非常便于解决大矩阵,但在此涉及ANSYS和matlab接口的处理问题,非常繁琐。 本文用ANSYS直接提取结构整体刚度矩阵,编制了反求整体刚度的APDL程序,可以用ANSYS直接操作刚度矩阵,很实用。
利用ANSYS求解结构刚度矩阵逆矩阵,模型采用单层球面网壳!
相关的APDL命令流如下所示。
完成
/clear
/filname,modal
/prep7
et,1,beam188
mp,ex,1,2.1e 11
mp,prxy,1,0.28
mp,dens,1,7850
*afun,deg
! 用户界面设计,输入几何参数
多重pro,'开始',4
*cset,1,3,f,' Enter the f ',6.8
*cset,4,6,span,' Enter the span ',30
*cset,7,9,Kn,' Enter the radial number ',24
*cset,10,12,Nx,' Enter the node circle number ',3
*cset,61,62,' pleaseenterthegeometryparameters '
multipro,' end '
! 计算节点的坐标位置并定义节点
cys,2
r=(f*fspan*span/4 )/(2* f ) ) ) )
dalfa=ATN(*(*(span/2/sqrt(r*r-) span/2 ) * (span/2 ) )/Nx
n,1,r,0,90
*do,I,1,Nx
*do,j,1,Kn
x=r
y=(j-1 ) *360/Kn
z=90-i*Dalfa
n,1kn*(I-1 ) j,x,y,z,
*嵌入式
*嵌入式
! 定义设备连接
ro=0.219/2
ri=(0.219-0.010*2)/2
sectype,1,beam,ctube
secdata,ri,ro,8
类型,1
mat,1
secnum,1
! 定义环形栏连接
*do,I,1,Nx
*do、j、1、Kn-1,1、1、1
e,1kn*(I-1 ) j,1kn*(I-1 ) j 1
*嵌入式
e,1 Kn*i,1 i*Kn-Kn 1
*嵌入式
! 定义径向杆连接
*do、j、1、Kn、1
e,1,1j,
*嵌入式
*do,I,1,Nx-1
*do,j,1,Kn
e,1kn*(I-1 ) j,1 Kn*i j
*嵌入式
*嵌入式
! 定义坡度链接
*do,I,1,Nx-1
*do、j、1、Kn-1,1、1、1
e,1kn*(I-1 ) j,1kn * ij1,1
*嵌入式
e,1 i*Kn,1 i*Kn 1
*嵌入式
! 定义边界约束节点和节点载荷
*do,I,1,1kn * NX
*if,I,le,1kn*(NX-1 ),then
f,I,fz,-1000
*else
d,I,all
*结尾
*嵌入式
完成
/solu
解决方案
/aux2
文件,模型,完整
hbmat,modal,txt,ascII,stiff,yes! 转换hb.file文件hb.txt
完成
*DIM,CONTLINE,5! 定义一维数组
*VREAD,contline(1),MODAL,TXT,5,1! 跳过第一行读取五个数据
(5F14.0 )
prcrd=contline(2! 保存列指针的总行数
indCRD=contline(3! 保存行索引的总行数
valCRD=contline(4! 保存矩阵元素的总行数
RHSCRD=contline(5! 保存右边项目的总行数
*VREAD,contline(1),MODAL,TXT,4,2