Go to the documentation of this file.
38 #ifndef PstreamCombineReduceOps_H
39 #define PstreamCombineReduceOps_H
52 template<
class T,
class CombineOp>
67 template<
class T,
class CombineOp>
static label nProcs(const label communicator=0)
Number of processes in parallel run.
Various functors for unary and binary operations. Can be used for parallel combine-reduce operations ...
void combineReduce(const List< UPstream::commsStruct > &comms, T &Value, const CombineOp &cop, const int tag, const label comm)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
static void combineGather(const List< commsStruct > &comms, T &Value, const CombineOp &cop, const int tag, const label comm)
static int nProcsSimpleSum
static int & msgType()
Message tag of standard messages.
static label worldComm
Default communicator (all processors)
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static const List< commsStruct > & linearCommunication(const label communicator=0)
Communication schedule for linear all-to-master (proc 0)
static void combineScatter(const List< commsStruct > &comms, T &Value, const int tag, const label comm)
Scatter data. Reverse of combineGather.
static const List< commsStruct > & treeCommunication(const label communicator=0)
Communication schedule for tree all-to-master (proc 0)