33 template<
class Type,
template<
class>
class PatchField>
68 const auto* vpp = isA<Field<Type>>(pfld);
117 const auto* vpp = isA<Field<Type>>(pfld);
124 toProc << pfld.patchInternalField();
135 template<
class Type,
template<
class>
class PatchField>
152 label nFaces = nLocalPolys_;
156 reduce(nFaces, sumOp<label>());
160 this->beginDataArray<Type>(
field.name(), nFaces);
164 for (
const label
patchId : patchIDs_)
168 if (useNearCellValue_)
182 const label
nPatches = patchIDs_.size();
210 for (
const label
patchId : patchIDs_)
214 if (useNearCellValue_)
216 toProc << pfld.patchInternalField()();
220 toProc << static_cast<const Field<Type>&>(pfld);
227 this->endDataArray();
261 for (
const label
patchId : patchIDs_)
265 if (useNearCellValue_)
270 pfld.patchInternalField()()
288 const label
nPatches = patchIDs_.size();
316 for (
const label
patchId : patchIDs_)
320 if (useNearCellValue_)
325 pfld.patchInternalField()()
341 this->endDataArray();
Interpolation class within a primitive patch. Allows interpolation from points to faces and vice vers...
void size(const label n)
Older name for setAddressableSize.
errorManipArg< error, int > exit(error &err, const int errNo=1)
vtk::formatter & format()
The VTK formatter in use. FatalError for off-processor.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
constexpr char nl
The newline '\n' character (0x0a)
void endDataArray()
Flush formatter and end of DataArray output (non-legacy)
Ostream & endl(Ostream &os)
Add newline and flush stream.
Generic GeometricField class.
label nPointData_
The number of PointData written for the Piece thus far.
bool isState(outputState test) const noexcept
True if output state corresponds to the test state.
bool parallel_
Parallel writing (via master)
Input inter-processor communications stream.
Ostream & reportBadState(Ostream &, outputState expected) const
Generate message reporting bad writer state.
"scheduled" (MPI standard) : (MPI_Send, MPI_Recv)
Generic templated field type.
static constexpr int masterNo() noexcept
Relative rank for the master process - is always 0.
void writeList(vtk::formatter &fmt, const UList< uint8_t > &values)
Write a list of uint8_t values.
label nLocalPoints_
Local number of points.
Output inter-processor communications stream.
word format(conversionProperties.get< word >("format"))
labelList patchIDs_
The selected patch ids.
tmp< Field< Type > > faceToPointInterpolate(const Field< Type > &ff) const
Interpolate from faces to points.
static bool master(const label communicator=worldComm)
True if process corresponds to the master rank in the communicator.
static rangeType subProcs(const label communicator=worldComm)
Range of process indices for sub-processes.
void reduce(T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Reduce inplace (cf. MPI Allreduce) using linear/tree communication schedule.
void write(const GeometricField< Type, PatchField, pointMesh > &field)
Write point field.