working on segmented decomp

This commit is contained in:
James E McClure 2018-04-27 16:56:22 -04:00
parent 8b977847ff
commit 5818c261f2

View File

@ -211,8 +211,8 @@ int main(int argc, char **argv)
if (rank==0) printf("All sub-domains recieved \n"); if (rank==0) printf("All sub-domains recieved \n");
// Assign New Labels // Assign New Labels
char *LabelList; int *LabelList;
LabelList=new char[2*NLABELS]; LabelList=new int[2*NLABELS];
if (rank==0){ if (rank==0){
printf("Assigning new lablels \n"); printf("Assigning new lablels \n");
if (rank==0){ if (rank==0){
@ -224,8 +224,8 @@ int main(int argc, char **argv)
while (!iFILE.eof()){ while (!iFILE.eof()){
iFILE>>oldlabel; iFILE>>oldlabel;
iFILE>>newlabel; iFILE>>newlabel;
LabelList[2*label] = char(oldlabel); LabelList[2*label] = (oldlabel);
LabelList[2*label+1] = char(newlabel); LabelList[2*label+1] = (newlabel);
label++; label++;
} }
} }
@ -234,28 +234,28 @@ int main(int argc, char **argv)
// Set default values // Set default values
NLABELS=3; NLABELS=3;
for (int label=0; label<NLABELS; label++){ for (int label=0; label<NLABELS; label++){
LabelList[2*label] = char(label); LabelList[2*label] = (label);
LabelList[2*label+1] = char(label); LabelList[2*label+1] = (label);
} }
} }
} }
for (int label=0; label<NLABELS; label++){ for (int label=0; label<NLABELS; label++){
char oldlabel=LabelList[2*label]; int oldlabel=LabelList[2*label];
char newlabel=LabelList[2*label+1]; int newlabel=LabelList[2*label+1];
printf("Original label=%c, New label=%c \n",oldlabel,newlabel); printf("Original label=%i, New label=%i \n",oldlabel,newlabel);
} }
} }
MPI_Barrier(MPI_COMM_WORLD); MPI_Barrier(MPI_COMM_WORLD);
MPI_Bcast(LabelList,2*NLABELS,MPI_CHAR,0,MPI_COMM_WORLD); MPI_Bcast(LabelList,2*NLABELS,MPI_INT,0,MPI_COMM_WORLD);
for (k=0;k<nz;k++){ for (k=0;k<nz;k++){
for (j=0;j<ny;j++){ for (j=0;j<ny;j++){
for (i=0;i<nx;i++){ for (i=0;i<nx;i++){
n = k*nx*ny+j*nx+i; n = k*nx*ny+j*nx+i;
for (int label=0; label<NLABELS; label++){ for (int label=0; label<NLABELS; label++){
char oldlabel=LabelList[2*label]; int oldlabel=LabelList[2*label];
char newlabel=LabelList[2*label+1]; int newlabel=LabelList[2*label+1];
if (Dm.id[n]==oldlabel) Dm.id[n] = newlabel; if (Dm.id[n]==char(oldlabel)) Dm.id[n] = char(newlabel);
} }
} }
} }