34 template<
class Type,
class DType,
class LUType>
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
60 interfaceCoeffs[interfacei],
62 Pstream::defaultCommsType
67 else if (Pstream::defaultCommsType == Pstream::commsTypes::scheduled)
69 const lduSchedule& patchSchedule = this->patchSchedule();
75 label interfacei=patchSchedule.size()/2;
76 interfacei<interfaces_.size();
80 if (interfaces_.set(interfacei))
82 interfaces_[interfacei].initInterfaceMatrixUpdate
89 interfaceCoeffs[interfacei],
91 Pstream::commsTypes::blocking
99 <<
"Unsupported communications type "
100 << Pstream::commsTypeNames[Pstream::defaultCommsType]
106 template<
class Type,
class DType,
class LUType>
110 const FieldField<Field, LUType>& interfaceCoeffs,
111 const Field<Type>& psiif,
117 Pstream::defaultCommsType == Pstream::commsTypes::blocking
118 || Pstream::defaultCommsType == Pstream::commsTypes::nonBlocking
122 if (Pstream::defaultCommsType == Pstream::commsTypes::nonBlocking)
124 IPstream::waitRequests();
125 OPstream::waitRequests();
128 forAll(interfaces_, interfacei)
130 if (interfaces_.set(interfacei))
132 interfaces_[interfacei].updateInterfaceMatrix
139 interfaceCoeffs[interfacei],
141 Pstream::defaultCommsType
146 else if (Pstream::defaultCommsType == Pstream::commsTypes::scheduled)
148 const lduSchedule& patchSchedule = this->patchSchedule();
153 label interfacei = patchSchedule[i].patch;
155 if (interfaces_.set(interfacei))
157 if (patchSchedule[i].
init)
159 interfaces_[interfacei].initInterfaceMatrixUpdate
166 interfaceCoeffs[interfacei],
168 Pstream::commsTypes::scheduled
173 interfaces_[interfacei].updateInterfaceMatrix
180 interfaceCoeffs[interfacei],
182 Pstream::commsTypes::scheduled
192 label interfacei=patchSchedule.size()/2;
193 interfacei<interfaces_.size();
197 if (interfaces_.set(interfacei))
199 interfaces_[interfacei].updateInterfaceMatrix
206 interfaceCoeffs[interfacei],
208 Pstream::commsTypes::blocking
216 <<
"Unsupported communications type "
217 << Pstream::commsTypeNames[Pstream::defaultCommsType]