33 template<
class Type,
template<
class>
class PatchField>
61 if (parallel_ ? Pstream::master() :
true)
63 for (
const label
patchId : patchIDs_)
68 const auto* vpp = isA<Field<Type>>(pfld);
84 const label
nPatches = patchIDs_.size();
86 if (Pstream::master())
91 for (
const int subproci : Pstream::subProcs())
93 IPstream fromProc(Pstream::commsTypes::blocking, subproci);
108 Pstream::commsTypes::blocking,
112 for (
const label
patchId : patchIDs_)
117 const auto* vpp = isA<Field<Type>>(pfld);
124 toProc << pfld.patchInternalField();
131 this->endDataArray();
135 template<
class Type,
template<
class>
class PatchField>
141 if (isState(outputState::CELL_DATA))
152 label nFaces = nLocalPolys_;
160 this->beginDataArray<Type>(
field.name(), nFaces);
162 if (parallel_ ? Pstream::master() :
true)
164 for (
const label
patchId : patchIDs_)
168 if (useNearCellValue_)
182 const label
nPatches = patchIDs_.size();
184 if (Pstream::master())
189 for (
const int subproci : Pstream::subProcs())
191 IPstream fromProc(Pstream::commsTypes::blocking, subproci);
206 Pstream::commsTypes::blocking,
210 for (
const label
patchId : patchIDs_)
214 if (useNearCellValue_)
216 toProc << pfld.patchInternalField()();
220 toProc << static_cast<const Field<Type>&>(pfld);
227 this->endDataArray();
259 if (parallel_ ? Pstream::master() :
true)
261 for (
const label
patchId : patchIDs_)
265 if (useNearCellValue_)
270 pfld.patchInternalField()()
288 const label
nPatches = patchIDs_.size();
290 if (Pstream::master())
295 for (
const int subproci : Pstream::subProcs())
297 IPstream fromProc(Pstream::commsTypes::blocking, subproci);
312 Pstream::commsTypes::blocking,
316 for (
const label
patchId : patchIDs_)
320 if (useNearCellValue_)
325 pfld.patchInternalField()()
341 this->endDataArray();