56 Istream&
operator>>(Istream& is, globalIndex& gi);
57 Ostream&
operator<<(Ostream& os,
const globalIndex& gi);
87 const label localSize,
180 gather(offsets_, comm, procIDs, fld, allFld, tag, commsType);
208 gather(offsets_, comm, procIDs, fld, tag, commsType);
236 scatter(offsets_, comm, procIDs, allFld, fld, tag, commsType);
label size() const
Global sum of localSizes.
bool isLocal(const label i) const
Is on local processor.
label localSize() const
My local size.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
A simple container for copying or transferring objects of type <T>.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
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 & operator<<(Ostream &, const edgeMesh &)
friend Istream & operator>>(Istream &is, globalIndex &gi)
globalIndex()
Construct null.
label offset(const label procI) const
Start of procI data.
commsTypes
Types of communications.
static int & msgType()
Message tag of standard messages.
label toGlobal(const label i) const
From local to global.
label toLocal(const label i) const
From global to local on current processor.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Istream & operator>>(Istream &, edgeMesh &)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
labelList & offsets()
Change after construction.
static void gather(const labelUList &offsets, const label comm, const labelList &procIDs, const UList< Type > &fld, List< Type > &allFld, const int tag=UPstream::msgType(), const Pstream::commsTypes commsType=Pstream::nonBlocking)
Collect data in processor order on master (== procIDs[0]).
static void scatter(const labelUList &offsets, const label comm, const labelList &procIDs, const UList< Type > &allFld, UList< Type > &fld, const int tag=UPstream::msgType(), const Pstream::commsTypes commsType=Pstream::nonBlocking)
Distribute data in processor order. Requires fld to be sized!
label whichProcID(const label i) const
Which processor does global come from? Binary search.
friend Ostream & operator<<(Ostream &os, const globalIndex &gi)