Updating I/O pattern for lbpm_refine_pp
This commit is contained in:
@@ -155,6 +155,116 @@ int main(int argc, char **argv)
|
||||
fwrite(RefinedSignDist.data(),8,rnx*rny*rnz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
DoubleArray BlockDist(nx,ny,nz);
|
||||
int writerank;
|
||||
|
||||
// Write output blocks with the same sub-domain size as origina
|
||||
// refinement increases the size of the process grid
|
||||
writerank = 8*kproc*nprocx*nprocy + 4*jproc*nprocx + 2*iproc;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i,j,k);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
writerank = 8*kproc*nprocx*nprocy + 4*jproc*nprocx + 2*iproc+1;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i+nx,j,k);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
writerank = (2*kproc)*4*nprocx*nprocy + (2*jproc+1)*2*nprocx + 2*iproc+1;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i+nx,j+ny,k);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
writerank = (2*kproc)*4*nprocx*nprocy + (2*jproc+1)*2*nprocx + 2*iproc;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i,j+ny,k);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
writerank = (2*kproc+1)*4*nprocx*nprocy + (2*jproc)*2*nprocx + 2*iproc;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i,j,k+nz);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
writerank = (2*kproc+1)*4*nprocx*nprocy + (2*jproc)*2*nprocx + 2*iproc+1;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i+nx,j,k+nz);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
writerank = (2*kproc+1)*4*nprocx*nprocy + (2*jproc+1)*2*nprocx + 2*iproc;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i,j+ny,k+nz);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
writerank = (2*kproc+1)*4*nprocx*nprocy + (2*jproc+1)*2*nprocx + 2*iproc+1;
|
||||
for (int k=0; k<nz; k++){
|
||||
for (int j=0; j<ny; j++){
|
||||
for (int i=0; i<nx; i++){
|
||||
BlockDist(i,j,k) = RefinedSignDist(i+nx,j+ny,k+nz);
|
||||
}
|
||||
}
|
||||
}
|
||||
sprintf(LocalRankFilename,"RefineDist.%05i",writerank);
|
||||
REFINEDIST = fopen(LocalRankFilename,"wb");
|
||||
fwrite(BlockDist.data(),8,nx*ny*nz,REFINEDIST);
|
||||
fclose(REFINEDIST);
|
||||
|
||||
|
||||
}
|
||||
MPI_Barrier(comm);
|
||||
MPI_Finalize();
|
||||
|
||||
Reference in New Issue
Block a user