-
Notifications
You must be signed in to change notification settings - Fork 0
/
flashFortran.m
79 lines (66 loc) · 1.72 KB
/
flashFortran.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
% 显示解随时间变化规律,从Fortran写好的文件中读取数据
% flashFortran.m
%xa = 0; xb = 2*pi; ya = 0; yb = 2*pi; % Tang Vortex
%xa = -10; xb = 10; ya = -10; yb = 10; % 平移
xa = 0;xb = 4;ya = 0;yb = 4;
%xa = 0;xb = 10;ya = 0;yb = 10; % 等熵涡
TIME = 2000;
Q1 = str2num(fileread('Q1.txt'));
Q1 = Q1(:,1);
T = fileread('T.txt');
T = str2num(T);
STOP = length(T);
N = round(sqrt(length(Q1)/STOP));
% 网格
h = (xb - xa)/N;
h1 = h/2;
X = zeros(N,1);
Y = zeros(N,1);
for i = 1:N + 1
X(i) = xa + (i - 1)*h;
Y(i) = ya + (i - 1)*h;
end
% 整格点
Xc = (X(1:end - 1) + X(2:end))/2;
Yc = (Y(1:end - 1) + Y(2:end))/2;
Q1 = reshape(Q1,N,N,STOP);
stop = 0;
%QF = QF(:,:,(1:STOP));
T = T(1:STOP);
h = figure();
warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame');
jFrame = get(h,'JavaFrame');
pause(0.1);
set(jFrame,'Maximized',1);
pause(0.1);
warning('on','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame');
[xc,yc] = meshgrid(Xc,Yc);
xlabel('X');
ylabel('Y');
grid on;
%s = [X(1),X(end),Y(1),Y(end),min(min(min(Q(:,:,:,4)))) - 0.1,max(max(max(Q(:,:,:,4)))) + 0.1];
s = [Xc(1),Xc(end),Yc(1),Yc(end),min(min(min(Q1))) - 0.1,max(max(max(Q1))) + 0.1];
axis(s);
TT = 100;
t0 = T(end)/TT;
for i = 1:101
tt = (i - 1)*t0;
[~,j] = min(abs(T - tt));
mesh(yc,xc,Q1(:,:,j));
%contour(yc,xc,Q1(:,:,j,1));
title(T(j));
colormap(cool)
axis(s);
pause(0.0001);
end
mesh(yc,xc,Q1(:,:,j))
axis(s)
%plot(T,DIV);
% [~,j] = min(abs(T - 0.5));
% contour(yc,xc,QF(:,:,j,1),25);
% [~,j] = min(abs(T - 2));
% contour(Xc,Yc,QF(:,:,j,1),25);
% [~,j] = min(abs(T - 3));
% contour(Xc,Yc,QF(:,:,j,1),25);
% [~,j] = min(abs(T - 4));
% contour(Xc,Yc,QF(:,:,j,1),25);