|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 Chelsea 于 2011-3-13 07:36 编辑
下面的命令流适用于六面体八节点单元的情况,其他类型单元只需稍作修改即可!命令流读取的是节点的温度。
- /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
复制代码
将上述命令流拷贝到记事本中,然后以文件名“Ansys2Tecplot.inp”另存到Ansys的工作路径下。在Ansys中输入如下命令即可:/input,Ansys2Tecplot,inp
|
|