84 lines
2.9 KiB
Matlab
84 lines
2.9 KiB
Matlab
function [ibegu,iendu,jbegu,jendu,kbegu,kendu,...
|
|
ibegv,iendv,jbegv,jendv,kbegv,kendv,...
|
|
ibegw,iendw,jbegw,jendw,kbegw,kendw,...
|
|
ibegp,iendp,jbegp,jendp,kbegp,kendp,...
|
|
nxprocs,nyprocs,nzprocs] = read_procgrid_legacy(file)
|
|
% [ibegu,iendu,jbegu,jendu,kbegu,kendu,...
|
|
% ibegv,iendv,jbegv,jendv,kbegv,kendv,...
|
|
% ibegw,iendw,jbegw,jendw,kbegw,kendw,...
|
|
% ibegp,iendp,jbegp,jendp,kbegp,kendp,...
|
|
% nxprocs,nyprocs,nzprocs] = read_procgrid_legacy(file)
|
|
% Reads processor grids from 'current_proc_grid.tmp'.
|
|
% Input
|
|
% file path to 'current_proc_grid.tmp'
|
|
% Output
|
|
% ibegu,iendu,jbegu,jendu,kbegu,kendu processor grid u
|
|
% ibegv,iendv,jbegv,jendv,kbegv,kendv processor grid v
|
|
% ibegw,iendw,jbegw,jendw,kbegw,kendw processor grid w
|
|
% ibegp,iendp,jbegp,jendp,kbegp,kendp processor grid p
|
|
% nxprocs,nyprocs,nzprocs number of processors
|
|
|
|
proc_grid=load(file);
|
|
nxprocs = proc_grid(1,1);
|
|
nyprocs = proc_grid(1,2);
|
|
nzprocs = proc_grid(1,3);
|
|
|
|
ibegu = zeros(nxprocs,1);
|
|
iendu = zeros(nxprocs,1);
|
|
ibegv = zeros(nxprocs,1);
|
|
iendv = zeros(nxprocs,1);
|
|
ibegw = zeros(nxprocs,1);
|
|
iendw = zeros(nxprocs,1);
|
|
ibegp = zeros(nxprocs,1);
|
|
iendp = zeros(nxprocs,1);
|
|
|
|
jbegu = zeros(nyprocs,1);
|
|
jendu = zeros(nyprocs,1);
|
|
jbegv = zeros(nyprocs,1);
|
|
jendv = zeros(nyprocs,1);
|
|
jbegw = zeros(nyprocs,1);
|
|
jendw = zeros(nyprocs,1);
|
|
jbegp = zeros(nyprocs,1);
|
|
jendp = zeros(nyprocs,1);
|
|
|
|
kbegu = zeros(nzprocs,1);
|
|
kendu = zeros(nzprocs,1);
|
|
kbegv = zeros(nzprocs,1);
|
|
kendv = zeros(nzprocs,1);
|
|
kbegw = zeros(nzprocs,1);
|
|
kendw = zeros(nzprocs,1);
|
|
kbegp = zeros(nzprocs,1);
|
|
kendp = zeros(nzprocs,1);
|
|
|
|
for ii=1:nxprocs
|
|
ibegu(ii)=proc_grid(1+ii,1);
|
|
iendu(ii)=proc_grid(1+ii,2);
|
|
ibegv(ii)=proc_grid(1+ii,3);
|
|
iendv(ii)=proc_grid(1+ii,4);
|
|
ibegw(ii)=proc_grid(1+ii,5);
|
|
iendw(ii)=proc_grid(1+ii,6);
|
|
ibegp(ii)=proc_grid(1+ii,7);
|
|
iendp(ii)=proc_grid(1+ii,8);
|
|
end
|
|
for ii=1:nyprocs
|
|
jbegu(ii)=proc_grid(1+nxprocs+ii,1);
|
|
jendu(ii)=proc_grid(1+nxprocs+ii,2);
|
|
jbegv(ii)=proc_grid(1+nxprocs+ii,3);
|
|
jendv(ii)=proc_grid(1+nxprocs+ii,4);
|
|
jbegw(ii)=proc_grid(1+nxprocs+ii,5);
|
|
jendw(ii)=proc_grid(1+nxprocs+ii,6);
|
|
jbegp(ii)=proc_grid(1+nxprocs+ii,7);
|
|
jendp(ii)=proc_grid(1+nxprocs+ii,8);
|
|
end
|
|
for ii=1:nzprocs
|
|
kbegu(ii)=proc_grid(1+nxprocs+nyprocs+ii,1);
|
|
kendu(ii)=proc_grid(1+nxprocs+nyprocs+ii,2);
|
|
kbegv(ii)=proc_grid(1+nxprocs+nyprocs+ii,3);
|
|
kendv(ii)=proc_grid(1+nxprocs+nyprocs+ii,4);
|
|
kbegw(ii)=proc_grid(1+nxprocs+nyprocs+ii,5);
|
|
kendw(ii)=proc_grid(1+nxprocs+nyprocs+ii,6);
|
|
kbegp(ii)=proc_grid(1+nxprocs+nyprocs+ii,7);
|
|
kendp(ii)=proc_grid(1+nxprocs+nyprocs+ii,8);
|
|
end
|
|
end
|