fix relable bug

This commit is contained in:
JamesEMcclure
2019-10-01 14:26:48 -04:00
parent 6fb255c7ed
commit c52ff20519
3 changed files with 19 additions and 19 deletions

View File

@@ -362,10 +362,10 @@ void Domain::Decomp(std::string Filename)
// relabel the data // relabel the data
std::vector<long int> LabelCount(ReadValues.size(),0); std::vector<long int> LabelCount(ReadValues.size(),0);
for (int k = 0; k<Nz; k++){ for (int k = 0; k<global_Nz; k++){
for (int j = 0; j<Ny; j++){ for (int j = 0; j<global_Ny; j++){
for (int i = 0; i<Nx; i++){ for (int i = 0; i<global_Nx; i++){
n = k*Nx*Ny+j*Nx+i; n = k*global_Nx*global_Ny+j*global_Nx+i;
//char locval = loc_id[n]; //char locval = loc_id[n];
char locval = SegData[n]; char locval = SegData[n];
for (int idx=0; idx<ReadValues.size(); idx++){ for (int idx=0; idx<ReadValues.size(); idx++){

View File

@@ -32,20 +32,13 @@ int main(int argc, char **argv)
//....................................................................... //.......................................................................
// Reading the domain information file // Reading the domain information file
//....................................................................... //.......................................................................
int nprocx, nprocy, nprocz, nx, ny, nz, nspheres; int n, nprocx, nprocy, nprocz, nx, ny, nz;
double Lx, Ly, Lz;
int i,j,k,n;
int BC=0;
// char fluidValue,solidValue;
int MAXTIME=1000;
int READ_FROM_BLOCK=0;
char LocalRankString[8]; char LocalRankString[8];
char LocalRankFilename[40]; char LocalRankFilename[40];
char FILENAME[64]; char FILENAME[128];
string filename; string filename;
double Rcrit_new, SW; double SW,Rcrit_new;
if (argc > 1){ if (argc > 1){
filename=argv[1]; filename=argv[1];
Rcrit_new=0.f; Rcrit_new=0.f;
@@ -109,9 +102,13 @@ int main(int argc, char **argv)
for (int j=0;j<ny;j++){ for (int j=0;j<ny;j++){
for (int i=0;i<nx;i++){ for (int i=0;i<nx;i++){
int n = k*nx*ny+j*nx+i; int n = k*nx*ny+j*nx+i;
id[n] = Mask->id[n];
// Initialize the solid phase // Initialize the solid phase
if (Mask->id[n] > 0) id_solid(i,j,k) = 1; if (Mask->id[n] > 0){
else id_solid(i,j,k) = 0; id_solid(i,j,k) = 1;
}
else
id_solid(i,j,k) = 0;
} }
} }
} }
@@ -205,9 +202,12 @@ int main(int argc, char **argv)
} }
} }
} }
sprintf(FILENAME,READFILE.c_str(),"morphdrain.raw"); MPI_Barrier(comm);
Mask->AggregateLabels(FILENAME);
sprintf(FILENAME,READFILE.c_str());
sprintf(FILENAME+strlen(FILENAME),".morphdrain.raw");
if (rank==0) printf("Writing file to: %s \n", FILENAME);
Mask->AggregateLabels(FILENAME);
} }
MPI_Barrier(comm); MPI_Barrier(comm);