Class containing processor-to-processor mapping information. More...
Public Member Functions | |
ClassName ("mapDistributeBase") | |
mapDistributeBase () | |
Construct null. More... | |
mapDistributeBase (const label constructSize, const Xfer< labelListList > &subMap, const Xfer< labelListList > &constructMap, const bool subHasFlip=false, const bool constructHasFlip=false) | |
Construct from components. More... | |
mapDistributeBase (const labelList &sendProcs, const labelList &recvProcs) | |
Construct from reverse addressing: per data item the send. More... | |
mapDistributeBase (const globalIndex &, labelList &elements, List< Map< label >> &compactMap, const int tag=Pstream::msgType()) | |
Construct from list of (possibly) remote elements in globalIndex. More... | |
mapDistributeBase (const globalIndex &, labelListList &cellCells, List< Map< label >> &compactMap, const int tag=Pstream::msgType()) | |
Special variant that works with the info sorted into bins. More... | |
mapDistributeBase (const Xfer< mapDistributeBase > &) | |
Construct by transferring parameter content. More... | |
mapDistributeBase (const mapDistributeBase &) | |
Construct copy. More... | |
mapDistributeBase (Istream &) | |
Construct from Istream. More... | |
label | constructSize () const |
Constructed data size. More... | |
label & | constructSize () |
Constructed data size. More... | |
const labelListList & | subMap () const |
From subsetted data back to original data. More... | |
labelListList & | subMap () |
From subsetted data back to original data. More... | |
const labelListList & | constructMap () const |
From subsetted data to new reconstructed data. More... | |
labelListList & | constructMap () |
From subsetted data to new reconstructed data. More... | |
bool | subHasFlip () const |
Does subMap include a sign. More... | |
bool & | subHasFlip () |
Does subMap include a sign. More... | |
bool | constructHasFlip () const |
Does constructMap include a sign. More... | |
bool & | constructHasFlip () |
Does constructMap include a sign. More... | |
const List< labelPair > & | schedule () const |
Return a schedule. Demand driven. See above. More... | |
void | transfer (mapDistributeBase &) |
Transfer the contents of the argument and annul the argument. More... | |
Xfer< mapDistributeBase > | xfer () |
Transfer contents to the Xfer container. More... | |
void | compact (const boolList &elemIsUsed, const int tag=UPstream::msgType()) |
Compact maps. Gets per field a bool whether it is used (locally) More... | |
void | compact (const boolList &elemIsUsed, const label localSize, labelList &oldToNewSub, labelList &oldToNewConstruct, const int tag=UPstream::msgType()) |
Compact all maps and layout. Returns compaction maps for. More... | |
template<class T > | |
void | distribute (List< T > &fld, const int tag=UPstream::msgType()) const |
Distribute data using default commsType. More... | |
template<class T , class negateOp > | |
void | distribute (List< T > &fld, const negateOp &negOp, const int tag=UPstream::msgType()) const |
Distribute data using default commsType. More... | |
template<class T > | |
void | distribute (DynamicList< T > &fld, const int tag=UPstream::msgType()) const |
Distribute data using default commsType. More... | |
template<class T > | |
void | reverseDistribute (const label constructSize, List< T > &, const int tag=UPstream::msgType()) const |
Reverse distribute data using default commsType. More... | |
template<class T > | |
void | reverseDistribute (const label constructSize, const T &nullValue, List< T > &fld, const int tag=UPstream::msgType()) const |
Reverse distribute data using default commsType. More... | |
template<class T > | |
void | send (PstreamBuffers &, const List< T > &) const |
Do all sends using PstreamBuffers. More... | |
template<class T > | |
void | receive (PstreamBuffers &, List< T > &) const |
Do all receives using PstreamBuffers. More... | |
void | printLayout (Ostream &os) const |
Debug: print layout. Can only be used on maps with sorted. More... | |
void | updateMesh (const mapPolyMesh &) |
Correct for topo change. More... | |
void | operator= (const mapDistributeBase &) |
Static Public Member Functions | |
static List< labelPair > | schedule (const labelListList &subMap, const labelListList &constructMap, const int tag) |
Calculate a schedule. See above. More... | |
static label | renumber (const globalIndex &, const List< Map< label >> &compactMap, const label globalElement) |
Helper for construct from globalIndex. Renumbers element. More... | |
template<class T , class negateOp > | |
static void | distribute (const Pstream::commsTypes commsType, const List< labelPair > &schedule, const label constructSize, const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, List< T > &, const negateOp &negOp, const int tag=UPstream::msgType()) |
Distribute data. Note:schedule only used for Pstream::scheduled. More... | |
template<class T , class CombineOp , class negateOp > | |
static void | distribute (const Pstream::commsTypes commsType, const List< labelPair > &schedule, const label constructSize, const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, List< T > &, const CombineOp &cop, const negateOp &negOp, const T &nullValue, const int tag=UPstream::msgType()) |
Distribute data. If multiple processors writing to same. More... | |
Protected Member Functions | |
void | calcCompactAddressing (const globalIndex &globalNumbering, const labelList &elements, List< Map< label >> &compactMap) const |
Construct per processor compact addressing of the global elements. More... | |
void | calcCompactAddressing (const globalIndex &globalNumbering, const labelListList &elements, List< Map< label >> &compactMap) const |
void | exchangeAddressing (const int tag, const globalIndex &globalNumbering, labelList &elements, List< Map< label >> &compactMap, labelList &compactStart) |
void | exchangeAddressing (const int tag, const globalIndex &globalNumbering, labelListList &elements, List< Map< label >> &compactMap, labelList &compactStart) |
Static Protected Member Functions | |
static void | checkReceivedSize (const label proci, const label expectedSize, const label receivedSize) |
template<class T , class CombineOp , class negateOp > | |
static void | flipAndCombine (const UList< label > &map, const bool hasFlip, const UList< T > &rhs, const CombineOp &cop, const negateOp &negOp, List< T > &lhs) |
template<class T , class negateOp > | |
static T | accessAndFlip (const UList< T > &fld, const label index, const bool hasFlip, const negateOp &negOp) |
Protected Attributes | |
label | constructSize_ |
Size of reconstructed data. More... | |
labelListList | subMap_ |
Maps from subsetted data back to original data. More... | |
labelListList | constructMap_ |
Maps from subsetted data to new reconstructed data. More... | |
bool | subHasFlip_ |
Whether subMap includes flip or not. More... | |
bool | constructHasFlip_ |
Whether constructMap includes flip or not. More... | |
autoPtr< List< labelPair > > | schedulePtr_ |
Schedule. More... | |
Friends | |
Istream & | operator>> (Istream &, mapDistributeBase &) |
Read dictionary from Istream. More... | |
Ostream & | operator<< (Ostream &, const mapDistributeBase &) |
Write dictionary to Ostream. More... | |
Class containing processor-to-processor mapping information.
We store mapping from the bits-to-send to the complete starting list (subXXXMap) and from the received bits to their location in the new list (constructXXXMap).
Note: Schedule is a list of processor pairs (one send, one receive. One of them will be myself) which forms a scheduled (i.e. non-buffered) exchange. See distribute on how to use it. Note2: number of items sent on one processor have to equal the number of items received on the other processor.
To aid constructing these maps there are the constructors from global numbering, either with or without transforms.
Constructors using compact numbering: layout is
It rewrites the input global indices into indices into the constructed data.
When constructing from components optionally a 'flip' on the maps can be specified. This will interpret the map values as index+flip, similar to e.g. faceProcAddressing. The flip will only be applied to fieldTypes (scalar, vector, .. triad)
Definition at line 100 of file mapDistributeBase.H.
Construct null.
Definition at line 547 of file mapDistributeBase.C.
Referenced by mapDistributeBase::mapDistributeBase().
mapDistributeBase | ( | const label | constructSize, |
const Xfer< labelListList > & | subMap, | ||
const Xfer< labelListList > & | constructMap, | ||
const bool | subHasFlip = false , |
||
const bool | constructHasFlip = false |
||
) |
Construct from components.
Definition at line 557 of file mapDistributeBase.C.
References mapDistributeBase::mapDistributeBase().
mapDistributeBase | ( | const labelList & | sendProcs, |
const labelList & | recvProcs | ||
) |
Construct from reverse addressing: per data item the send.
processor and the receive processor. (note: data is not stored sorted per processor so cannot use printLayout).
Definition at line 575 of file mapDistributeBase.C.
References Foam::abort(), mapDistributeBase::constructMap_, mapDistributeBase::constructSize_, Foam::FatalError, FatalErrorInFunction, forAll, mapDistributeBase::mapDistributeBase(), UPstream::myProcNo(), UPstream::nProcs(), List< T >::setSize(), List< T >::size(), and mapDistributeBase::subMap_.
mapDistributeBase | ( | const globalIndex & | globalNumbering, |
labelList & | elements, | ||
List< Map< label >> & | compactMap, | ||
const int | tag = Pstream::msgType() |
||
) |
Construct from list of (possibly) remote elements in globalIndex.
numbering (or -1). Determines compact numbering (see above) and distribute map to get data into this ordering and renumbers the elements to be in compact numbering.
Definition at line 649 of file mapDistributeBase.C.
References mapDistributeBase::calcCompactAddressing(), mapDistributeBase::exchangeAddressing(), mapDistributeBase::mapDistributeBase(), Foam::Pout, and mapDistributeBase::printLayout().
mapDistributeBase | ( | const globalIndex & | globalNumbering, |
labelListList & | cellCells, | ||
List< Map< label >> & | compactMap, | ||
const int | tag = Pstream::msgType() |
||
) |
Special variant that works with the info sorted into bins.
according to local indices. E.g. think cellCells where cellCells[localCellI] is a list of global cells
Definition at line 709 of file mapDistributeBase.C.
References mapDistributeBase::calcCompactAddressing(), mapDistributeBase::exchangeAddressing(), Foam::Pout, and mapDistributeBase::printLayout().
mapDistributeBase | ( | const Xfer< mapDistributeBase > & | map | ) |
Construct by transferring parameter content.
Definition at line 779 of file mapDistributeBase.C.
mapDistributeBase | ( | const mapDistributeBase & | map | ) |
Construct copy.
Definition at line 768 of file mapDistributeBase.C.
mapDistributeBase | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 790 of file mapDistributeBase.C.
|
staticprotected |
Definition at line 185 of file mapDistributeBase.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
Referenced by mapDistributeBase::schedule().
|
protected |
Construct per processor compact addressing of the global elements.
needed. The ones from the local processor are not included since these are always all needed.
Definition at line 277 of file mapDistributeBase.C.
References forAll, globalIndex::isLocal(), UPstream::myProcNo(), UPstream::nProcs(), globalIndex::toLocal(), and globalIndex::whichProcID().
Referenced by mapDistribute::mapDistribute(), mapDistributeBase::mapDistributeBase(), and mapDistributeBase::printLayout().
|
protected |
Definition at line 326 of file mapDistributeBase.C.
References mapDistributeBase::exchangeAddressing(), forAll, globalIndex::isLocal(), UPstream::myProcNo(), UPstream::nProcs(), globalIndex::toLocal(), and globalIndex::whichProcID().
|
protected |
Definition at line 385 of file mapDistributeBase.C.
References forAll, forAllIter, Foam::identity(), globalIndex::localSize(), UPstream::myProcNo(), UPstream::nProcs(), Foam::renumber(), List< T >::setSize(), List< T >::size(), and UPstream::worldComm.
Referenced by mapDistributeBase::calcCompactAddressing(), mapDistribute::mapDistribute(), and mapDistributeBase::mapDistributeBase().
|
protected |
Definition at line 463 of file mapDistributeBase.C.
References forAll, forAllIter, Foam::identity(), globalIndex::localSize(), UPstream::myProcNo(), UPstream::nProcs(), Foam::renumber(), List< T >::setSize(), List< T >::size(), and UPstream::worldComm.
|
staticprotected |
Definition at line 35 of file mapDistributeBaseTemplates.C.
References mapDistributeBase::accessAndFlip(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, UList< T >::size(), and T.
Referenced by mapDistributeBase::receive().
|
staticprotected |
Definition at line 80 of file mapDistributeBaseTemplates.C.
References mapDistributeBase::distribute(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, UList< T >::size(), and T.
Referenced by mapDistributeBase::compact(), mapDistributeBase::flipAndCombine(), and mapDistributeBase::send().
ClassName | ( | "mapDistributeBase" | ) |
|
inline |
Constructed data size.
Definition at line 257 of file mapDistributeBase.H.
References mapDistributeBase::constructSize_.
Referenced by extendedCellToFaceStencil::collectData(), extendedFaceToCellStencil::collectData(), mapDistributeBase::constructHasFlip(), PointEdgeWave< Type, TrackingData >::countPatchType(), PatchTools::edgeNormals(), globalMeshData::mergePoints(), minEqOp< labelPair >::operator()(), mapDistribute::transformPosition::operator()(), PatchTools::pointNormals(), distributedWeightedFvPatchFieldMapper::size(), syncTools::syncEdgeList(), syncTools::syncPointList(), pointConstraints::syncUntransformedData(), mapDistribute::transformStart(), and AMIInterpolation< SourcePatch, TargetPatch >::wordTointerpolationMethod().
|
inline |
Constructed data size.
Definition at line 263 of file mapDistributeBase.H.
References mapDistributeBase::constructSize_.
|
inline |
From subsetted data back to original data.
Definition at line 269 of file mapDistributeBase.H.
References mapDistributeBase::subMap_.
Referenced by mapDistributeBase::constructHasFlip(), refinementHistory::distribute(), meshToMesh::mapAndOpTgtToSrc(), mapDistribute::transformPosition::operator()(), InteractionLists< ParticleType >::sendReferredData(), AMIInterpolation< SourcePatch, TargetPatch >::update(), AMIInterpolation< SourcePatch, TargetPatch >::wordTointerpolationMethod(), and extendedCellToFaceStencil::writeStencilStats().
|
inline |
From subsetted data back to original data.
Definition at line 275 of file mapDistributeBase.H.
References mapDistributeBase::subMap_.
|
inline |
From subsetted data to new reconstructed data.
Definition at line 281 of file mapDistributeBase.H.
References mapDistributeBase::constructMap_.
Referenced by mapDistributeBase::constructHasFlip(), refinementHistory::distribute(), meshToMesh::mapAndOpTgtToSrc(), mapDistribute::transformPosition::operator()(), InteractionLists< ParticleType >::receiveReferredData(), AMIInterpolation< SourcePatch, TargetPatch >::update(), and AMIInterpolation< SourcePatch, TargetPatch >::wordTointerpolationMethod().
|
inline |
From subsetted data to new reconstructed data.
Definition at line 287 of file mapDistributeBase.H.
References mapDistributeBase::constructMap_.
|
inline |
Does subMap include a sign.
Definition at line 293 of file mapDistributeBase.H.
References mapDistributeBase::subHasFlip_.
Referenced by mapDistributeBase::constructHasFlip(), and mapDistribute::transformPosition::operator()().
|
inline |
Does subMap include a sign.
Definition at line 299 of file mapDistributeBase.H.
References mapDistributeBase::subHasFlip_.
|
inline |
Does constructMap include a sign.
Definition at line 305 of file mapDistributeBase.H.
References mapDistributeBase::constructHasFlip_.
Referenced by mapDistributeBase::constructHasFlip(), and mapDistribute::transformPosition::operator()().
|
inline |
Does constructMap include a sign.
Definition at line 311 of file mapDistributeBase.H.
References mapDistributeBase::compact(), mapDistributeBase::constructHasFlip(), mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap(), mapDistributeBase::constructSize(), mapDistributeBase::distribute(), fld(), UPstream::msgType(), mapDistributeBase::printLayout(), mapDistributeBase::receive(), mapDistributeBase::renumber(), mapDistributeBase::reverseDistribute(), mapDistributeBase::schedule(), mapDistributeBase::send(), mapDistributeBase::subHasFlip(), mapDistributeBase::subMap(), Foam::T(), mapDistributeBase::transfer(), and mapDistributeBase::xfer().
|
static |
Calculate a schedule. See above.
Definition at line 43 of file mapDistributeBase.C.
References Foam::findIndex(), UPstream::firstSlave(), forAll, HashSet< Key, Hash >::insert(), UPstream::lastSlave(), UPstream::master(), UPstream::masterNo(), UPstream::myProcNo(), UPstream::nProcs(), UPstream::scheduled, List< T >::setSize(), List< T >::size(), and HashTable< nil, Key, Hash >::toc().
const Foam::List< Foam::labelPair > & schedule | ( | ) | const |
Return a schedule. Demand driven. See above.
Definition at line 168 of file mapDistributeBase.C.
References mapDistributeBase::checkReceivedSize(), and UPstream::msgType().
Referenced by mapDistributeBase::constructHasFlip(), mapDistributeBase::distribute(), and mapDistributeBase::reverseDistribute().
void transfer | ( | mapDistributeBase & | rhs | ) |
Transfer the contents of the argument and annul the argument.
Definition at line 798 of file mapDistributeBase.C.
References mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, mapDistributeBase::constructSize_, mapDistributeBase::schedulePtr_, mapDistributeBase::subHasFlip_, mapDistributeBase::subMap_, and List< T >::transfer().
Referenced by mapDistributeBase::constructHasFlip(), and mapDistribute::transfer().
Foam::Xfer< Foam::mapDistributeBase > xfer | ( | ) |
Transfer contents to the Xfer container.
Definition at line 809 of file mapDistributeBase.C.
References mapDistributeBase::renumber(), and Foam::xferMove().
Referenced by mapDistributeBase::constructHasFlip().
|
static |
Helper for construct from globalIndex. Renumbers element.
(in globalIndex numbering) into compact indices.
Definition at line 816 of file mapDistributeBase.C.
References globalIndex::isLocal(), globalIndex::toLocal(), and globalIndex::whichProcID().
Referenced by mapDistributeBase::constructHasFlip(), and mapDistributeBase::xfer().
void compact | ( | const boolList & | elemIsUsed, |
const int | tag = UPstream::msgType() |
||
) |
Compact maps. Gets per field a bool whether it is used (locally)
and works out itself what this side and sender side can remove from maps. Only compacts non-local elements (i.e. the stuff that gets sent over), does not change the local layout
Definition at line 839 of file mapDistributeBase.C.
References mapDistributeBase::accessAndFlip(), UList< T >::begin(), mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, mapDistributeBase::constructSize_, forAll, Foam::mag(), Foam::max(), UPstream::myProcNo(), UPstream::nonBlocking, UPstream::nProcs(), UPstream::nRequests(), UPstream::parRun(), UIPstream::read(), mapDistributeBase::schedulePtr_, List< T >::setSize(), List< T >::size(), mapDistributeBase::subMap_, List< T >::transfer(), UPstream::waitRequests(), and UOPstream::write().
Referenced by mapDistributeBase::constructHasFlip().
void compact | ( | const boolList & | elemIsUsed, |
const label | localSize, | ||
labelList & | oldToNewSub, | ||
labelList & | oldToNewConstruct, | ||
const int | tag = UPstream::msgType() |
||
) |
Compact all maps and layout. Returns compaction maps for.
subMap and constructMap
Definition at line 1000 of file mapDistributeBase.C.
References UList< T >::begin(), mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, mapDistributeBase::constructSize_, forAll, Foam::mag(), UPstream::myProcNo(), UPstream::nonBlocking, UPstream::nProcs(), UPstream::nRequests(), UPstream::parRun(), UIPstream::read(), List< T >::setSize(), Foam::sign(), List< T >::size(), mapDistributeBase::subHasFlip_, mapDistributeBase::subMap_, List< T >::transfer(), UPstream::waitRequests(), and UOPstream::write().
|
static |
Distribute data. Note:schedule only used for Pstream::scheduled.
for now, all others just use send-to-all, receive-from-all.
Definition at line 119 of file mapDistributeBaseTemplates.C.
References Foam::abort(), UList< T >::begin(), UList< T >::byteSize(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, Foam::read(), List< T >::setSize(), List< T >::size(), List< T >::transfer(), and write().
Referenced by mapDistributeBase::accessAndFlip(), Field< Type >::autoMap(), mapDistributeBase::constructHasFlip(), mapDistributeBase::distribute(), mappedPatchBase::distribute(), mapDistribute::distribute(), Field< Type >::map(), meshToMesh::mapAndOpTgtToSrc(), mapDistributeBase::receive(), mapDistributeBase::reverseDistribute(), mappedPatchBase::reverseDistribute(), streamLine::write(), and wallBoundedStreamLine::write().
|
static |
Distribute data. If multiple processors writing to same.
position adds contributions using cop.
Definition at line 603 of file mapDistributeBaseTemplates.C.
References Foam::abort(), UList< T >::begin(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, Foam::read(), List< T >::setSize(), List< T >::size(), T, List< T >::transfer(), and write().
void distribute | ( | List< T > & | fld, |
const int | tag = UPstream::msgType() |
||
) | const |
Distribute data using default commsType.
Definition at line 1212 of file mapDistributeBaseTemplates.C.
References mapDistributeBase::distribute().
void distribute | ( | List< T > & | fld, |
const negateOp & | negOp, | ||
const int | tag = UPstream::msgType() |
||
) | const |
Distribute data using default commsType.
Definition at line 1152 of file mapDistributeBaseTemplates.C.
References UPstream::blocking, mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, mapDistributeBase::constructSize_, UPstream::defaultCommsType, mapDistributeBase::distribute(), UPstream::nonBlocking, mapDistributeBase::schedule(), UPstream::scheduled, mapDistributeBase::subHasFlip_, and mapDistributeBase::subMap_.
void distribute | ( | DynamicList< T > & | fld, |
const int | tag = UPstream::msgType() |
||
) | const |
Distribute data using default commsType.
Definition at line 1224 of file mapDistributeBaseTemplates.C.
References mapDistributeBase::distribute(), fld(), mapDistributeBase::reverseDistribute(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::setCapacity(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::shrink(), and List< T >::size().
void reverseDistribute | ( | const label | constructSize, |
List< T > & | fld, | ||
const int | tag = UPstream::msgType() |
||
) | const |
Reverse distribute data using default commsType.
Definition at line 1242 of file mapDistributeBaseTemplates.C.
References UPstream::blocking, mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, UPstream::defaultCommsType, mapDistributeBase::distribute(), UPstream::nonBlocking, mapDistributeBase::schedule(), UPstream::scheduled, mapDistributeBase::subHasFlip_, and mapDistributeBase::subMap_.
Referenced by mapDistributeBase::constructHasFlip(), mapDistributeBase::distribute(), and mapDistribute::reverseDistribute().
void reverseDistribute | ( | const label | constructSize, |
const T & | nullValue, | ||
List< T > & | fld, | ||
const int | tag = UPstream::msgType() |
||
) | const |
Reverse distribute data using default commsType.
Since constructSize might be larger than supplied size supply a nullValue
Definition at line 1304 of file mapDistributeBaseTemplates.C.
References UPstream::blocking, mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, UPstream::defaultCommsType, mapDistributeBase::distribute(), UPstream::nonBlocking, mapDistributeBase::schedule(), UPstream::scheduled, mapDistributeBase::subHasFlip_, and mapDistributeBase::subMap_.
void send | ( | PstreamBuffers & | pBufs, |
const List< T > & | field | ||
) | const |
Do all sends using PstreamBuffers.
Definition at line 1077 of file mapDistributeBaseTemplates.C.
References mapDistributeBase::accessAndFlip(), PstreamBuffers::finishedSends(), forAll, UPstream::nProcs(), List< T >::size(), mapDistributeBase::subHasFlip_, and mapDistributeBase::subMap_.
Referenced by mapDistributeBase::constructHasFlip(), and InteractionLists< ParticleType >::sendReferredData().
void receive | ( | PstreamBuffers & | pBufs, |
List< T > & | field | ||
) | const |
Do all receives using PstreamBuffers.
Definition at line 1111 of file mapDistributeBaseTemplates.C.
References Foam::abort(), mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, mapDistributeBase::constructSize_, mapDistributeBase::distribute(), Foam::FatalError, FatalErrorInFunction, mapDistributeBase::flipAndCombine(), UPstream::nProcs(), List< T >::setSize(), and List< T >::size().
Referenced by mapDistributeBase::constructHasFlip(), and InteractionLists< ParticleType >::receiveReferredData().
void printLayout | ( | Ostream & | os | ) | const |
Debug: print layout. Can only be used on maps with sorted.
storage (local data first, then non-local data)
Definition at line 202 of file mapDistributeBase.C.
References Foam::abort(), mapDistributeBase::calcCompactAddressing(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::labelMax, Foam::labelMin, Foam::mag(), Foam::max(), Foam::min(), UPstream::myProcNo(), and UPstream::nProcs().
Referenced by mapDistributeBase::constructHasFlip(), mapDistributeBase::mapDistributeBase(), and mapDistribute::printLayout().
|
inline |
Correct for topo change.
Definition at line 460 of file mapDistributeBase.H.
References NotImplemented, mapDistributeBase::operator<<, mapDistributeBase::operator=(), and mapDistributeBase::operator>>.
void operator= | ( | const mapDistributeBase & | rhs | ) |
Definition at line 1223 of file mapDistributeBase.C.
References Foam::abort(), mapDistributeBase::constructHasFlip_, mapDistributeBase::constructMap_, mapDistributeBase::constructSize_, Foam::FatalError, FatalErrorInFunction, mapDistributeBase::schedulePtr_, mapDistributeBase::subHasFlip_, and mapDistributeBase::subMap_.
Referenced by mapDistribute::operator=(), and mapDistributeBase::updateMesh().
|
friend |
Read dictionary from Istream.
Referenced by mapDistributeBase::updateMesh().
|
friend |
Write dictionary to Ostream.
Referenced by mapDistributeBase::updateMesh().
|
protected |
Size of reconstructed data.
Definition at line 107 of file mapDistributeBase.H.
Referenced by mapDistributeBase::compact(), mapDistributeBase::constructSize(), mapDistributeBase::distribute(), mapDistribute::mapDistribute(), mapDistributeBase::mapDistributeBase(), Foam::operator<<(), mapDistributeBase::operator=(), Foam::operator>>(), mapDistributeBase::receive(), and mapDistributeBase::transfer().
|
protected |
Maps from subsetted data back to original data.
Definition at line 110 of file mapDistributeBase.H.
Referenced by mapDistributeBase::compact(), mapDistributeBase::distribute(), mapDistributeBase::mapDistributeBase(), Foam::operator<<(), mapDistributeBase::operator=(), Foam::operator>>(), mapDistributeBase::reverseDistribute(), mapDistributeBase::send(), mapDistributeBase::subMap(), and mapDistributeBase::transfer().
|
protected |
Maps from subsetted data to new reconstructed data.
Definition at line 113 of file mapDistributeBase.H.
Referenced by mapDistributeBase::compact(), mapDistributeBase::constructMap(), mapDistributeBase::distribute(), mapDistributeBase::mapDistributeBase(), Foam::operator<<(), mapDistributeBase::operator=(), Foam::operator>>(), mapDistributeBase::receive(), mapDistributeBase::reverseDistribute(), and mapDistributeBase::transfer().
|
protected |
Whether subMap includes flip or not.
Definition at line 116 of file mapDistributeBase.H.
Referenced by mapDistributeBase::compact(), mapDistributeBase::distribute(), Foam::operator<<(), mapDistributeBase::operator=(), Foam::operator>>(), mapDistributeBase::reverseDistribute(), mapDistributeBase::send(), mapDistributeBase::subHasFlip(), and mapDistributeBase::transfer().
|
protected |
Whether constructMap includes flip or not.
Definition at line 119 of file mapDistributeBase.H.
Referenced by mapDistributeBase::compact(), mapDistributeBase::constructHasFlip(), mapDistributeBase::distribute(), Foam::operator<<(), mapDistributeBase::operator=(), Foam::operator>>(), mapDistributeBase::receive(), mapDistributeBase::reverseDistribute(), and mapDistributeBase::transfer().
Schedule.
Definition at line 123 of file mapDistributeBase.H.
Referenced by mapDistributeBase::compact(), mapDistributeBase::operator=(), and mapDistributeBase::transfer().