1、
又参考了一下 ANSYS 帮助文件中的 APDL 编程部分,以及网上的一些意见,可以
有更方
便地得到节点坐标,单元内的节点列表的方法。在一个文本文件中写几条命令就
可以
了。而且可以指定输入写入的格式,不会出现两个数据首尾相接,在 MATLAB 中
无法区
分的问题。
得 到节点坐标和单元内包含的节点的程序如下,可以在 ANSYS 的帮助中找到每
一个命
令的详细解释。将下面的程序拷贝到一个文本文件中 filename.txt,保存,去
掉后
缀名 TXT,再拷贝到工作目录下。在命令提示符下输入*use filename,生产一
个 geomfile
.txt 文件,打开可以看到里面的数据
! Get the coordinates of each node
! Get the node list of each element
! By:LiuXiaoqin(liuxqsmile@gmail.com), at nuaa,
*get,nodenum,node,,num,max ! 获得节点的数目
*dim,nodepos,array,nodenum,3 ! nodepos 存放节点的坐标
*do,i,1,nodenum,1
*get,nodepos(i,1),node,i,loc,x !获得节点的 X 坐标
*get,nodepos(i,2),node,i,loc,y
*get,nodepos(i,3),node,i,loc,z
*enddo
!以上可以使用 nx,ny,nz 代替
*get,elemnum,elem,,num,max !得到单元的总数目
*dim,elemlist,array,elemnum,6 !单元包含的节点列表,指定每个单元包含 6
个节点
,根据情况修改
*do,i,1,elemnum,1
*do,ii,1,6,1
*get,elemlist(i,ii),elem,i,node,ii !获得节点编号
*enddo
*enddo
*cfopen,geomfile,txt !打开文件,写入数据
*vwrite,0
(F8.0,' Coordinates of each node')
*vwrite,sequ,nodepos(1,1),nodepos(1,2),nodepos(1,3)
(F8.0,3e16.8)
*vwrite,0
(F8.0,' Nodes No. of each element')
*vwrite,sequ,elemlist(1,1),elemlist(1,2),elemlist(1,3),elemlist(1,4),
elemlist
(1,5),elemlist(1,6)
(F8.0,6f8.0)
*vwrite,0
(F8.0)
*cfclos
获得振型的方法也类似,首先获得模态的个数,然后读取每一阶模态的频率和每
个节
点的偏移量
!从 ANSYS 中导出模态频率及振型数据
!By:LiuXiaoqin(liuxqsmile@gmail.com), at nuaa,
*get,nodenum,node,,num,max
*set,tempvar,0
*set,modenum,0
!获得模态的阶数
*do,i,1,100,1
*get,tempvar,mode,i,freq
*if,tempvar,LT,0.0001,THEN
*if,modenum,LT,0.0001,THEN
*set,modenum,(i-1)
*endif
*endif
*enddo
!*dim,modefqda,array,modenum,2
*dim,modeshp,array,nodenum,3
*cfopen,modefile,txt
*do,i,1,modenum,1
*get,modefq,mode,i,freq
*get,modeda,mode,i,damp
*vwrite,modefq,modeda
(2e16.8)
set,1,i
!获得每个节点的位移
*do,ii,1,nodenum,1
*get,modeshp(ii,1),node,ii,u,x
*get,modeshp(ii,2),node,ii,u,y
*get,modeshp(ii,3),node,ii,u,z
*enddo
*vwrite,sequ,modeshp(1,1),modeshp(1,2),modeshp(1,3)
(F8.0,3e16.8)
*vwrite,0
(F8.0)
*enddo
*cfclos
2、
在 ANSYS 这个有限元分析软件中
观察结构有限元模型的振型信息非常的直观和方便
(Utility Menu >PlotCtrls >Animate >Mode Shape)
但是有时候我们需要结构振型的数值信息
此时就需要用命令流来实现
DATA 文件(提取 1129 个结点结构的第一阶振型信息)
/POST1
SET,,1
*DIM,ZHENX1,ARRAY,6,1129,1,,, (结点为 6 自由度结点)
*DO,I,1,1129 (循环)
*GET,ZHENX1(1,I),NODE,I,U,X
*GET,ZHENX1(2,I),NODE,I,U,y
*GET,ZHENX1(3,I),NODE,I,U,Z
*GET,ZHENX1(4,I),NODE,I,ROT,X
*GET,ZHENX1(5,I),NODE,I,ROT,Y
*GET,ZHENX1(6,I),NODE,I,ROT,Z
*ENDDO
OUTPUT 文件(输出提取的结构第一阶振型信息)
*CFOPEN,ZHENX1,TXT (保存为 TXT 文本格式)
*DO,i,1,1129 (循环)
*VWRITE,ZHENX1(1,i)
(E15.8) (输出数据的格式)
*ENDDO
3、
在模态分析模块中的 solve 前加入以下命令,便可在 ansys 工作目录下得到文件 1.txt,里面
有各个方向的振型参与系数。
outpr,all
outres,all
/output,1,txt