IOmapDistribute is derived from mapDistribute and IOobject to give the mapDistribute automatic IO functionality via the objectRegistry. More...
Public Member Functions | |
TypeName ("mapDistribute") | |
Runtime type information. More... | |
IOmapDistribute (const IOobject &io) | |
Construct from IOobject. More... | |
IOmapDistribute (const IOobject &io, const mapDistribute &map) | |
Construct from IOobject, copying mapDistribute contents. More... | |
IOmapDistribute (const IOobject &io, mapDistribute &&map) | |
Construct from IOobject, moving mapDistribute contents. More... | |
virtual | ~IOmapDistribute ()=default |
Destructor. More... | |
virtual bool | readData (Istream &) |
ReadData function required for regIOobject read operation. More... | |
virtual bool | writeData (Ostream &) const |
WriteData function required for regIOobject write operation. More... | |
Public Member Functions inherited from regIOobject | |
void | operator= (const regIOobject &)=delete |
No copy assignment. More... | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &io, const bool isTimeObject=false) | |
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIOobject (eg, Time). More... | |
regIOobject (const regIOobject &rio) | |
Copy construct. More... | |
regIOobject (const regIOobject &rio, bool registerCopy) | |
Copy construct, transferring registry registration to the copy if registerCopy is true. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Copy construct with new name, transferring registry registration to the copy if registerCopy is true. More... | |
regIOobject (const IOobject &io, const regIOobject &rio) | |
Copy construct with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
bool | checkIn () |
Add object to registry, if not already registered. More... | |
bool | checkOut () |
Remove object from registry, and remove all file watches. More... | |
virtual void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | registered () const noexcept |
Query the registered state (ie, has been checked in). This is not necessarily the same as registerObject(), which is just a stated preference. More... | |
bool | ownedByRegistry () const noexcept |
Is this object owned by the registry? More... | |
bool | store () |
Register object with its registry and transfer ownership to the registry. More... | |
void | release (const bool unregister=false) noexcept |
Set object as not ownedByRegistry. More... | |
label | eventNo () const noexcept |
Event number at last update. More... | |
label & | eventNo () noexcept |
Event number at last update. More... | |
bool | upToDate (const regIOobject &) const |
Return true if up-to-date with respect to given object. More... | |
bool | upToDate (const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
void | setUpToDate () |
Set as up-to-date. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
const dictionary * | findMetaData () const noexcept |
Return pointer to meta-data or nullptr. More... | |
dictionary & | getMetaData () noexcept |
Get or create meta-data. More... | |
void | removeMetaData () |
Remove meta-data. More... | |
virtual void | updateMetaData () |
Update internal meta-data (eg, prior to writing) More... | |
virtual fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | headerOk () |
Read and check header info. Does not check the headerClassName. More... | |
Istream & | readStream (const word &, const bool readOnProc=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | read () |
Read object. More... | |
virtual label | addWatch (const fileName &) |
Add file watch for fileName on object if not yet watched. More... | |
const labelList & | watchIndices () const noexcept |
Read access to file-monitoring handles. More... | |
labelList & | watchIndices () noexcept |
Write access to file-monitoring handles. More... | |
virtual bool | modified () const |
Return true if the object's file (or files for objectRegistry) have been modified. (modified state is cached by Time) More... | |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeObject (IOstreamOption streamOpt, const bool writeOnProc) const |
Write using stream options. More... | |
virtual bool | write (const bool writeOnProc=true) const |
Write using setting from DB. More... | |
virtual bool | global () const |
Is object global. More... | |
void | operator= (const IOobject &io) |
Copy assignment. More... | |
virtual bool | writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp, const bool writeOnProc) const |
Write using given format, version and compression. More... | |
Public Member Functions inherited from IOobject | |
TypeName ("IOobject") | |
Declare type-name, virtual type (with debug switch) More... | |
IOobject (const IOobject &)=default | |
Copy construct. More... | |
virtual | ~IOobject ()=default |
Destructor. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from path, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Copy construct, resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Copy construct, resetting name. More... | |
IOobject (const IOobject &io, const word &name, const fileName &local) | |
Copy construct, resetting name and local component. More... | |
IOobject (const IOobject &io, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt) | |
Copy construct, resetting read/write options. More... | |
IOobject (const IOobject &io, IOobjectOption::registerOption regOpt) | |
Copy construct, resetting register option. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
const objectRegistry & | db () const noexcept |
Return the local objectRegistry. More... | |
const Time & | time () const noexcept |
Return Time associated with the objectRegistry. More... | |
const word & | name () const noexcept |
Return the object name. More... | |
const word & | headerClassName () const noexcept |
Return name of the class name read from header. More... | |
word & | headerClassName () noexcept |
Return non-constant access to the class name read from header. More... | |
const string & | note () const noexcept |
Return the optional note. More... | |
string & | note () noexcept |
Modifiable access to the optional note. More... | |
unsigned | labelByteSize () const noexcept |
The sizeof (label) in bytes, possibly read from the header. More... | |
unsigned | scalarByteSize () const noexcept |
The sizeof (scalar) in bytes, possibly read from the header. More... | |
void | resetHeader (const word &newName=word::null) |
Clear various bits (headerClassName, note, sizeof...) that would be obtained when reading from a file. More... | |
bool | hasHeaderClass () const noexcept |
True if headerClassName() is non-empty (after reading) More... | |
template<class Type > | |
bool | isHeaderClass () const |
Check if headerClassName() equals Type::typeName. More... | |
template<class Type > | |
bool | isHeaderClassName () const |
Same as isHeaderClass() More... | |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
const fileName & | rootPath () const noexcept |
Return the Time::rootPath() More... | |
const fileName & | caseName () const noexcept |
Return the Time::caseName() More... | |
const fileName & | globalCaseName () const noexcept |
Return the Time::globalCaseName() More... | |
const fileName & | instance () const noexcept |
Read access to instance path component. More... | |
fileName & | instance () noexcept |
Write access to instance path component. More... | |
const fileName & | local () const noexcept |
Read access to local path component. More... | |
fileName | path () const |
The complete path for the object (with instance, local,...). More... | |
fileName | globalPath () const |
The complete global path for the object (with instance, local,...) More... | |
fileName | path (const word &instance, const fileName &local=fileName::null) const |
The complete path with alternative instance and local. More... | |
fileName | globalPath (const word &instance, const fileName &local=fileName::null) const |
The complete global path with alternative instance and local. More... | |
fileName | objectPath () const |
The complete path + object name. More... | |
fileName | globalObjectPath () const |
The complete global path + object name. More... | |
fileName | objectRelPath () const |
The object path relative to the root. More... | |
fileName | localFilePath (const word &typeName, const bool search=true) const |
Redirect to fileHandler filePath, searching locally. More... | |
fileName | globalFilePath (const word &typeName, const bool search=true) const |
Redirect to fileHandler filePath, searching up if in parallel. More... | |
IOstreamOption | parseHeader (const dictionary &headerDict) |
Parse 'FoamFile' header contents and set the IOobject characteristics and return the stream characteristics. More... | |
bool | readHeader (Istream &is) |
Read header ('FoamFile' dictionary) and set the IOobject and stream characteristics. More... | |
bool | readHeader (dictionary &headerDict, Istream &is) |
Read header (the 'FoamFile' dictionary) and set the IOobject and stream characteristics. More... | |
template<class Type > | |
bool | typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true) |
Read header (respects is_globalIOobject trait) and check its info. More... | |
template<class Type > | |
fileName | typeFilePath (const bool search=true) const |
Call localFilePath or globalFilePath for given type depending on its is_globalIOobject trait. More... | |
template<class Type > | |
void | warnNoRereading () const |
Helper: warn that type does not support re-reading. More... | |
bool | writeHeader (Ostream &os) const |
Write header with current type() More... | |
bool | writeHeader (Ostream &os, const word &objectType) const |
Write header with override of type. More... | |
void | writeHeader (dictionary &dict, IOstreamOption streamOpt) const |
Write header into a dictionary with current type() and given output format. More... | |
void | writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const |
Write header into a dictionary with override of type and given output format. More... | |
bool | good () const noexcept |
Did last readHeader() succeed? More... | |
bool | bad () const noexcept |
Did last readHeader() fail? More... | |
InfoProxy< IOobject > | info () const noexcept |
Return info proxy, for printing information to a stream. More... | |
void | operator= (const IOobject &io) |
Copy assignment, copies all values (except the registry) More... | |
template<> | |
bool | isHeaderClass () const |
Specialization for void always returns true (no headerClassName check). More... | |
template<class StringType > | |
Foam::word | groupName (StringType base, const word &group) |
template<class Type > | |
Foam::fileName | typeFilePath (const bool search) const |
Public Member Functions inherited from IOobjectOption | |
constexpr | IOobjectOption (readOption rOpt=readOption::NO_READ, writeOption wOpt=writeOption::NO_WRITE, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Default construct (NO_READ, NO_WRITE, REGISTER, non-global) or construct with specified options. More... | |
constexpr | IOobjectOption (readOption rOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Construct NO_WRITE with specified read/register options. More... | |
constexpr | IOobjectOption (writeOption wOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Construct NO_READ with specified write/register options. More... | |
constexpr | IOobjectOption (registerOption registerObject, bool globalObject=false) noexcept |
Construct (NO_READ, NO_WRITE) with specified register option. More... | |
constexpr | IOobjectOption (readOption rOpt, writeOption wOpt, bool registerObject, bool globalObject=false) noexcept |
Construct from components with specified register option as bool. More... | |
constexpr | IOobjectOption (bool registerObject, bool globalObject=false) noexcept |
Construct (NO_READ, NO_WRITE) with specified register option as bool. More... | |
readOption | readOpt () const noexcept |
Get the read option. More... | |
readOption | readOpt (readOption opt) noexcept |
Set the read option. More... | |
writeOption | writeOpt () const noexcept |
Get the write option. More... | |
writeOption | writeOpt (writeOption opt) noexcept |
Set the write option. More... | |
bool | registerObject () const noexcept |
Should objects created with this IOobject be registered? More... | |
bool | registerObject (bool on) noexcept |
Change registration preference. More... | |
bool | globalObject () const noexcept |
True if object is treated the same for all processors. More... | |
bool | globalObject (bool on) noexcept |
Change global-object status. More... | |
bool | isAnyRead () const noexcept |
True if any reading may be required (ie, != NO_READ) More... | |
bool | isReadRequired () const noexcept |
True if (MUST_READ | READ_MODIFIED) bits are set. More... | |
bool | isReadOptional () const noexcept |
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More... | |
readOption & | readOpt () noexcept |
Access to the read option. More... | |
writeOption & | writeOpt () noexcept |
Access to the write option. More... | |
bool & | registerObject () noexcept |
Access to the register object option. More... | |
bool & | globalObject () noexcept |
Access to the global object option. More... | |
Public Member Functions inherited from mapDistribute | |
ClassName ("mapDistribute") | |
mapDistribute () noexcept | |
Default construct - uses worldComm. More... | |
mapDistribute (const label comm) noexcept | |
Default construct with specified communicator. More... | |
mapDistribute (mapDistributeBase &&map) | |
Move construct from base, no transforms. More... | |
mapDistribute (const mapDistribute &map) | |
Copy construct. More... | |
mapDistribute (mapDistribute &&map) | |
Move construct. More... | |
mapDistribute (const dictionary &dict, const label comm=UPstream::worldComm) | |
Read construct from dictionary. More... | |
mapDistribute (const label constructSize, labelListList &&subMap, labelListList &&constructMap, labelListList &&transformElements, labelList &&transformStart, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm) | |
Move construct from components. More... | |
mapDistribute (const globalIndex &, labelList &untransformedElements, const globalIndexAndTransform &, const labelPairList &transformedElements, labelList &transformedIndices, List< Map< label >> &compactMap, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) | |
Construct from list of (possibly remote) untransformed elements in globalIndex numbering (or -1) and (possibly remote) transformed elements in globalIndexAndTransform numbering. More... | |
mapDistribute (const globalIndex &, labelListList &cellCells, const globalIndexAndTransform &, const List< labelPairList > &transformedElements, labelListList &transformedIndices, List< Map< label >> &compactMap, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) | |
As above but with ListLists. More... | |
mapDistribute (const UPtrList< const mapDistribute > &maps, const labelList &localRanks, const label newComm, const labelListList &newToOldRanks, labelList &startOfLocal, List< Map< label >> &compactMaps) | |
Construct from multiple maps and processor collation. More... | |
mapDistribute (Istream &is) | |
Construct from Istream. More... | |
autoPtr< mapDistribute > | clone () const |
Clone. More... | |
virtual | ~mapDistribute ()=default |
Destructor. More... | |
const labelListList & | transformElements () const noexcept |
For every globalIndexAndTransform::transformPermutations gives the elements that need to be transformed. More... | |
const labelList & | transformStart () const noexcept |
Destination in constructMap for transformed elements. More... | |
label | whichTransform (const label index) const |
Find transform from transformElements. More... | |
void | clear () |
Reset to zero size, only retaining communicator. More... | |
void | transfer (mapDistribute &map) |
Transfer the contents of the argument and annul the argument. More... | |
template<class T > | |
void | distribute (List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Distribute List data using default commsType, default flip/negate operator. More... | |
template<class T > | |
void | distribute (DynamicList< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Distribute DynamicList data using default commsType, default flip/negate operator. More... | |
template<class T > | |
void | distribute (const UPstream::commsTypes commsType, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Distribute List data using specified commsType, default flip/negate operator. More... | |
template<class T > | |
void | distribute (const UPstream::commsTypes commsType, DynamicList< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Distribute DynamicList data using specified commsType, default flip/negate operator. More... | |
template<class T , class NegateOp > | |
void | distribute (List< T > &fld, const NegateOp &negOp, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Distribute List data using default commsType and the specified negate operator (for flips). More... | |
template<class T , class NegateOp > | |
void | distribute (const UPstream::commsTypes commsType, List< T > &fld, const NegateOp &negOp, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Distribute List data using specified commsType and the specified negate operator (for flips). More... | |
template<class T > | |
void | reverseDistribute (const label constructSize, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Reverse distribute data using default commsType. More... | |
template<class T > | |
void | reverseDistribute (const UPstream::commsTypes commsType, const label constructSize, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Reverse distribute data using specified commsType. More... | |
template<class T > | |
void | reverseDistribute (const label constructSize, const T &nullValue, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Reverse distribute data using default commsType. More... | |
template<class T > | |
void | reverseDistribute (const UPstream::commsTypes commsType, const label constructSize, const T &nullValue, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const |
Reverse distribute data using specified commsType. More... | |
template<class T , class TransformOp > | |
void | distribute (const globalIndexAndTransform &, List< T > &fld, const TransformOp &top, const int tag=UPstream::msgType()) const |
Distribute with transforms. More... | |
template<class T , class TransformOp > | |
void | distribute (const UPstream::commsTypes commsType, const globalIndexAndTransform &, List< T > &fld, const TransformOp &top, const int tag=UPstream::msgType()) const |
Distribute with transforms. More... | |
template<class T , class TransformOp > | |
void | reverseDistribute (const globalIndexAndTransform &, const label constructSize, List< T > &fld, const TransformOp &top, const int tag=UPstream::msgType()) const |
Reverse distribute with transforms. More... | |
template<class T , class TransformOp > | |
void | reverseDistribute (const UPstream::commsTypes commsType, const globalIndexAndTransform &, const label constructSize, List< T > &fld, const TransformOp &top, const int tag=UPstream::msgType()) const |
Reverse distribute with transforms. More... | |
template<class T , class TransformOp > | |
void | reverseDistribute (const globalIndexAndTransform &, const label constructSize, const T &nullValue, List< T > &fld, const TransformOp &top, const int tag=UPstream::msgType()) const |
Reverse distribute with transforms. More... | |
template<class T , class TransformOp > | |
void | reverseDistribute (const UPstream::commsTypes commsType, const globalIndexAndTransform &, const label constructSize, const T &nullValue, List< T > &fld, const TransformOp &top, const int tag=UPstream::msgType()) const |
Reverse distribute with transforms. More... | |
void | printLayout (Ostream &os) const |
Debug: print layout. Can only be used on maps with sorted. More... | |
void | operator= (const mapDistribute &rhs) |
Copy assignment. More... | |
void | operator= (mapDistribute &&rhs) |
Move assignment. More... | |
void | readDict (const dictionary &dict) |
Read entries from dictionary format. More... | |
void | writeEntries (Ostream &os) const |
Write entries in dictionary format. More... | |
void | updateMesh (const mapPolyMesh &) |
No correction for topo change. More... | |
mapDistributeBase () noexcept | |
Inherit constructors. More... | |
mapDistributeBase (const label comm) noexcept | |
Inherit constructors. More... | |
mapDistributeBase (const mapDistributeBase &map) | |
Inherit constructors. More... | |
mapDistributeBase (mapDistributeBase &&map) | |
Inherit constructors. More... | |
mapDistributeBase (const dictionary &dict, const label comm=UPstream::worldComm) | |
Inherit constructors. More... | |
mapDistributeBase (const label constructSize, labelListList &&subMap, labelListList &&constructMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm) | |
Inherit constructors. More... | |
mapDistributeBase (const labelUList &sendProcs, const labelUList &recvProcs, const label comm=UPstream::worldComm) | |
Inherit constructors. More... | |
mapDistributeBase (const globalIndex &, labelList &elements, List< Map< label >> &compactMap, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) | |
Inherit constructors. More... | |
mapDistributeBase (const globalIndex &, labelListList &cellCells, List< Map< label >> &compactMap, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) | |
Inherit constructors. More... | |
mapDistributeBase (const layoutTypes constructLayout, labelListList &&subMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm) | |
Inherit constructors. More... | |
mapDistributeBase (labelListList &&subMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm) | |
Inherit constructors. More... | |
mapDistributeBase (const UPtrList< const mapDistributeBase > &maps, const labelList &localRanks, const label newComm, const labelListList &newToOldRanks, labelList &startOfLocal, List< Map< label >> &compactMaps) | |
Inherit constructors. More... | |
mapDistributeBase (Istream &is) | |
Inherit constructors. More... | |
Public Member Functions inherited from mapDistributeBase | |
ClassName ("mapDistributeBase") | |
mapDistributeBase () noexcept | |
Default construct (uses worldComm) More... | |
mapDistributeBase (const label comm) noexcept | |
Default construct with specified communicator. More... | |
mapDistributeBase (const mapDistributeBase &map) | |
Copy construct. More... | |
mapDistributeBase (mapDistributeBase &&map) | |
Move construct. More... | |
mapDistributeBase (const dictionary &dict, const label comm=UPstream::worldComm) | |
Read construct from dictionary. More... | |
mapDistributeBase (const label constructSize, labelListList &&subMap, labelListList &&constructMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm) | |
Move construct from components. More... | |
mapDistributeBase (const labelUList &sendProcs, const labelUList &recvProcs, const label comm=UPstream::worldComm) | |
Construct from reverse addressing: per data item the send processor and the receive processor. More... | |
mapDistributeBase (const globalIndex &, labelList &elements, List< Map< label >> &compactMap, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) | |
Construct from list of (possibly) remote elements in globalIndex numbering (or -1). More... | |
mapDistributeBase (const globalIndex &, labelListList &cellCells, List< Map< label >> &compactMap, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) | |
Special variant that works with the info sorted into bins according to local indices. More... | |
mapDistributeBase (const layoutTypes constructLayout, labelListList &&subMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm) | |
Construct from my elements to send, targetting the specified constructMap layout. More... | |
mapDistributeBase (labelListList &&subMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm) | |
Construct from my elements to send. More... | |
mapDistributeBase (const UPtrList< const mapDistributeBase > &maps, const labelList &localRanks, const label newComm, const labelListList &newToOldRanks, labelList &startOfLocal, List< Map< label >> &compactMaps) | |
Construct from multiple maps and processor collation. More... | |
mapDistributeBase (Istream &is) | |
Construct from Istream. More... | |
label | constructSize () const noexcept |
Constructed data size. More... | |
label & | constructSize () noexcept |
Constructed data size. More... | |
const labelListList & | subMap () const noexcept |
From subsetted data back to original data. More... | |
labelListList & | subMap () noexcept |
From subsetted data back to original data. More... | |
const labelListList & | constructMap () const noexcept |
From subsetted data to new reconstructed data. More... | |
labelListList & | constructMap () noexcept |
From subsetted data to new reconstructed data. More... | |
bool | subHasFlip () const noexcept |
Does subMap include a sign. More... | |
bool & | subHasFlip () noexcept |
Does subMap include a sign. More... | |
bool | constructHasFlip () const noexcept |
Does constructMap include a sign. More... | |
bool & | constructHasFlip () noexcept |
Does constructMap include a sign. More... | |
label | comm () const noexcept |
The communicator used. More... | |
label | nMaps () const noexcept |
The number of sub-lists within the maps. More... | |
labelList | subMapSizes () const |
The sizes of the subMap lists. More... | |
labelList | constructMapSizes () const |
The sizes of the constructMap lists. More... | |
label | subMapTotalSize () const noexcept |
The sum of the subMap list sizes. More... | |
label | constructMapTotalSize () const noexcept |
The sum of the constructMap list sizes. More... | |
const List< labelPair > & | schedule () const |
Return a schedule. Demand driven. See above. More... | |
const List< labelPair > & | whichSchedule (const UPstream::commsTypes commsType) const |
Return real or dummy schedule depending on the communication type. More... | |
void | clear () |
Reset to zero size, only retaining communicator. More... | |
void | transfer (mapDistributeBase &rhs) |
Transfer the contents of the argument and annul the argument. More... | |
void | compactLocalData (const bitSet &allowedLocalElems, const int tag=UPstream::msgType(), const bool doRenumber=false) |
Compact send/receive maps based on selection of originating local (send) elements. More... | |
void | compactRemoteData (const bitSet &allowedRemoteElems, const int tag=UPstream::msgType(), const bool doRenumber=false) |
Compact send/receive maps based on selection of remote (receive) elements. More... | |
void | compactLocalData (const bitSet &allowedLocalElems, labelList &oldToNewSub, labelList &oldToNewConstruct, const label localSize=-1, const int tag=UPstream::msgType()) |
Compact send/receive maps based on selection of originating local (send) elements. Returns compaction mappings for subMap and constructMap. More... | |
void | compactRemoteData (const bitSet &allowedRemoteElems, labelList &oldToNewSub, labelList &oldToNewConstruct, const label localSize=-1, const int tag=UPstream::msgType()) |
Compact send/receive maps based on selection of remote (receive) elements. Returns compaction mappings for subMap and constructMap. More... | |
void | compactData (const labelUList &localElements, const labelUList &remoteElements, labelList &oldToNewSub, labelList &oldToNewConstruct, const label localSize=-1, const int tag=UPstream::msgType()) |
Compact send/receive maps based on selection of originating local (send) and remote (receive) elements. More... | |
void | compactLocalData (const labelUList &localElements, labelList &oldToNewSub, labelList &oldToNewConstruct, const label localSize=-1, const int tag=UPstream::msgType()) |
Compact send/receive maps based on selection of originating local (send) elements. More... | |
void | compactRemoteData (const labelUList &remoteElements, labelList &oldToNewSub, labelList &oldToNewConstruct, const label localSize=-1, const int tag=UPstream::msgType()) |
Compact send/receive maps based on selection of remote (receive) elements. More... | |
template<class T > | |
void | distribute (List< T > &values, const int tag=UPstream::msgType()) const |
Distribute List data using default commsType and the default flip/negate operator. More... | |
template<class T > | |
void | distribute (DynamicList< T > &values, const int tag=UPstream::msgType()) const |
Distribute DynamicList data using default commsType and the default flip/negate operator. More... | |
template<class T > | |
void | distribute (const UPstream::commsTypes commsType, List< T > &values, const int tag=UPstream::msgType()) const |
Distribute List data using specified commsType and the default flip/negate operator. More... | |
template<class T > | |
void | distribute (const UPstream::commsTypes commsType, DynamicList< T > &values, const int tag=UPstream::msgType()) const |
Distribute DynamicList data using specified commsType and the default flip/negate operator. More... | |
template<class T , class NegateOp > | |
void | distribute (List< T > &values, const NegateOp &negOp, const int tag=UPstream::msgType()) const |
Distribute data using default commsType and the specified negate operator (for flips). More... | |
template<class T , class NegateOp > | |
void | distribute (const UPstream::commsTypes commsType, List< T > &values, const NegateOp &negOp, const int tag=UPstream::msgType()) const |
Distribute data using specified commsType and the specified negate operator (for flips). More... | |
template<class T , class NegateOp > | |
void | distribute (const UPstream::commsTypes commsType, const T &nullValue, List< T > &values, const NegateOp &negOp, const int tag=UPstream::msgType()) const |
Distribute data using specified commsType and the specified negate operator (for flips). More... | |
template<class T > | |
void | reverseDistribute (const label constructSize, List< T > &values, const int tag=UPstream::msgType()) const |
Reverse distribute data using default commsType and the default flip/negate operator. More... | |
template<class T > | |
void | reverseDistribute (const label constructSize, const T &nullValue, List< T > &values, const int tag=UPstream::msgType()) const |
Reverse distribute data using default commsType and the default flip/negate operator. More... | |
template<class T > | |
void | reverseDistribute (const UPstream::commsTypes commsType, const label constructSize, List< T > &values, const int tag=UPstream::msgType()) const |
Reverse distribute data using specified commsType and the default flip/negate operator. More... | |
template<class T , class NegateOp > | |
void | reverseDistribute (const UPstream::commsTypes commsType, const label constructSize, List< T > &values, const NegateOp &negOp, const int tag=UPstream::msgType()) const |
Reverse distribute data using specified commsType and the specified flip/negate operator. More... | |
template<class T > | |
void | reverseDistribute (const UPstream::commsTypes commsType, const label constructSize, const T &nullValue, List< T > &values, const int tag=UPstream::msgType()) const |
Reverse distribute data using specified commsType and the default flip/negate operator. More... | |
template<class T > | |
void | send (PstreamBuffers &pBufs, const List< T > &field) const |
Do all sends using PstreamBuffers. More... | |
template<class T > | |
void | receive (PstreamBuffers &pBufs, List< T > &field) const |
Do all receives using PstreamBuffers. More... | |
template<class T > | |
void | send (const UList< T > &field, labelRange &sendRequests, PtrList< List< T >> &sendFields, labelRange &recvRequests, PtrList< List< T >> &recvFields, const int tag=UPstream::msgType()) const |
Start all sends and receives (always non-blocking) More... | |
template<class T > | |
void | receive (const labelRange &requests, const UPtrList< List< T >> &recvFields, List< T > &field, const int tag=UPstream::msgType()) const |
Wait for (receive) requests to finish and consume. More... | |
void | printLayout (Ostream &os) const |
Debug: print layout. Can only be used on maps with sorted. More... | |
void | operator= (const mapDistributeBase &rhs) |
Copy assignment. More... | |
void | operator= (mapDistributeBase &&rhs) |
Move assignment. More... | |
InfoProxy< mapDistributeBase > | info () const noexcept |
Return info proxy, used to print summary information to a stream. More... | |
void | readDict (const dictionary &dict) |
Read entries from dictionary format. More... | |
void | writeEntries (Ostream &os) const |
Write entries in dictionary format. More... | |
void | updateMesh (const mapPolyMesh &) |
No correction for topo change. More... | |
void | compact (const boolList &remoteElemUsed, const int tag=UPstream::msgType()) |
OpenFOAM-v2112 and earlier naming for compactRemoteData() using boolList. More... | |
void | compact (const boolList &remoteElemUsed, const label localSize, labelList &oldToNewSub, labelList &oldToNewConstruct, const int tag=UPstream::msgType()) |
OpenFOAM-v2112 and earlier naming for compactRemoteData(). using boolList. More... | |
template<class T , class NegateOp > | |
Foam::List< T > | accessAndFlip (const UList< T > &values, const labelUList &map, const bool hasFlip, const NegateOp &negOp) |
Additional Inherited Members | |
Public Types inherited from IOobject | |
enum | objectState : char { GOOD, BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster } |
Enumeration defining the file checking options. More... | |
Public Types inherited from IOobjectOption | |
enum | readOption : unsigned char { NO_READ = 0, MUST_READ = 0x1, READ_MODIFIED = 0x3, MUST_READ_IF_MODIFIED = 0x3, LAZY_READ = 0x4, READ_IF_PRESENT = 0x4 } |
Enumeration defining read preferences. More... | |
enum | writeOption : unsigned char { NO_WRITE = 0, AUTO_WRITE = 0x10 } |
Enumeration defining write preferences. More... | |
enum | registerOption : unsigned char { NO_REGISTER = 0, REGISTER = 1, LEGACY_REGISTER = 2 } |
Enumeration for use with registerObject(). Values map to bool (false/true) More... | |
Public Types inherited from mapDistributeBase | |
enum | layoutTypes : char { linear, localFirst } |
The map layout (eg, of the constructMap) More... | |
Static Public Member Functions inherited from regIOobject | |
template<class Type > | |
static Type & | store (Type *p) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (std::unique_ptr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (refPtr< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (refPtr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (tmp< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (tmp< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
Static Public Member Functions inherited from IOobject | |
static bool | bannerEnabled () noexcept |
Status of output file banner. More... | |
static bool | bannerEnabled (bool on) noexcept |
Enable/disable output file banner. More... | |
static bool | fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name) |
Split path into instance, local, name components. More... | |
template<class StringType > | |
static word | groupName (StringType base, const word &group) |
Create dot-delimited name.group string. More... | |
static word | group (const word &name) |
Return group (extension part of name) More... | |
static word | member (const word &name) |
Return member (name without the extension) More... | |
static word | scopedName (const std::string &scope, const word &name) |
Create scope:name or scope_name string. More... | |
static word | scopedName (const std::string &scope, const word &name1, const word &name2) |
Create scope:name1:name2 or scope_name1_name2 string. More... | |
static IOobject | selectIO (const IOobject &io, const fileName &altFile, const word &ioName="") |
Return the IOobject, but also consider an alternative file name. More... | |
static Ostream & | writeBanner (Ostream &os, const bool noSyntaxHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
static Ostream & | writeDivider (Ostream &os) |
Write the standard file section divider. More... | |
static Ostream & | writeEndDivider (Ostream &os) |
Write the standard end file divider. More... | |
Static Public Member Functions inherited from IOobjectOption | |
static bool | isAnyRead (readOption opt) noexcept |
True if any reading may be required (ie, != NO_READ) More... | |
static bool | isReadRequired (readOption opt) noexcept |
True if (MUST_READ | READ_MODIFIED) bits are set. More... | |
static bool | isReadOptional (readOption opt) noexcept |
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More... | |
static readOption | lazierRead (readOption opt) noexcept |
Downgrade readOption optional (LAZY_READ), leaves NO_READ intact. More... | |
Static Public Member Functions inherited from mapDistributeBase | |
static bool | hasFlipAddressing (const labelUList &map) |
Test for flip addressing, where flips are encoded as negative indices and non-flips are encoded as positive non-zero indices. More... | |
static bool | hasFlipAddressing (const labelListList &maps) |
Test for flip addressing, where flips are encoded as negative indices and non-flips are encoded as positive non-zero indices. More... | |
static label | countUnmapped (const labelUList &elements, const labelListList &maps, const bool hasFlip) |
Count the number of unmapped elements. More... | |
static List< labelPair > | schedule (const labelListList &subMap, const labelListList &constructMap, const int tag, const label comm=UPstream::worldComm) |
Calculate a communication schedule. See above. More... | |
static label | renumber (const globalIndex &, const label comm, const List< Map< label >> &compactMap, const label globalElement) |
Helper for construct from globalIndex. Renumbers element. More... | |
static label | renumberMap (labelListList &mapElements, const labelUList &oldToNew, const bool hasFlip) |
Helper for renumbering the (compacted) map elements using the supplied old-to-new mapping. More... | |
static label | renumberMap (labelList &map, const label localSize, const label offset, const Map< label > &cMap, const bool hasFlip) |
Helper for renumbering the map elements. Assumes local elements are first, followed by any remote. Local elements get offset, remote elements are mapped. More... | |
static label | renumberMap (labelListList &mapElements, const label localSize, const label offset, const Map< label > &cMap, const bool hasFlip) |
Helper for a list of maps. Calls above renumberMap for all elements. More... | |
template<class T , class CombineOp , class NegateOp > | |
static void | distribute (const UPstream::commsTypes commsType, const List< labelPair > &schedule, const label constructSize, const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, List< T > &field, const T &nullValue, const CombineOp &cop, const NegateOp &negOp, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) |
Distribute combine data with specified combine operation and negate operator (for flips). More... | |
template<class T , class NegateOp > | |
static void | distribute (const UPstream::commsTypes commsType, const List< labelPair > &schedule, const label constructSize, const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, List< T > &field, const NegateOp &negOp, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm) |
Distribute assign data with specified negate operator (for flips). Uses assignment for combine operation. More... | |
template<class T , class negateOp > | |
static void | send (const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, const UList< T > &field, labelRange &sendRequests, PtrList< List< T >> &sendFields, labelRange &recvRequests, PtrList< List< T >> &recvFields, const negateOp &negOp, const int tag, const label comm) |
Start all sends and receives (always non-blocking) More... | |
template<class T , class CombineOp , class negateOp > | |
static void | receive (const label constructSize, const labelListList &constructMap, const bool constructHasFlip, const labelRange &requests, const UPtrList< List< T >> &recvFields, List< T > &field, const CombineOp &cop, const negateOp &negOp, const int tag, const label comm) |
Wait for (receive) requests to finish and consume. More... | |
Static Public Attributes inherited from IOobject | |
static const Enum< fileCheckTypes > | fileCheckTypesNames |
Names for the fileCheckTypes. More... | |
static char | scopeSeparator |
Character for scoping object names (':' or '_') More... | |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
static float | fileModificationSkew |
Time skew (seconds) for file modification checks. More... | |
static int | maxFileModificationPolls |
Max number of times to poll for file modification changes. More... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName) |
Helper: check readOpt flags and read if necessary. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &s) |
Set the object state to bad. More... | |
Protected Member Functions inherited from mapDistributeBase | |
void | calcCompactAddressing (const globalIndex &globalNumbering, const labelUList &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 inherited from IOobject | |
static void | writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr) |
Helper: write content for FoamFile IOobject header with optional meta information. More... | |
static void | writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr) |
Helper: write dictionary content for FoamFile header with optional meta information. More... | |
Static Protected Member Functions inherited from mapDistributeBase | |
static void | checkReceivedSize (const label proci, const label expectedSize, const label receivedSize) |
Fatal if expected != received size. More... | |
static label | getMappedSize (const labelListList &maps, const bool hasFlip) |
Scan the maps for the max addressed index. More... | |
static void | exchangeMasks (const UList< bitSet > &sendMasks, UList< bitSet > &recvMasks, const int tag, const label comm) |
Synchronize send/recv mask buffers as a 'copy' operation. More... | |
static void | unionCombineMasks (UList< bitSet > &sendMasks, UList< bitSet > &recvMasks, const int tag, const label comm) |
Bi-direction sync of send/recv buffers using bitwise '&=' combine operation. More... | |
template<class T , class CombineOp , class NegateOp > | |
static void | flipAndCombine (List< T > &lhs, const UList< T > &rhs, const labelUList &map, const bool hasFlip, const CombineOp &cop, const NegateOp &negOp) |
Combine field values (after any flip negation operation) into the specified mapped target locations. More... | |
template<class T , class NegateOp > | |
static void | accessAndFlip (List< T > &output, const UList< T > &values, const labelUList &map, const bool hasFlip, const NegateOp &negOp) |
Lookup field values at specified map indices and save after any flip negation operations. More... | |
template<class T , class NegateOp > | |
static List< T > | accessAndFlip (const UList< T > &values, const labelUList &map, const bool hasFlip, const NegateOp &negOp) |
Lookup field values at specified indices and return after any flip negation operations. More... | |
Static Protected Attributes inherited from regIOobject | |
static bool | masterOnlyReading = false |
To flag master-only reading of objects. More... | |
IOmapDistribute is derived from mapDistribute and IOobject to give the mapDistribute automatic IO functionality via the objectRegistry.
Definition at line 50 of file IOmapDistribute.H.
IOmapDistribute | ( | const IOobject & | io | ) |
Construct from IOobject.
Definition at line 49 of file IOmapDistribute.C.
IOmapDistribute | ( | const IOobject & | io, |
const mapDistribute & | map | ||
) |
Construct from IOobject, copying mapDistribute contents.
Definition at line 61 of file IOmapDistribute.C.
References mapDistribute::operator=().
IOmapDistribute | ( | const IOobject & | io, |
mapDistribute && | map | ||
) |
Construct from IOobject, moving mapDistribute contents.
Definition at line 79 of file IOmapDistribute.C.
References mapDistribute::transfer().
|
virtualdefault |
Destructor.
TypeName | ( | "mapDistribute" | ) |
Runtime type information.
|
virtual |
ReadData function required for regIOobject read operation.
Reimplemented from regIOobject.
Definition at line 97 of file IOmapDistribute.C.
|
virtual |
WriteData function required for regIOobject write operation.
Implements regIOobject.
Definition at line 103 of file IOmapDistribute.C.
References os().