Go to the documentation of this file.
42 #ifndef processorPolyPatch_H
43 #define processorPolyPatch_H
100 const word& patchType = typeName
159 const word& patchType = typeName
169 const word& patchType
277 return neighbProcNo_;
281 virtual bool owner()
const
283 return (myProcNo_ < neighbProcNo_);
303 return neighbFaceCentres_;
309 return neighbFaceAreas_;
315 return neighbFaceCellCentres_;
325 virtual int tag()
const
331 virtual label
comm()
const
354 const face& localFace,
356 const face& masterFace,
358 const bool sameOrientation,
359 const scalar absTolSqr,
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
A class for handling words, derived from Foam::string.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
void initMovePoints(PstreamBuffers &, const pointField &)
Initialise the patches for moving points.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
int neighbProcNo() const
Return neighbour processor number.
const labelList & neighbEdges() const
Return neighbour edge labels. WIP.
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
void calcGeometry(PstreamBuffers &)
Calculate the patch geometry.
const vectorField & neighbFaceAreas() const
Return processor-neighbour patch face areas.
label comm() const noexcept
Return communicator used for parallel communication.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
static label matchFace(const face &localFace, const pointField &localPts, const face &masterFace, const pointField &masterPts, const bool sameOrientation, const scalar absTolSqr, scalar &matchDistSqr)
Returns rotation.
const vectorField & neighbFaceCellCentres() const
Return processor-neighbour patch neighbour cell centres.
const polyMesh & mesh() const noexcept
Return the mesh reference.
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
virtual autoPtr< polyPatch > clone(const polyBoundaryMesh &bm) const
Construct and return a clone, resetting the boundary mesh.
void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
Neighbour processor patch.
virtual bool coupled() const
Return true only if this is a parallel run.
virtual bool owner() const
Does the processor own the patch ?
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const vectorField & neighbFaceCentres() const
Return processor-neighbour patch face centres.
label index() const noexcept
The index of this patch in the boundaryMesh.
label start() const
Return start label of this patch in the polyMesh face list.
virtual transformType transform() const
Type of transform.
void movePoints(PstreamBuffers &, const pointField &)
Correct patches after moving points.
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
virtual int tag() const
Return message tag to use for communication.
processorPolyPatch(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const int myProcNo, const int neighbProcNo, const transformType transform=UNKNOWN, const word &patchType=typeName)
Construct from components with specified name.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
const labelList & neighbPoints() const
Return neighbour point labels. WIP.
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
static int & msgType() noexcept
Message tag of standard messages.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
static bool & parRun() noexcept
Test if this a parallel run.
static word newName(const label myProcNo, const label neighbProcNo)
Return the name of a processorPolyPatch.
virtual label comm() const
Return communicator used for communication.
virtual void transformPosition(pointField &l) const
Transform a patch-based position from other side to this side.
virtual void transformPosition(point &, const label facei) const
Transform a patch-based position from other side to this side.
A face is a list of labels corresponding to mesh vertices.
const word & name() const noexcept
The patch name.
int myProcNo() const
Return processor number.
virtual void updateMesh(PstreamBuffers &)
Update of the patch topology.
Forwards for various types of face lists.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual ~processorPolyPatch()
Destructor.
bool neighbour() const
Is the processor the patch neighbour ?
TypeName("processor")
Runtime type information.
virtual bool order(PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const
Return new ordering for primitivePatch.
A list of faces which address into the list of points.