96 if (UPstream::parRun())
102 sendBuf_.resize_nocopy(this->size());
103 recvBuf_.resize_nocopy(this->size());
105 this->patchInternalField
108 procPatch_.reverseMeshPoints(),
112 if (commsType == Pstream::commsTypes::nonBlocking)
117 procPatch_.neighbProcNo(),
127 procPatch_.neighbProcNo(),
139 const Pstream::commsTypes commsType,
143 if (UPstream::parRun())
147 if (commsType != Pstream::commsTypes::nonBlocking)
149 recvBuf_.resize_nocopy(this->size());
154 procPatch_.neighbProcNo(),
163 const auto& ppp = procPatch_.procCyclicPolyPatch();
164 const tensor& forwardT = ppp.forwardT()[0];
170 this->addToInternalField(pField, recvBuf_);
Foam::processorCyclicPointPatchField.
processorCyclicPointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
commsTypes
Communications types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Processor patch boundary needs to be such that the ordering of points in the patch is the same on bot...
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
Foam::pointPatchFieldMapper.
virtual void initSwapAddSeparated(const Pstream::commsTypes commsType, Field< Type > &) const
Initialise swap of non-collocated patch point values.
void write(vtk::formatter &fmt, const Type &val, const label n=1)
Component-wise write of a value (N times)
Generic templated field type.
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
Basic pointPatch represents a set of points from the mesh.
A Coupled boundary condition for pointField.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const std::string patch
OpenFOAM patch number as a std::string.
virtual void swapAddSeparated(const Pstream::commsTypes commsType, Field< Type > &) const
Complete swap of patch point values and add to local values.