本文主要是介绍ANSYS中按照X坐标提取节点应力值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
!给出了ANSYS中沿着X轴按照坐标位置依次提取节点应力值的命令流
!先把需要提取的那一排节点选择出来
/PREP7
ALLSEL,ALL
ASEL,S,MAT,,2
ALLSEL,BELOW,AREA
Y=-120 !要提取节点的横坐标
NSEL,R,LOC,Y,Y !从所有节点中选择出要提取的节点
*get,n1,node,,count !要提取的节点的总个数
*dim,nn1,array,n1 !定义一个名为nn1的数组,容量为n1,装的是节点的编号
! *dim,xx1,array,n1, !定义一个名为xx1的数组,容量为n1,装的是节点的X坐标值
*dim,stress,array,n1,5 !定义一个名为stress的三维数组,容量为n1,装的是节点X坐标值、正应力、切应力值
*get,nmin,node,,num,min !得到所有节点中节点编号最小的节点号
nn1(1)=nmin !最小的节点号赋予到数组nnn1中,排第一位置(也就是nnn1中的数组就是节点号从小到达排列)
stress(1,1)=NX(nn1(1)) !最X坐标储存在三维数组第一列中
*Get,stress(1,2),NODE,nn1(1),S,Y !将S改为EPTO便就是提取应变分量
*Get,stress(1,3),NODE,nn1(1),S,XY
*Get,stress(1,4),NODE,nn1(1),S,1
*Get,stress(1,5),NODE,nn1(1),S,3
*do,i,2,n1 !采用循环,将节点编号从小到大排列并获取其相关信息
*get,nnum,node,nmin,nxth
nmin=nnum
nn1(i)=nmin
stress(i,1)=NX(nn1(i))
*Get,stress(i,2),NODE,nn1(i),S,Y !将S改为EPTO便就是提取应变分量
*Get,stress(i,3),NODE,nn1(i),S,XY
*Get,stress(i,4),NODE,nn1(i),S,1
*Get,stress(i,5),NODE,nn1(i),S,3
*enddo
!已经将所选节点的X坐标、正应力、切应力全部储存,按照坐标将三维数组排序
*DO,j,1,n1-1,1
*if,stress(j,1),LE,stress(j+1,1),THEN
stress(j,1)=stress(j,1)
stress(j,2)=stress(j,2)
stress(j,3)=stress(j,3)
stress(j,4)=stress(j,4)
stress(j,5)=stress(j,5)
*ELSE
kong1=stress(j,1)
kong2=stress(j,2)
kong3=stress(j,3)
kong4=stress(j,4)
kong5=stress(j,5)
stress(j,1)=stress(j+1,1)
stress(j,2)=stress(j+1,2)
stress(j,3)=stress(j+1,3)
stress(j,4)=stress(j+1,4)
stress(j,5)=stress(j+1,5)
stress(j+1,1)=kong1
stress(j+1,2)=kong2
stress(j+1,3)=kong3
stress(j+1,4)=kong4
stress(j+1,5)=kong5*ENDIF
*enddo
!读出数据TXT文件
FINISH
*CFOPEN,25-3,txt !25-3为导出的文档名称
*VWRITE,stress(1,1),stress(1,2),stress(1,3),stress(1,4),stress(1,5)
(F20.2,' ',F20.2,' ',F20.2,' ',F20.2,' ',F20.2) !导出的数据格式
*CFCLOSE
特别提示:上述代码需要放到文本文件中读入,不能复制粘贴到ANSYS的输入框,就是说用INPUT 的方式直接读入文本文件!!!
这篇关于ANSYS中按照X坐标提取节点应力值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!