60 dataToSend[i].neighbourRange(minCoord, maxCoord);
68 if( maxCoord >= neiRange_[procI].first() )
70 if( minCoord <= neiRange_[procI].second() )
72 toProcs[procI].
append(dataToSend[i]);
89 this->findAllLeafNeighbours(dataToSend[i], neighs);
95 if( minCoord <= neiRange_[j].second() )
96 Pout <<
"Min coord " << minCoord <<
" is smaller "
97 <<
"than " << neiRange_[j].first() <<
endl;
98 if( maxCoord >= neiRange_[j].first() )
99 Pout <<
"Max coord " << maxCoord <<
" is greater "
100 <<
"than " << neiRange_[j].second() <<
endl;
103 FatalError <<
"Box " << dataToSend[i] <<
" is not sent"
104 <<
" minCoord " << minCoord
105 <<
" maxCoord " << maxCoord
106 <<
" neighbours " << neiProcs_
107 <<
" neiRange_ " << neiRange_
115 forAll(neiProcs_, neiProcI)
124 toOtherProc << toProcs[neiProcI].
size();
127 labelList sizeOfOtherProc(neiProcs_.size());
128 forAll(neiProcs_, neiProcI)
137 fromOtherProc >> sizeOfOtherProc[neiProcI];
142 forAll(neiProcs_, neiProcI)
144 if( sizeOfOtherProc[neiProcI] == 0 )
154 forAll(neiProcs_, neiProcI)
156 if( toProcs[neiProcI].size() == 0 )
163 toOtherProc << toProcs[neiProcI];
169 if( sizeOfOtherProc[neiProcI] == 0 )
181 if( toProcs[neiProcI].size() == 0 )
188 toOtherProc << toProcs[neiProcI];
219 dataToSend[i].neighbourRange(minCoord, maxCoord);
221 const scalar size = dataToSend[i].
size(rootBox_);
222 const label nLayers = ceil(rangesToSend[i] / size);
227 minCoord.
posX() - nLayers,
228 minCoord.
posY() - nLayers,
229 minCoord.
posZ() - nLayers,
235 nLayers + maxCoord.
posX(),
236 nLayers + maxCoord.
posY(),
237 nLayers + maxCoord.
posZ(),
247 if( maxCoord >= neiRange_[procI].first() )
249 if( minCoord <= neiRange_[procI].second() )
251 toProcs[procI].
append(dataToSend[i]);
252 attributesToProcs[procI].
append(rangesToSend[i]);
267 forAll(neiProcs_, neiProcI)
276 toOtherProc << toProcs[neiProcI].
size();
279 labelList sizeOfOtherProc(neiProcs_.size());
280 forAll(neiProcs_, neiProcI)
289 fromOtherProc >> sizeOfOtherProc[neiProcI];
294 forAll(neiProcs_, neiProcI)
296 if( sizeOfOtherProc[neiProcI] == 0 )
307 forAll(neiProcs_, neiProcI)
309 if( toProcs[neiProcI].size() == 0 )
316 toOtherProc << toProcs[neiProcI];
322 if( sizeOfOtherProc[neiProcI] == 0 )
335 if( toProcs[neiProcI].size() == 0 )
342 toOtherProc << toProcs[neiProcI];
348 forAll(neiProcs_, neiProcI)
350 if( sizeOfOtherProc[neiProcI] == 0 )
361 forAll(neiProcs_, neiProcI)
363 if( toProcs[neiProcI].size() == 0 )
373 attributesToProcs[neiProcI].byteSize()
376 toOtherProc << attributesToProcs[neiProcI];
382 if( sizeOfOtherProc[neiProcI] == 0 )
395 if( toProcs[neiProcI].size() == 0 )
405 attributesToProcs[neiProcI].byteSize()
408 toOtherProc << attributesToProcs[neiProcI];