readamrdata.m.html | |
Source file: readamrdata.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(dim,Frame,dir,flag); % READAMRDATA reads amr data produced by Clawpack output routines. % % [AMRDATA,T] = READAMRDATA(DIM,FRAME) reads fort.tXXXX and fort.qXXXX % files produced by calls to the Clawpack output routines (outN.f) and % stores them in the structure AMRDATA for use by the Matlab Clawpack % graphing routines. DIM specifies the dimension (1,2 or 3) of the data % to be read, FRAME specifies the frame number (e.g. NN in fort.q00NN). % The files should be in the user's current directory. The simulation time % for output file is returned as T. % % [...] = READAMRDATA(...,DIR) looks for the fort.XXXXX files in directory % DIR. Default is the current working directory. % % [...] = READAMRDATA(...,FLAG) uses FLAG to determine what kind of data % to read. % FLAG = 'ascii' means read the standard ascii output files % fort.q00NN produced by Clawpack. % FLAG = 'hdf' will read HDF files. % FLAG = 'aux' will read the files fort.aXXXX instead of fort.qXXXX % (assumed to be ascii) and return this data, which % contains the maux values of the aux array instead of q. % The default option is FLAG='ascii'. % % The output argument AMRDATA is an array of structures whose fields are % some or all of : % % Fields in AMRDATA(n) : % % gridno : Grid number of amr data (1..ngrids) % level : Data level (1,2,3...) % mx, my, mz : Dimensions of data % xlow, ylow, zlow : Lower value of comp. domain % dx, dy, dz : Mesh size % data : Data, in linear array of size % mx (1d), mx*my (2d) or (mx*my*mz) (3d) % % Example : % % [amrdata,t] = readamrdata(2,12,'./results/'); % % reads Frame 12 of 2d ascii file in ./results/ % % ngrids = length(amrdata); % number of amr grids in this file % maxlevels = max(amrdata.level); % maximum level. % lvec = zeros(maxlevels,1); % for i = 1:ngrids, % loop over all grids in file % mx = amrdata(i).mx; % size of grid i. % my = amrdata(i).my; % level = amrdata(i).level; % lvec(level) = lvec(level) + mx*my; % end; % for level = 1:maxlevels, % fprintf('Cells at level % d : %d\n',level,lvec(level)); % end; % % For help on the Clawpack graphing routines, type 'help clawgraph'. if (nargin < 4) flag = 'ascii'; % assume ascii files are read if (nargin < 3) dir = './'; end; end; if (strcmp(dir(end),'/') == 0) dir = [dir, '/']; end; if (strcmp(lower(flag),'ascii') == 1) [amr,t] = readamrdata_ascii(dim,Frame,dir); elseif (strcmp(lower(flag),'hdf') == 1) [amr,t] = readamrdata_hdf(dim,Frame,dir); elseif (strcmp(lower(flag),'aux') == 1) [amr,t] = readamrdata_aux(dim,Frame,dir); else str = sprintf(['readamrdata : ''%s'' is not a valid OutputFlag. Use ',... 'flag = ''ascii'' or ''hdf'' or ''aux''.'],flag); error(str); end