Skip to content
Snippets Groups Projects
Commit 9c3296aa authored by Yossi Eliaz's avatar Yossi Eliaz
Browse files

Tools/Matlab: Allow to read LAMPPS output field


Some output fields have attributes attached on the same
line. e.g. "ITEM: BOX BOUNDS pp pp pp". This patch replaced all
the strcmpi to strncmpi in order to limit the number of character
compared with LAMPPS outputs.

Signed-off-by: default avatarYossi Eliaz <eliaz123@gmail.com>
parent 35abbab9
No related branches found
No related tags found
No related merge requests found
...@@ -29,13 +29,13 @@ end ...@@ -29,13 +29,13 @@ end
i=1; i=1;
while feof(dump) == 0 while feof(dump) == 0
id = fgetl(dump); id = fgetl(dump);
if (strcmpi(id,'ITEM: TIMESTEP')) if (strncmpi(id,'ITEM: TIMESTEP',numel('ITEM: TIMESTEP')))
timestep(i) = str2num(fgetl(dump)); timestep(i) = str2num(fgetl(dump));
else else
if (strcmpi(id,'ITEM: NUMBER OF ATOMS')) if (strncmpi(id,'ITEM: NUMBER OF ATOMS',numel('ITEM: NUMBER OF ATOMS')))
Natoms(i) = str2num(fgetl(dump)); Natoms(i) = str2num(fgetl(dump));
else else
if (strcmpi(id,'ITEM: BOX BOUNDS')) if (strncmpi(id,'ITEM: BOX BOUNDS',numel('ITEM: BOX BOUNDS')))
x_bound(i,:) = str2num(fgetl(dump)); x_bound(i,:) = str2num(fgetl(dump));
y_bound(i,:) = str2num(fgetl(dump)); y_bound(i,:) = str2num(fgetl(dump));
z_bound(i,:) = str2num(fgetl(dump)); z_bound(i,:) = str2num(fgetl(dump));
......
...@@ -46,21 +46,21 @@ else ...@@ -46,21 +46,21 @@ else
end end
while done == 0 & last_status == 0 while done == 0 & last_status == 0
id = fgetl(dump); id = fgetl(dump);
if (strcmpi(id,'ITEM: TIMESTEP')) if (strncmpi(id,'ITEM: TIMESTEP',numel('ITEM: TIMESTEP')))
if t == 0 if t == 0
timestep(i) = str2num(fgetl(dump)); timestep(i) = str2num(fgetl(dump));
t=1; t=1;
end end
else else
if (strcmpi(id,'ITEM: NUMBER OF ATOMS')) if (strcmpi(id,'ITEM: NUMBER OF ATOMS',numel('ITEM: NUMBER OF ATOMS')))
Natoms = str2num(fgetl(dump)); Natoms = str2num(fgetl(dump));
else else
if (strcmpi(id,'ITEM: BOX BOUNDS')) if (strcmpi(id,'ITEM: BOX BOUNDS',numel('ITEM: BOX BOUNDS')))
x_bound(1,:) = str2num(fgetl(dump)); x_bound(1,:) = str2num(fgetl(dump));
y_bound(1,:) = str2num(fgetl(dump)); y_bound(1,:) = str2num(fgetl(dump));
z_bound(1,:) = str2num(fgetl(dump)); z_bound(1,:) = str2num(fgetl(dump));
else else
if (strcmpi(id(1:11),'ITEM: ATOMS')) if (strncmpi('ITEM: ATOMS',numel('ITEM: ATOMS')))
atom_data = zeros(Natoms,ncol);%Allocate memory for atom data atom_data = zeros(Natoms,ncol);%Allocate memory for atom data
for j = 1 : 1: Natoms for j = 1 : 1: Natoms
atom_data(j,:) = str2num(fgetl(dump)); atom_data(j,:) = str2num(fgetl(dump));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment