45 forAll(interfaces, interfacei)
47 if (interfaces.
set(interfacei))
49 interfaces[interfacei].initInterfaceMatrixUpdate
53 coupleCoeffs[interfacei],
69 interfacei<interfaces.
size();
73 if (interfaces.
set(interfacei))
75 interfaces[interfacei].initInterfaceMatrixUpdate
79 coupleCoeffs[interfacei],
89 <<
"Unsupported communications type "
107 forAll(interfaces, interfacei)
109 if (interfaces.
set(interfacei))
111 interfaces[interfacei].updateInterfaceMatrix
115 coupleCoeffs[interfacei],
125 bool allUpdated =
false;
131 forAll(interfaces, interfacei)
133 if (interfaces.
set(interfacei))
135 if (!interfaces[interfacei].updatedMatrix())
137 if (interfaces[interfacei].ready())
139 interfaces[interfacei].updateInterfaceMatrix
143 coupleCoeffs[interfacei],
182 forAll(interfaces, interfacei)
186 interfaces.
set(interfacei)
187 && !interfaces[interfacei].updatedMatrix()
190 interfaces[interfacei].updateInterfaceMatrix
194 coupleCoeffs[interfacei],
203 const lduSchedule& patchSchedule = this->patchSchedule();
208 label interfacei = patchSchedule[i].patch;
210 if (interfaces.
set(interfacei))
212 if (patchSchedule[i].init)
214 interfaces[interfacei].initInterfaceMatrixUpdate
218 coupleCoeffs[interfacei],
225 interfaces[interfacei].updateInterfaceMatrix
229 coupleCoeffs[interfacei],
242 interfacei<interfaces.
size();
246 if (interfaces.
set(interfacei))
248 interfaces[interfacei].updateInterfaceMatrix
252 coupleCoeffs[interfacei],
262 <<
"Unsupported communications type "
#define forAll(list, i)
Loop across all elements in list.
void size(const label)
Override size to be inconsistent with allocated storage.
static const NamedEnum< commsTypes, 3 > commsTypeNames
static int nPollProcInterfaces
Number of polling cycles in processor updates.
static void waitRequests(const label start=0)
Wait until all requests (from start onwards) have finished.
static void resetRequests(const label sz)
Truncate number of outstanding requests.
static bool & parRun()
Is this a parallel run?
static commsTypes defaultCommsType
Default commsType.
bool set(const label) const
Is element set.
label size() const
Return the number of elements in the UPtrList.
const lduSchedule & patchSchedule() const
Return the patch evaluation schedule.
void initMatrixInterfaces(const FieldField< Field, scalar > &interfaceCoeffs, const lduInterfaceFieldPtrsList &interfaces, const scalarField &psiif, scalarField &result, const direction cmpt) const
Initialise the update of interfaced interfaces.
void updateMatrixInterfaces(const FieldField< Field, scalar > &interfaceCoeffs, const lduInterfaceFieldPtrsList &interfaces, const scalarField &psiif, scalarField &result, const direction cmpt) const
Update interfaced interfaces for matrix operations.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.