如何能把结果与节点坐标显示在一个文件中
我想把结果与节点的坐标显示在一个文件中,例如我要得到综合位移的结果,但是在的到的结果列表中,没有节点的坐标,我想把结果和坐标显示在一个文件中,因为我要做表格。谢谢 查询数据的话用*GET命令,写文件的话用*VWRITE,实际上都是“RTM”能解决的问题。 回复 2 # Rainyboy 的帖子能不能具体点,讲结果和坐标同时显示出来。 回复 3 # bbmingming 的帖子
恩,找不到以前用过的代码了,本来想写个例子,临时有点事……所以得晚一些时候再弄了,不过翻翻手册实现这个是不难的。 参考下面的,下面的命令流是导出坐标温度的,自己修改以下********************************输出结果命令流********************************
/post1
file,Jobname,rst !指明从哪一个结果文件中读取数据
*get,NodeNum,NODE,0,COUNT !得到模型的所有节点数
*get,nd,NODE,0,NUM,MIN !得到模型的最小节点编号
*dim,nodes,array,NodeNum !定义一个存储节点的数组
*dim,xyz,array,NodeNum,3 !定义一个存储节点坐标的数组
*dim,NodeTemp,array,NodeNum !定义一个存储节点的数组
set,4,1 !读入第四载荷步、第一个子步的结果
*do,i,1,NodeNum,1
nodes(i)=nd !将节点编号存储在nodes数组中
xyz(i,1)=NX(nd) !在xyz(i,1)中存储节点的X坐标
xyz(i,2)=NY(nd) !在xyz(i,1)中存储节点的Y坐标
xyz(i,3)=NZ(nd) !在xyz(i,1)中存储节点的Z坐标
*Get,NodeTemp(i),NODE,nodes(i),TEMP
nd=NDNEXT(nd) !取得下一个节点编号
*enddo
*get,ElementNum,ELEM,0,COUNT !得到模型的所有单元数
*get,el,ELEM,0,NUM,MIN !得到模型的最小单元编号
*dim,elems,array,ElementNum !定义一个存储单元的数组
*dim,ndlst,array,ElementNum,8 !定义一个存储节点坐标的数组
*do,i,1,ElementNum,1
elems(i)=el !将单元编号存储在elems数组中
*do,j,1,8,1
ndlst(i,j)=NELEM(el,j) !将单元对应的节点编号存储在ndlst数组中
*enddo
el=ELNEXT(el) !取得下一个单元编号
*enddo
*cfopen,mesh,dat !输出的文件名为:mesh.dat
!写TecPlot文件的文件头
*vwrite
("TITLE=Ansys Temperature Analysis")
!写变量名
*vwrite
("VARIABLES="X","Y","Z","Temp"")
!写节点数和单元数
*vwrite,NodeNum,ElementNum
("ZONE n="f6.1," e="f6.1," f=fepoint"," et=brick")
!写节点的坐标和温度值
*vwrite,xyz(1,1),xyz(1,2),xyz(1,3),NodeTemp(1)
(4f12.6)
!写一个空行
*vwrite
(" ")
!写各单元对应的节点号
*vwrite,ndlst(1,1),ndlst(1,2),ndlst(1,3),ndlst(1,4),ndlst(1,5),ndlst(1,6),ndlst(1,7),ndlst(1,8)
(8f6.0)
!关闭文件
*CFCLOSE
finish
********************************输出结果命令流 ********************************
页:
[1]