Public Member Functions | Private Member Functions | Private Attributes
processorPointPatch Class Reference

Processor patch boundary needs to be such that the ordering of points in the patch is the same on both sides. More...

Inheritance diagram for processorPointPatch:
Inheritance graph
[legend]
Collaboration diagram for processorPointPatch:
Collaboration graph
[legend]

Public Member Functions

 TypeName (processorPolyPatch::typeName_())
 Runtime type information. More...
 
 processorPointPatch (const polyPatch &patch, const pointBoundaryMesh &bm)
 Construct from components. More...
 
virtual ~processorPointPatch ()
 Destructor. More...
 
virtual int tag () const
 Return message tag to use for communication. More...
 
virtual label comm () const
 Return communicator used for communication. More...
 
virtual const wordconstraintType () const
 Return the constraint type this pointPatch implements. More...
 
int myProcNo () const
 Return processor number. More...
 
int neighbProcNo () const
 Return neigbour processor number. More...
 
bool isMaster () const
 Is this a master patch. More...
 
bool isSlave () const
 Is this a slave patch. More...
 
const processorPolyPatchprocPolyPatch () const
 Return the underlying processorPolyPatch. More...
 
const labelListreverseMeshPoints () const
 Return mesh points in the correct order for the receiving side. More...
 
- Public Member Functions inherited from coupledFacePointPatch
 TypeName (coupledPolyPatch::typeName_())
 Runtime type information. More...
 
 coupledFacePointPatch (const polyPatch &patch, const pointBoundaryMesh &bm)
 Construct from components. More...
 
virtual ~coupledFacePointPatch ()
 Destructor. More...
 
- Public Member Functions inherited from facePointPatch
 TypeName (polyPatch::typeName_())
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, facePointPatch, polyPatch,(const polyPatch &patch, const pointBoundaryMesh &bm),(patch, bm))
 
 facePointPatch (const polyPatch &, const pointBoundaryMesh &)
 Construct from polyPatch. More...
 
virtual ~facePointPatch ()
 Destructor. More...
 
const polyPatchpatch () const
 Return the polyPatch. More...
 
virtual const wordname () const
 Return name. More...
 
virtual label size () const
 Return size. More...
 
virtual label index () const
 Return the index of this patch in the pointBoundaryMesh. More...
 
virtual bool coupled () const
 Return true if this patch field is coupled. More...
 
virtual const labelListmeshPoints () const
 Return mesh points. More...
 
virtual const pointFieldlocalPoints () const
 Return pointField of points in patch. More...
 
virtual const vectorFieldpointNormals () const
 Return point unit normals. More...
 
- Public Member Functions inherited from pointPatch
 TypeName ("basePatch")
 Runtime type information. More...
 
 pointPatch (const pointBoundaryMesh &bm)
 
virtual ~pointPatch ()
 Destructor. More...
 
const pointBoundaryMeshboundaryMesh () const
 Return boundaryMesh reference. More...
 
virtual void applyConstraint (const label pointi, pointConstraint &) const
 Accumulate the effect of constraint direction of this patch. More...
 
- Public Member Functions inherited from coupledPointPatch
 TypeName (coupledPolyPatch::typeName_())
 Runtime type information. More...
 
 coupledPointPatch (const pointBoundaryMesh &bm)
 Construct from components. More...
 
virtual ~coupledPointPatch ()
 Destructor. More...
 

Private Member Functions

virtual void initGeometry (PstreamBuffers &)
 Initialise the calculation of the patch geometry. More...
 
virtual void calcGeometry (PstreamBuffers &)
 Calculate the patch geometry. More...
 
virtual void initMovePoints (PstreamBuffers &, const pointField &)
 Initialise the patches for moving points. More...
 
virtual void movePoints (PstreamBuffers &, const pointField &)
 Correct patches after moving points. More...
 
virtual void initUpdateMesh (PstreamBuffers &)
 Initialise the update of the patch topology. More...
 
virtual void updateMesh (PstreamBuffers &)
 Update of the patch topology. More...
 
 processorPointPatch (const processorPointPatch &)
 Disallow default construct as copy. More...
 
void operator= (const processorPointPatch &)
 Disallow default assignment. More...
 

Private Attributes

const processorPolyPatchprocPolyPatch_
 
labelList reverseMeshPoints_
 

Additional Inherited Members

- Static Public Member Functions inherited from facePointPatch
static autoPtr< facePointPatchNew (const polyPatch &, const pointBoundaryMesh &)
 Return a pointer to a new patch created on freestore from polyPatch. More...
 
- Protected Attributes inherited from facePointPatch
const polyPatchpolyPatch_
 Reference to the underlying polyPatch. More...
 

Detailed Description

Processor patch boundary needs to be such that the ordering of points in the patch is the same on both sides.

Looking at the creation of the faces on both sides of the processor patch they need to be identical on both sides with the normals pointing in opposite directions. This is achieved by calling the reverseFace function in the decomposition. It is therefore possible to re-create the ordering of patch points on the slave side by reversing all the patch faces of the owner.

Source files

Definition at line 57 of file processorPointPatch.H.

Constructor & Destructor Documentation

◆ processorPointPatch() [1/2]

Disallow default construct as copy.

◆ processorPointPatch() [2/2]

processorPointPatch ( const polyPatch patch,
const pointBoundaryMesh bm 
)

Construct from components.

Definition at line 108 of file processorPointPatch.C.

◆ ~processorPointPatch()

~processorPointPatch ( )
virtual

Destructor.

Definition at line 120 of file processorPointPatch.C.

Member Function Documentation

◆ initGeometry()

void initGeometry ( PstreamBuffers pBufs)
privatevirtual

Initialise the calculation of the patch geometry.

Implements coupledPointPatch.

Definition at line 50 of file processorPointPatch.C.

References forAll, facePointPatch::patch(), PrimitivePatch< Face, FaceList, PointField, PointType >::points(), and processorPointPatch::reverseMeshPoints_.

Referenced by processorPointPatch::initUpdateMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calcGeometry()

void calcGeometry ( PstreamBuffers pBufs)
privatevirtual

Calculate the patch geometry.

Implements coupledFacePointPatch.

Definition at line 75 of file processorPointPatch.C.

Referenced by processorPointPatch::updateMesh().

Here is the caller graph for this function:

◆ initMovePoints()

void initMovePoints ( PstreamBuffers ,
const pointField  
)
privatevirtual

Initialise the patches for moving points.

Implements coupledPointPatch.

Definition at line 80 of file processorPointPatch.C.

◆ movePoints()

void movePoints ( PstreamBuffers ,
const pointField  
)
privatevirtual

Correct patches after moving points.

Implements coupledPointPatch.

Definition at line 87 of file processorPointPatch.C.

◆ initUpdateMesh()

void initUpdateMesh ( PstreamBuffers pBufs)
privatevirtual

Initialise the update of the patch topology.

Implements coupledPointPatch.

Definition at line 91 of file processorPointPatch.C.

References processorPointPatch::initGeometry(), and facePointPatch::initUpdateMesh().

Here is the call graph for this function:

◆ updateMesh()

void updateMesh ( PstreamBuffers pBufs)
privatevirtual

Update of the patch topology.

Implements coupledPointPatch.

Definition at line 98 of file processorPointPatch.C.

References processorPointPatch::calcGeometry(), and facePointPatch::updateMesh().

Here is the call graph for this function:

◆ operator=()

void operator= ( const processorPointPatch )
private

Disallow default assignment.

◆ TypeName()

TypeName ( processorPolyPatch::typeName_()  )

Runtime type information.

◆ tag()

virtual int tag ( ) const
inlinevirtual

Return message tag to use for communication.

Reimplemented in processorCyclicPointPatch.

Definition at line 118 of file processorPointPatch.H.

References processorPointPatch::procPolyPatch_, and processorPolyPatch::tag().

Here is the call graph for this function:

◆ comm()

virtual label comm ( ) const
inlinevirtual

Return communicator used for communication.

Definition at line 124 of file processorPointPatch.H.

References processorPolyPatch::comm(), and processorPointPatch::procPolyPatch_.

Here is the call graph for this function:

◆ constraintType()

virtual const word& constraintType ( ) const
inlinevirtual

Return the constraint type this pointPatch implements.

Reimplemented from pointPatch.

Definition at line 130 of file processorPointPatch.H.

References Foam::type().

Here is the call graph for this function:

◆ myProcNo()

int myProcNo ( ) const
inline

Return processor number.

Definition at line 136 of file processorPointPatch.H.

References processorPolyPatch::myProcNo(), and processorPointPatch::procPolyPatch_.

Referenced by processorPointPatch::isMaster().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ neighbProcNo()

int neighbProcNo ( ) const
inline

Return neigbour processor number.

Definition at line 142 of file processorPointPatch.H.

References processorPolyPatch::neighbProcNo(), and processorPointPatch::procPolyPatch_.

Referenced by processorPointPatch::isMaster().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isMaster()

bool isMaster ( ) const
inline

Is this a master patch.

Definition at line 148 of file processorPointPatch.H.

References processorPointPatch::myProcNo(), and processorPointPatch::neighbProcNo().

Referenced by processorPointPatch::isSlave().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isSlave()

bool isSlave ( ) const
inline

Is this a slave patch.

Definition at line 154 of file processorPointPatch.H.

References processorPointPatch::isMaster().

Here is the call graph for this function:

◆ procPolyPatch()

const processorPolyPatch& procPolyPatch ( ) const
inline

Return the underlying processorPolyPatch.

Definition at line 160 of file processorPointPatch.H.

References processorPointPatch::procPolyPatch_.

Referenced by processorPointPatchField< Type >::doTransform(), and processorCyclicPointPatchField< Type >::doTransform().

Here is the caller graph for this function:

◆ reverseMeshPoints()

const Foam::labelList & reverseMeshPoints ( ) const

Return mesh points in the correct order for the receiving side.

Definition at line 126 of file processorPointPatch.C.

Field Documentation

◆ procPolyPatch_

const processorPolyPatch& procPolyPatch_
private

◆ reverseMeshPoints_

labelList reverseMeshPoints_
mutableprivate

Definition at line 65 of file processorPointPatch.H.

Referenced by processorPointPatch::initGeometry().


The documentation for this class was generated from the following files: