Contents
function
petsc-3.7.6 2017-04-24
[varargout] = PetscBinaryReadTrajectory(inarg)
if nargin < 1
if exist('SA-data','dir')
inarg = 'SA-data';
else if exist('Visualization-data','dir')
inarg = 'Visualization-data';
else
error('Can not find the folder of trajectory files!');
indices = 'int32';
precision = 'float64';
maxsteps = 10000;
t = zeros(1,maxsteps);
for stepnum=1:maxsteps
filename = sprintf('SA-%06d.bin',stepnum-1);
fullname = fullfile(inarg,filename);
if exist(fullname,'file') ~= 2
steps = stepnum-1;
break;
end
fd = PetscOpenFile(fullname);
header = double(read(fd,1,indices));
if isempty(header)
steps = stepnum-1;
break;
end
if header == 1211214
Read state vector
m = double(read(fd,1,indices));
if (stepnum == 1)
x = zeros(m,maxsteps);
end
v = read(fd,m,precision);
x(:,stepnum) = v;
Read time
t(stepnum) = read(fd,1,precision);
end
close(fd);
end
if size > 1
varargout{1} = {t(1:steps)};
varargout{2} = {x(:,1:steps)};
end
end