matlab: some fixes in field interpolation and vtk dump
This commit is contained in:
parent
74a0c8f6fa
commit
ea71dce1c3
@ -80,7 +80,7 @@ fprintf(fid,'\n\n');
|
|||||||
|
|
||||||
fprintf(fid,'POINT_DATA %d\n',numel(x)*numel(y)*numel(z));
|
fprintf(fid,'POINT_DATA %d\n',numel(x)*numel(y)*numel(z));
|
||||||
% dump vector field data
|
% dump vector field data
|
||||||
if (ndims(fields)==4)
|
if (size(fields,4)>1)
|
||||||
if (nargin>3)
|
if (nargin>3)
|
||||||
fprintf(fid,['VECTORS ' fieldname ' double\n']);
|
fprintf(fid,['VECTORS ' fieldname ' double\n']);
|
||||||
else
|
else
|
||||||
@ -96,10 +96,7 @@ if (ndims(fields)==4)
|
|||||||
dumpField(:,3) = field_z(:);
|
dumpField(:,3) = field_z(:);
|
||||||
save('-ascii','-append',filename,'dumpField')
|
save('-ascii','-append',filename,'dumpField')
|
||||||
return
|
return
|
||||||
end
|
elseif (size(fields,4)==1) % scalar field
|
||||||
|
|
||||||
% dump scalar field data
|
|
||||||
if (ndims(fields)==3)
|
|
||||||
if (nargin>3)
|
if (nargin>3)
|
||||||
fprintf(fid,['SCALARS ' fieldname ' double 1\nLOOKUP_TABLE default\n']);
|
fprintf(fid,['SCALARS ' fieldname ' double 1\nLOOKUP_TABLE default\n']);
|
||||||
else
|
else
|
||||||
|
@ -70,7 +70,7 @@ if (numel(x)==1)
|
|||||||
[Y_I Z_I] = ndgrid(y_i,z_i);
|
[Y_I Z_I] = ndgrid(y_i,z_i);
|
||||||
for n=1:numel(field.values)
|
for n=1:numel(field.values)
|
||||||
field_i.values{n}(1,:,:,1) = interpn(Y,Z,squeeze(field.values{n}(1,:,:,1)),Y_I,Z_I);
|
field_i.values{n}(1,:,:,1) = interpn(Y,Z,squeeze(field.values{n}(1,:,:,1)),Y_I,Z_I);
|
||||||
if (size(field_i.values{n},4)>1)
|
if (size(field.values{n},4)>1)
|
||||||
field_i.values{n}(1,:,:,2) = interpn(Y,Z,squeeze(field.values{n}(1,:,:,2)),Y_I,Z_I);
|
field_i.values{n}(1,:,:,2) = interpn(Y,Z,squeeze(field.values{n}(1,:,:,2)),Y_I,Z_I);
|
||||||
field_i.values{n}(1,:,:,3) = interpn(Y,Z,squeeze(field.values{n}(1,:,:,3)),Y_I,Z_I);
|
field_i.values{n}(1,:,:,3) = interpn(Y,Z,squeeze(field.values{n}(1,:,:,3)),Y_I,Z_I);
|
||||||
end
|
end
|
||||||
@ -83,7 +83,7 @@ if (numel(y)==1)
|
|||||||
[X_I Z_I] = ndgrid(x_i,z_i);
|
[X_I Z_I] = ndgrid(x_i,z_i);
|
||||||
for n=1:numel(field.values)
|
for n=1:numel(field.values)
|
||||||
field_i.values{n}(:,1,:,1) = interpn(X,Z,squeeze(field.values{n}(:,1,:,1)),X_I,Z_I);
|
field_i.values{n}(:,1,:,1) = interpn(X,Z,squeeze(field.values{n}(:,1,:,1)),X_I,Z_I);
|
||||||
if (size(field_i.values{n},4)>1)
|
if (size(field.values{n},4)>1)
|
||||||
field_i.values{n}(:,1,:,2) = interpn(X,Z,squeeze(field.values{n}(:,1,:,2)),X_I,Z_I);
|
field_i.values{n}(:,1,:,2) = interpn(X,Z,squeeze(field.values{n}(:,1,:,2)),X_I,Z_I);
|
||||||
field_i.values{n}(:,1,:,3) = interpn(X,Z,squeeze(field.values{n}(:,1,:,3)),X_I,Z_I);
|
field_i.values{n}(:,1,:,3) = interpn(X,Z,squeeze(field.values{n}(:,1,:,3)),X_I,Z_I);
|
||||||
end
|
end
|
||||||
@ -96,7 +96,7 @@ if (numel(z)==1)
|
|||||||
[X_I Y_I] = ndgrid(x_i,y_i);
|
[X_I Y_I] = ndgrid(x_i,y_i);
|
||||||
for n=1:numel(field.values)
|
for n=1:numel(field.values)
|
||||||
field_i.values{n}(:,:,1,1) = interpn(X,Y,squeeze(field.values{n}(:,:,1,1)),X_I,Y_I);
|
field_i.values{n}(:,:,1,1) = interpn(X,Y,squeeze(field.values{n}(:,:,1,1)),X_I,Y_I);
|
||||||
if (size(field_i.values{n},4)>1)
|
if (size(field.values{n},4)>1)
|
||||||
field_i.values{n}(:,:,1,2) = interpn(X,Y,squeeze(field.values{n}(:,:,1,2)),X_I,Y_I);
|
field_i.values{n}(:,:,1,2) = interpn(X,Y,squeeze(field.values{n}(:,:,1,2)),X_I,Y_I);
|
||||||
field_i.values{n}(:,:,1,3) = interpn(X,Y,squeeze(field.values{n}(:,:,1,3)),X_I,Y_I);
|
field_i.values{n}(:,:,1,3) = interpn(X,Y,squeeze(field.values{n}(:,:,1,3)),X_I,Y_I);
|
||||||
end
|
end
|
||||||
@ -110,7 +110,7 @@ end
|
|||||||
[X_I Y_I Z_I] = ndgrid(x_i,y_i,z_i);
|
[X_I Y_I Z_I] = ndgrid(x_i,y_i,z_i);
|
||||||
for n=1:numel(field.values)
|
for n=1:numel(field.values)
|
||||||
field_i.values{n}(:,:,:,1) = interpn(X,Y,Z,field.values{n}(:,:,:,1),X_I,Y_I,Z_I);
|
field_i.values{n}(:,:,:,1) = interpn(X,Y,Z,field.values{n}(:,:,:,1),X_I,Y_I,Z_I);
|
||||||
if (size(field_i.values{n},4)>1)
|
if (size(field.values{n},4)>1)
|
||||||
field_i.values{n}(:,:,:,2) = interpn(X,Y,Z,field.values{n}(:,:,:,2),X_I,Y_I,Z_I);
|
field_i.values{n}(:,:,:,2) = interpn(X,Y,Z,field.values{n}(:,:,:,2),X_I,Y_I,Z_I);
|
||||||
field_i.values{n}(:,:,:,3) = interpn(X,Y,Z,field.values{n}(:,:,:,3),X_I,Y_I,Z_I);
|
field_i.values{n}(:,:,:,3) = interpn(X,Y,Z,field.values{n}(:,:,:,3),X_I,Y_I,Z_I);
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user