Go to the documentation of this file.
48 template<
class T,
class BinaryOp>
73 myComm.
below()[belowI],
74 reinterpret_cast<char*
>(&value),
85 myComm.
below()[belowI],
93 Value = bop(Value, value);
97 if (myComm.
above() != -1)
105 reinterpret_cast<const char*
>(&Value),
128 template<
class T,
class BinaryOp>
163 if (myComm.
above() != -1)
171 reinterpret_cast<char*
>(&Value),
201 myComm.
below()[belowI],
202 reinterpret_cast<const char*
>(&Value),
213 myComm.
below()[belowI],
static const List< commsStruct > & linearCommunication(const label communicator=worldComm)
Communication schedule for linear all-to-master (proc 0)
static bool write(const commsTypes commsType, const int toProcNo, const char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=UPstream::worldComm)
Write given buffer to given processor.
Output inter-processor communications stream.
static void scatter(const List< commsStruct > &comms, T &Value, const int tag, const label comm)
Scatter data. Distribute without modification. Reverse of gather.
const labelList & below() const noexcept
static label read(const commsTypes commsType, const int fromProcNo, char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=UPstream::worldComm)
Read into given buffer from given processor.
static void gather(const List< commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
#define forAll(list, i)
Loop across all elements in list.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Structure for communicating between processors.
static int nProcsSimpleSum
static int myProcNo(const label communicator=worldComm)
Number of this process (starting from masterNo() = 0)
static bool & parRun() noexcept
Test if this a parallel run.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
label above() const noexcept
#define forAllReverse(list, i)
Reverse loop across all elements in list.
Input inter-processor communications stream.
static const List< commsStruct > & treeCommunication(const label communicator=worldComm)
Communication schedule for tree all-to-master (proc 0)
static label nProcs(const label communicator=worldComm)
Number of processes in parallel run, and 1 for serial run.
A template class to specify that a data type can be considered as being contiguous in memory.