45 Pstream::defaultCommsType == Pstream::commsTypes::blocking
46 || Pstream::defaultCommsType == Pstream::commsTypes::nonBlocking
49 forAll(interfaces, interfacei)
51 if (interfaces.
set(interfacei))
53 interfaces[interfacei].initInterfaceMatrixUpdate
58 coupleCoeffs[interfacei],
60 Pstream::defaultCommsType
65 else if (Pstream::defaultCommsType == Pstream::commsTypes::scheduled)
67 const lduSchedule& patchSchedule = this->patchSchedule();
73 label interfacei=patchSchedule.size()/2;
74 interfacei<interfaces.
size();
78 if (interfaces.
set(interfacei))
80 interfaces[interfacei].initInterfaceMatrixUpdate
85 coupleCoeffs[interfacei],
87 Pstream::commsTypes::blocking
95 <<
"Unsuported communications type "
96 << Pstream::commsTypeNames[Pstream::defaultCommsType]
112 if (Pstream::defaultCommsType == Pstream::commsTypes::blocking)
114 forAll(interfaces, interfacei)
116 if (interfaces.
set(interfacei))
118 interfaces[interfacei].updateInterfaceMatrix
123 coupleCoeffs[interfacei],
125 Pstream::defaultCommsType
130 else if (Pstream::defaultCommsType == Pstream::commsTypes::nonBlocking)
133 bool allUpdated =
false;
135 for (
label i=0; i<UPstream::nPollProcInterfaces; i++)
139 forAll(interfaces, interfacei)
141 if (interfaces.
set(interfacei))
143 if (!interfaces[interfacei].updatedMatrix())
145 if (interfaces[interfacei].ready())
147 interfaces[interfacei].updateInterfaceMatrix
152 coupleCoeffs[interfacei],
154 Pstream::defaultCommsType
172 if (Pstream::parRun())
181 UPstream::resetRequests(0);
186 UPstream::waitRequests();
191 forAll(interfaces, interfacei)
195 interfaces.
set(interfacei)
196 && !interfaces[interfacei].updatedMatrix()
199 interfaces[interfacei].updateInterfaceMatrix
204 coupleCoeffs[interfacei],
206 Pstream::defaultCommsType
211 else if (Pstream::defaultCommsType == Pstream::commsTypes::scheduled)
213 const lduSchedule& patchSchedule = this->patchSchedule();
218 label interfacei = patchSchedule[i].patch;
220 if (interfaces.
set(interfacei))
222 if (patchSchedule[i].init)
224 interfaces[interfacei].initInterfaceMatrixUpdate
229 coupleCoeffs[interfacei],
231 Pstream::commsTypes::scheduled
236 interfaces[interfacei].updateInterfaceMatrix
241 coupleCoeffs[interfacei],
243 Pstream::commsTypes::scheduled
253 label interfacei=patchSchedule.size()/2;
254 interfacei<interfaces.
size();
258 if (interfaces.
set(interfacei))
260 interfaces[interfacei].updateInterfaceMatrix
265 coupleCoeffs[interfacei],
267 Pstream::commsTypes::blocking
275 <<
"Unsuported communications type "
276 << Pstream::commsTypeNames[Pstream::defaultCommsType]