|
readamrdata_aux.m.html |
|
|
Source file: readamrdata_aux.m
|
|
Directory: /home/rjl/git/rjleveque/clawpack-4.x/matlab
|
|
Converted: Sun May 15 2011 at 19:15:58
using clawcode2html
|
|
This documentation file will
not reflect any later changes in the source file.
|
function [amr,t] = readamrdata_aux(dim,Frame,dir);
% Internal routine for Clawpack graphics.
% Read the aux array values stored in fort.aXXXX
n1 = Frame+10000;
fname = [dir, 'fort.',num2str(n1)];
fname(length(dir)+6) = 't';
if ~exist(fname)
amr = {};
t = [];
return;
end
% Read data from fname = 'fort.tXXXX'
fid = fopen(fname);
t = fscanf(fid,'%g',1); fscanf(fid,'%s',1);
meqn = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
ngrids = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
maux = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
fclose(fid);
% change the file name to read the aux data:
fname(length(dir) + 6) = 'a';
if ~exist(fname)
amr = {};
t = [];
return;
end
fid = fopen(fname);
disp(['Reading data from ',fname]);
for ng = 1:ngrids,
% read parameters for this grid:
amrdata.gridno = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
amrdata.level = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
amrdata.mx = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
if (dim > 1)
amrdata.my = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
if (dim > 2)
amrdata.mz = fscanf(fid,'%d',1); fscanf(fid,'%s',1);
end;
end;
amrdata.xlow = fscanf(fid,'%g',1); fscanf(fid,'%s',1);
if (dim > 1)
amrdata.ylow = fscanf(fid,'%g',1); fscanf(fid,'%s',1);
if (dim > 2)
amrdata.zlow = fscanf(fid,'%g',1); fscanf(fid,'%s',1);
end;
end;
amrdata.dx = fscanf(fid,'%g',1); fscanf(fid,'%s',1);
if (dim > 1)
amrdata.dy = fscanf(fid,'%g',1); fscanf(fid,'%s',1);
if (dim > 2)
amrdata.dz = fscanf(fid,'%g',1); fscanf(fid,'%s',1);
end;
end;
% read aux data:
if (dim == 1)
amrdata.data = fscanf(fid,'%g',[maux,amrdata.mx]);
elseif (dim == 2)
amrdata.data = fscanf(fid,'%g',[maux,amrdata.mx*amrdata.my]);
else
amrdata.data = fscanf(fid,'%g',[maux,amrdata.mx*amrdata.my*amrdata.mz]);
end;
amr(ng) = amrdata;
end;
fclose(fid);