38 const commsTypes commsType,
41 const std::streamsize bufSize,
43 const label communicator
48 Pout<<
"UOPstream::write : starting write to:" << toProcNo
50 <<
" comm:" << communicator <<
" size:" <<
label(bufSize)
56 Pout<<
"UOPstream::write : starting write to:" << toProcNo
58 <<
" comm:" << communicator <<
" size:" <<
label(bufSize)
69 bool transferFailed =
true;
73 transferFailed = MPI_Bsend
75 const_cast<char*>(buf),
85 Pout<<
"UOPstream::write : finished write to:" << toProcNo
86 <<
" tag:" << tag <<
" size:" <<
label(bufSize)
93 transferFailed = MPI_Send
95 const_cast<char*>(buf),
105 Pout<<
"UOPstream::write : finished write to:" << toProcNo
106 <<
" tag:" << tag <<
" size:" <<
label(bufSize)
115 transferFailed = MPI_Isend
117 const_cast<char*>(buf),
128 Pout<<
"UOPstream::write : started write to:" << toProcNo
129 <<
" tag:" << tag <<
" size:" <<
label(bufSize)
140 <<
"Unsupported communications type " 145 return !transferFailed;
static void printStack(Ostream &)
Helper function to print a stack.
commsTypes commsType() const
Get the communications type of the stream.
FvWallInfoData< WallInfo, label > label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Ostream & endl(Ostream &os)
Add newline and flush stream.
DynamicList< MPI_Request > outstandingRequests_
static label warnComm
Debugging: warn for use of any communicator differing from warnComm.
errorManip< error > abort(error &err)
static bool write(const commsTypes commsType, const int toProcNo, const char *buf, const std::streamsize bufSize, const int tag=UPstream::msgType(), const label communicator=0)
Write given buffer to given processor.
static const NamedEnum< commsTypes, 3 > commsTypeNames
prefixOSstream Pout(cout, "Pout")
DynamicList< MPI_Comm > MPICommunicators_
void checkCommunicator(const label, const label procNo)