void LocalMultiBlockInfo3D::computeAllNormalOverlaps ( SparseBlockStructure3D const& sparseBlock ) { for (pluint iBlock=0; iBlock<myBlocks.size(); ++iBlock) { plint blockId = myBlocks[iBlock]; computeNormalOverlaps(sparseBlock, blockId); } }
void MultiDataDistribution2D::addBlock(int x0, int x1, int y0, int y1, int envelopeWidth, int procId) { OLB_PRECONDITION( x0>=0 && y0>=0 ); OLB_PRECONDITION( x1<nx && y1<ny ); OLB_PRECONDITION( x0 <= x1 && y0 <= y1 ); BlockParameters2D newBlock(x0, x1, y0, y1, envelopeWidth, procId, x0==0, x1==nx-1, y0==0, y1==ny-1); computeNormalOverlaps(newBlock); blocks.push_back(newBlock); computePeriodicOverlaps(); }