git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@1614 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -1 +1,57 @@
|
||||
function [varargout] = readdump_all(varargin)
|
||||
function [varargout] = readdump_all(varargin)
|
||||
% Reads all timesteps from a LAMMPS dump file.
|
||||
% Input is dump file name with path
|
||||
% Output is in the form of a structure with following variables
|
||||
% .timestep --> Vector containing all time steps
|
||||
% .Natoms --> Vector containing number of atoms at each time step
|
||||
% .x_bound --> [t,2] array with xlo,xhi at each time step
|
||||
% .y_bound --> [t,2] array with ylo,yhi at each time step
|
||||
% .z_bound --> [t,2] array with zlo,zhi at each time step
|
||||
% .atom_data --> 3 dimensional array with data at each time step stored
|
||||
% as atomdata(:,:,t)
|
||||
% Example
|
||||
% data = readdump_all('dump.LAMMPS');
|
||||
%
|
||||
% See also readdump_one, scandump
|
||||
%
|
||||
% Author : Arun K. Subramaniyan
|
||||
% sarunkarthi@gmail.com
|
||||
% http://web.ics.purdue.edu/~asubrama/pages/Research_Main.htm
|
||||
% School of Aeronautics and Astronautics
|
||||
% Purdue University, West Lafayette, IN - 47907, USA.
|
||||
|
||||
try
|
||||
dump = fopen(varargin{1},'r');
|
||||
catch
|
||||
error('Dumpfile not found!');
|
||||
end
|
||||
|
||||
i=1;
|
||||
while feof(dump) == 0
|
||||
id = fgetl(dump);
|
||||
switch id
|
||||
case 'ITEM: TIMESTEP'
|
||||
timestep(i) = str2num(fgetl(dump));
|
||||
case 'ITEM: NUMBER OF ATOMS'
|
||||
Natoms(i) = str2num(fgetl(dump));
|
||||
case 'ITEM: BOX BOUNDS'
|
||||
x_bound(i,:) = str2num(fgetl(dump));
|
||||
y_bound(i,:) = str2num(fgetl(dump));
|
||||
z_bound(i,:) = str2num(fgetl(dump));
|
||||
case 'ITEM: ATOMS'
|
||||
for j = 1 : 1: Natoms
|
||||
atom_data(j,:,i) = str2num(fgetl(dump));
|
||||
end
|
||||
i=i+1;
|
||||
end
|
||||
end
|
||||
%----------Outputs-------------
|
||||
%OUTPUTS IN SAME VARIABLE STRUCTURE
|
||||
varargout{1}.timestep = timestep;
|
||||
varargout{1}.Natoms = Natoms;
|
||||
varargout{1}.x_bound = x_bound;
|
||||
varargout{1}.y_bound = y_bound;
|
||||
varargout{1}.z_bound = z_bound;
|
||||
varargout{1}.atom_data = atom_data;
|
||||
%------------------------------
|
||||
fclose(dump);
|
||||
|
||||
Reference in New Issue
Block a user