多语言展示
当前在线:1581今日阅读:60今日分享:41

将二维或三维数据点导入tecplot

tecplot是常用的功能强大的后处理软件,怎么把点的数据导入到tecplot中处理呢?
工具/原料
1

tecplot360 ex 2017

2

记事本

方法/步骤
1

先看下导入tecplot的数据格式,下面分别为2D和3D数据点格式

2

这两个文件是用txt编写的。首先是表头,要写变量名,要用引号引起来,并用逗号分隔;然后是创建一个zone

3

接下来要讲的是坐标系及数据点的输写顺序。对于2D数据点阵列,先固定x不变,写y坐标;然后下一个x, 再写一列y的数据。i的数值就是一个x下对应的y元素的个数,j就是x元素的个数。例如图中所示的两列点,i=8, j=2.

4

下图所示是x×y=9×17构成的点, i=17,j=9

5

写完坐标点后,保存为.dat格式。直接拖到tecplot即可。画出的图像如图

6

类似地,对于3数据,先固定x不变,写yz平面的数据,先第一个y对应的z方向的数据,然后下一个y,写对应的z方向数据;写完了一个yz平面的数据后,改变x,写下一个yz平面的数据。i就是同一个(x,y)下对就的z元素个数,j是同一个x下,对应的y元素个数,k就是x元素的个数。例如对于9×17×11构成的点,i=11,j=17,k=9.

7

写完坐标点后,保存为.dat格式。直接拖到tecplot画出的图像如图

8

附上matlab代码%% 绘制二维数据点clc;clear;%%x=[-0.2:0.05:0.2]';y=[-0.4:0.05:0.4]';xn=size(x,1);yn=size(y,1);pi=0;for xi=1:xn    for yi=1:yn            pi=pi+1;            press(pi,:)=[x(xi),y(yi),x(xi)*x(xi)+y(yi)*y(yi)];    endendfid=fopen('tecplot2d.dat','w');fprintf(fid,'variables= 'x', 'y', 'meanpress'\r\n');fprintf(fid,'zone t='Frame 0'i=%d,j=%d,f=point\r\n',yn,xn);fprintf(fid,'%8.4f %8.4f %8.4f \r\n',press');fclose(fid);

9

%% 绘制三维数据点clc;clear;%%x=[-0.2:0.05:0.2]';y=[-0.4:0.05:0.4]';z=[0:0.02:0.2]';xn=size(x,1);yn=size(y,1);zn=size(z,1);pi=0;for xi=1:xn    for yi=1:yn        for zi=1:zn            pi=pi+1;            press(pi,:)=[x(xi),y(yi),z(zi),x(xi)*x(xi)+y(yi)*y(yi)+z(zi)*z(zi)];        end    endendfid=fopen('tecplot3d.dat','w');fprintf(fid,'variables= 'x', 'y','z', 'meanpress'\r\n');fprintf(fid,'zone t='Frame 0'i=%d,j=%d,k=%d,f=point\r\n',zn,yn,xn);fprintf(fid,'%8.4f %8.4f %8.4f %8.4f\r\n',press');fclose(fid);

推荐信息