diff --git a/common/ScaLBL.cpp b/common/ScaLBL.cpp index 1bc32c5f..0c4caa81 100644 --- a/common/ScaLBL.cpp +++ b/common/ScaLBL.cpp @@ -413,12 +413,12 @@ int ScaLBL_Communicator::MemoryOptimizedLayoutAA(IntArray &Map, int *neighborLis for (k=2; k 0 ){ - Map(n) = idx++; - //neighborList[idx++] = n; // index of self in regular layout - } + // Local index (regular layout) + n = k*Nx*Ny + j*Nx + i; + if (id[n] > 0 ){ + Map(n) = idx++; + //neighborList[idx++] = n; // index of self in regular layout + } } } } @@ -543,14 +543,6 @@ int ScaLBL_Communicator::MemoryOptimizedLayoutAA(IntArray &Map, int *neighborLis } ScaLBL_CopyToDevice(dvcSendList_x,TempBuffer,sendCount_x*sizeof(int)); - - - - - - - - ScaLBL_CopyToHost(TempBuffer,dvcSendList_y,sendCount_y*sizeof(int)); for (i=0; iLastInterior(); idx++){ - if (idx == ScaLBL_Comm->LastExterior()) idx = ScaLBL_Comm->FirstInterior(); + for (int idx=0; idxLastExterior(); idx++){ + int n = TmpMap[idx]; + if (n > Nx*Ny*Nz){ + printf("Bad value! idx=%i \n"); + TmpMap[idx] = Nx*Ny*Nz-1; + } + } + for (int idx=ScaLBL_Comm->FirstInterior(); idxLastInterior(); idx++){ int n = TmpMap[idx]; if (n > Nx*Ny*Nz){ printf("Bad value! idx=%i \n");