%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% read the results for Lock-Exchange case
% Author: Hu Lihan (Hohai Univ., China)
% May, 2023
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
%% parameters
L = 0.8;
Nx = 400;
dx = L/Nx;
kmax = 100;
dt = 1.0;
Nt = 31;
%% to read and to plot (non-hydrostatic)
data = load('lock01.mat');
data2 = load('lock02.mat');
Xp = data.Xp;
Xp2 = data2.Xp;
var_name = fieldnames(data);
var_name2 = fieldnames(data2);
timep = find(contains(var_name,'Tsec')==1);
timep2 = find(contains(var_name2,'Tsec')==1);
pp = 0;
for tt = [6 11 16]
pp = pp + 1;
% non-hydrostatic simulations
var_time = cell2mat(var_name(timep(tt)));
time = var_time(5:15);
for k = 1:kmax
if k<10
eval(['s=data.Salk00' num2str(k) time ';'])
eval(['z=data.zk00' num2str(k) time ';'])
elseif k<100
eval(['s=data.Salk0' num2str(k) time ';'])
eval(['z=data.zk0' num2str(k) time ';'])
else
eval(['s=data.Salk' num2str(k) time ';'])
eval(['z=data.zk' num2str(k) time ';'])
end
sal(:,k) = double(s);
zk(:,k) = double(z);
x(:,k) = double(Xp);
end
figure(pp)
subplot(2,1,1)
pcolor(x, zk+0.1 , sal), shading interp, colormap jet, colorbar
xlabel x/m, ylabel z/m, title('Non-hydrostatic simulation')
axis([0 0.8 0 0.1])
caxis([0 5])
clear s z sal zk x
% hydrostatic simulations
var_time2 = cell2mat(var_name2(timep2(tt)));
time = var_time2(5:15);
for k = 1:kmax
if k<10
eval(['s=data2.Salk00' num2str(k) time ';'])
eval(['z=data2.zk00' num2str(k) time ';'])
elseif k<100
eval(['s=data2.Salk0' num2str(k) time ';'])
eval(['z=data2.zk0' num2str(k) time ';'])
else
eval(['s=data2.Salk' num2str(k) time ';'])
eval(['z=data2.zk' num2str(k) time ';'])
end
sal(:,k) = double(s);
zk(:,k) = double(z);
x(:,k) = double(Xp2);
end
figure(pp)
subplot(2,1,2)
pcolor(x, zk+0.1 , sal), shading interp, colormap jet, colorbar
xlabel x/m, ylabel z/m, title('Hydrostatic simulation')
axis([0 0.8 0 0.1])
caxis([0 5])
clear s z
end