40 void Foam::distributionMap::transform::operator()
48 void Foam::distributionMap::transform::operator()
55 void Foam::distributionMap::transform::operator()
62 void Foam::distributionMap::transform::operator()
71 void Foam::distributionMap::transform::operator()
79 void Foam::distributionMap::transform::operator()
86 void Foam::distributionMap::transform::operator()
93 void Foam::distributionMap::transform::operator()
102 void Foam::distributionMap::transform::operator()
110 void Foam::distributionMap::transform::operator()
117 void Foam::distributionMap::transform::operator()
124 void Foam::distributionMap::transform::operator()
136 forAll(transformElements_, trafoI)
138 if (transformElements_[trafoI].size() > 0)
140 os <<
"transform " << trafoI <<
':' <<
endl
141 <<
" start : " << transformStart_[trafoI] <<
endl
142 <<
" size : " << transformElements_[trafoI].
size() <<
endl;
158 const label constructSize,
161 const bool subHasFlip,
162 const bool constructHasFlip
178 const label constructSize,
183 const bool subHasFlip,
184 const bool constructHasFlip
195 transformElements_(move(transformElements)),
196 transformStart_(move(transformStart))
270 forAll(transformedElements, i)
277 label nCompact = compactMap[proci].size();
278 compactMap[proci].insert(index, nCompact);
301 forAll(transformedElements, i)
305 nPerTransform[trafoI]++;
308 transformStart_.
setSize(nTrafo);
309 transformElements_.
setSize(nTrafo);
310 forAll(transformStart_, trafoI)
314 transformElements_[trafoI].
setSize(nPerTransform[trafoI]);
320 transformedIndices.
setSize(transformedElements.
size());
321 forAll(transformedElements, i)
333 : compactMap[proci][index]
336 label&
n = nPerTransform[trafoI];
338 transformElements_[trafoI][
n] = rawElemI;
340 transformedIndices[i] = transformStart_[trafoI]+
n;
375 forAll(transformedElements, celli)
384 label index = globalTransforms.
index(elems[i]);
385 label nCompact = compactMap[proci].size();
386 compactMap[proci].insert(index, nCompact);
410 forAll(transformedElements, celli)
417 nPerTransform[trafoI]++;
421 transformStart_.
setSize(nTrafo);
422 transformElements_.
setSize(nTrafo);
423 forAll(transformStart_, trafoI)
427 transformElements_[trafoI].
setSize(nPerTransform[trafoI]);
433 transformedIndices.
setSize(transformedElements.
size());
434 forAll(transformedElements, celli)
442 label index = globalTransforms.
index(elems[i]);
450 : compactMap[proci][index]
453 label&
n = nPerTransform[trafoI];
455 transformElements_[trafoI][
n] = rawElemI;
457 transformedIndices[celli][i] = transformStart_[trafoI]+
n;
472 transformElements_(map.transformElements_),
473 transformStart_(map.transformStart_)
480 transformElements_(move(map.transformElements_)),
481 transformStart_(move(map.transformStart_))
502 return findLower(transformStart_, index+1);
509 transformElements_.transfer(rhs.transformElements_);
510 transformStart_.transfer(rhs.transformStart_);
522 <<
"Attempted assignment to self"
526 transformElements_ = rhs.transformElements_;
527 transformStart_ = rhs.transformStart_;
535 is.
fatalCheck(
"operator>>(Istream&, distributionMap&)");
538 >> map.transformElements_ >> map.transformStart_;
548 os << static_cast<const distributionMapBase&>(map) <<
token::NL
550 << map.transformStart_;
#define forAll(list, i)
Loop across all elements in list.
void fatalCheck(const char *operation) const
Check IOstream status for given operation.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
static int myProcNo(const label communicator=0)
Number of this process (starting from masterNo() = 0)
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
Class containing processor-to-processor mapping information.
label constructSize_
Size of reconstructed data.
void operator=(const distributionMapBase &)
void printLayout(Ostream &os) const
Debug: print layout. Can only be used on maps with sorted.
void transfer(distributionMapBase &)
Transfer the contents of the argument and annul the argument.
void calcCompactAddressing(const globalIndex &globalNumbering, const labelList &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)
Class containing processor-to-processor mapping information.
label whichTransform(const label index) const
Find transform from transformElements.
void printLayout(Ostream &os) const
Debug: print layout. Can only be used on maps with sorted.
void transfer(distributionMap &)
Transfer the contents of the argument and annul the argument.
autoPtr< distributionMap > clone() const
Clone.
void operator=(const distributionMap &)
distributionMap()
Construct null.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
label findLower(const ListType &, typename ListType::const_reference, const label stary, const BinaryOp &bop)
Find last element < given value in sorted list and return index,.
errorManip< error > abort(error &err)
Istream & operator>>(Istream &, pistonPointEdgeData &)
defineTypeNameAndDebug(combustionModel, 0)
prefixOSstream Pout(cout, "Pout")
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)