137 forAll(transformElements_, i)
139 if (!transformElements_[i].empty())
141 os <<
"transform " << i <<
':' <<
nl
142 <<
" start : " << transformStart_[i] <<
nl
143 <<
" size : " << transformElements_[i].
size() <<
endl;
172 transformElements_(map.transformElements_),
173 transformStart_(map.transformStart_)
187 const label constructSize,
192 const bool subHasFlip,
193 const bool constructHasFlip,
201 std::move(constructMap),
206 transformElements_(std::move(transformElements)),
207 transformStart_(std::move(transformStart))
238 forAll(transformedElements, i)
241 label proci = globalTransforms.
processor(elem);
244 label index = globalTransforms.
index(elem);
245 label nCompact = compactMap[proci].size();
246 compactMap[proci].insert(index, nCompact);
269 forAll(transformedElements, i)
273 nPerTransform[trafoI]++;
276 transformStart_.
setSize(nTrafo);
277 transformElements_.
setSize(nTrafo);
278 forAll(transformStart_, trafoI)
282 transformElements_[trafoI].
setSize(nPerTransform[trafoI]);
288 transformedIndices.
setSize(transformedElements.
size());
289 forAll(transformedElements, i)
292 label proci = globalTransforms.
processor(elem);
293 label index = globalTransforms.
index(elem);
301 : compactMap[proci][index]
304 label&
n = nPerTransform[trafoI];
306 transformElements_[trafoI][
n] = rawElemI;
308 transformedIndices[i] = transformStart_[trafoI]+
n;
346 forAll(transformedElements, celli)
352 label proci = globalTransforms.
processor(elems[i]);
355 label index = globalTransforms.
index(elems[i]);
356 label nCompact = compactMap[proci].size();
357 compactMap[proci].insert(index, nCompact);
381 forAll(transformedElements, celli)
388 nPerTransform[trafoI]++;
392 transformStart_.
setSize(nTrafo);
393 transformElements_.
setSize(nTrafo);
394 forAll(transformStart_, trafoI)
398 transformElements_[trafoI].
setSize(nPerTransform[trafoI]);
404 transformedIndices.
setSize(transformedElements.
size());
405 forAll(transformedElements, celli)
412 label proci = globalTransforms.
processor(elems[i]);
413 label index = globalTransforms.
index(elems[i]);
421 : compactMap[proci][index]
424 label&
n = nPerTransform[trafoI];
426 transformElements_[trafoI][
n] = rawElemI;
428 transformedIndices[celli][i] = transformStart_[trafoI]+
n;
450 return findLower(transformStart_, index+1);
457 transformElements_.clear();
458 transformStart_.clear();
470 transformElements_.transfer(rhs.transformElements_);
471 transformStart_.transfer(rhs.transformStart_);
485 transformElements_ = rhs.transformElements_;
486 transformStart_ = rhs.transformStart_;
Map from edge (expressed as its endpoints) to value. For easier forward declaration it is currently i...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void setSize(const label n)
Alias for resize()
A HashTable to objects of type <T> with a label key.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void size(const label n)
Older name for setAddressableSize.
Inter-processor communications stream.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
friend Ostream & operator(Ostream &, const faMatrix< Type > &)
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
Class containing processor-to-processor mapping information.
void operator=(const mapDistributeBase &rhs)
Copy assignment.
void printLayout(Ostream &os) const
Debug: print layout. Can only be used on maps with sorted.
void calcCompactAddressing(const globalIndex &globalNumbering, const labelUList &elements, List< Map< label > > &compactMap) const
Construct per processor compact addressing of the global elements.
void exchangeAddressing(const int tag, const globalIndex &globalNumbering, labelList &elements, List< Map< label > > &compactMap, labelList &compactStart)
label comm() const noexcept
The communicator used.
void clear()
Reset to zero size, only retaining communicator.
label constructSize() const noexcept
Constructed data size.
Class containing processor-to-processor mapping information.
label whichTransform(const label index) const
Find transform from transformElements.
void operator=(const mapDistribute &rhs)
Copy assignment.
void printLayout(Ostream &os) const
Debug: print layout. Can only be used on maps with sorted.
mapDistribute()
Default construct - uses worldComm.
void transfer(mapDistribute &map)
Transfer the contents of the argument and annul the argument.
autoPtr< mapDistribute > clone() const
Clone.
void clear()
Reset to zero size, only retaining communicator.
int myProcNo() const noexcept
Return processor number.
transferModelList & transfer()
Transfer.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
OBJstream os(runTime.globalPath()/outputName)
label findLower(const ListType &input, const T &val, const label start, const ComparePredicate &comp)
Ostream & endl(Ostream &os)
Add newline and flush stream.
static constexpr const zero Zero
Global zero (0)
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.