coupledPolyPatch Class Referenceabstract

The coupledPolyPatch is an abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links. More...

Inheritance diagram for coupledPolyPatch:
Collaboration diagram for coupledPolyPatch:

Classes

struct  ownToNbrDebugOrderData
 Data to pass from owner.initOrder to nbr.order if debugging. More...
 
struct  ownToNbrOrderData
 Data to pass from owner.initOrder to nbr.order. More...
 
struct  ownToOwnOrderData
 Data to pass from owner.initOrder to owner.order. More...
 

Public Member Functions

 TypeName ("coupled")
 Runtime type information. More...
 
 coupledPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType)
 Construct from components. More...
 
 coupledPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType)
 Construct from dictionary. More...
 
 coupledPolyPatch (const coupledPolyPatch &, const polyBoundaryMesh &)
 Construct as copy, resetting the boundary mesh. More...
 
 coupledPolyPatch (const coupledPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart)
 Construct given the original patch and resetting the. More...
 
virtual ~coupledPolyPatch ()
 Destructor. More...
 
virtual bool coupled () const
 Return true because this patch is coupled. More...
 
virtual bool owner () const =0
 Does this side own the patch ? More...
 
virtual bool neighbour () const
 Does the coupled side own the patch ? More...
 
virtual const transformertransform () const =0
 Return transformation between the coupled patches. More...
 
scalar matchTolerance () const
 Return the matching tolerance. More...
 
virtual void initOrder (PstreamBuffers &, const primitivePatch &) const =0
 Initialise ordering for primitivePatch. Does not. More...
 
virtual bool order (PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const =0
 Return new ordering for primitivePatch. More...
 
virtual void write (Ostream &) const
 Write the polyPatch data as a dictionary. More...
 
- Public Member Functions inherited from polyPatch
 TypeName ("patch")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, polyPatch, word,(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType),(name, size, start, index, bm, patchType))
 
 declareRunTimeSelectionTable (autoPtr, polyPatch, dictionary,(const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType),(name, dict, index, bm, patchType))
 
 polyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType)
 Construct from components. More...
 
 polyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType)
 Construct from dictionary. More...
 
 polyPatch (const polyPatch &, const polyBoundaryMesh &)
 Copy constructor, resetting the boundary mesh. More...
 
 polyPatch (const polyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart)
 Construct given the original patch and resetting the. More...
 
 polyPatch (const polyPatch &)
 Copy constructor. More...
 
virtual autoPtr< polyPatchclone (const polyBoundaryMesh &bm) const
 Construct and return a clone, resetting the boundary mesh. More...
 
virtual autoPtr< polyPatchclone (const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) const
 Construct and return a clone, resetting the face list. More...
 
virtual ~polyPatch ()
 Destructor. More...
 
label start () const
 Return start label of this patch in the polyMesh face list. More...
 
const polyBoundaryMeshboundaryMesh () const
 Return boundaryMesh reference. More...
 
template<class T >
const UIndirectList< TpatchInternalList (const UList< T > &internalValues) const
 Extract face cell data. More...
 
template<class T >
const List< T >::subList patchSlice (const UList< T > &l) const
 Slice list to patch. More...
 
template<class T >
const Field< T >::subField patchSlice (const Field< T > &l) const
 Slice Field to patch. More...
 
const vectorField::subField faceCentres () const
 Return face centres. More...
 
const vectorField::subField faceAreas () const
 Return face areas. More...
 
const scalarField::subField magFaceAreas () const
 Return face area magnitudes. More...
 
tmp< vectorFieldfaceCellCentres () const
 Return face cell centres. More...
 
const labelUListfaceCells () const
 Return face-cell addressing. More...
 
const labelListmeshEdges () const
 Return global edge index for local edges. More...
 
virtual void clearAddressing ()
 Clear addressing. More...
 
label whichFace (const label l) const
 Return label of face in patch from global face label. More...
 
void operator= (const polyPatch &)
 Assignment. More...
 
- Public Member Functions inherited from patchIdentifier
 patchIdentifier (const word &name, const label index, const word &physicalType=word::null, const wordList &inGroups=wordList())
 Construct from components. More...
 
 patchIdentifier (const word &name, const dictionary &, const label index)
 Construct from dictionary. More...
 
 patchIdentifier (const patchIdentifier &, const label index)
 Construct from geometric patch, resetting the index. More...
 
virtual ~patchIdentifier ()
 Destructor. More...
 
const wordname () const
 Return name. More...
 
label index () const
 Return the index of this patch in the boundaryMesh. More...
 
const wordphysicalType () const
 Return the optional physical type of the patch. More...
 
wordphysicalType ()
 Return the optional physical type of the patch for modification. More...
 
const wordListinGroups () const
 Return the optional groups patch belongs to. More...
 
wordListinGroups ()
 Return the optional groups patch belongs to for modification. More...
 
bool inGroup (const word &) const
 Test if in group. More...
 
void write (Ostream &) const
 Write patchIdentifier as a dictionary. More...
 
- Public Member Functions inherited from PrimitivePatch< SubList< face >, const pointField & >
 PrimitivePatch (const SubList< face > &faces, const Field< PointType > &points)
 Construct from components. More...
 
 PrimitivePatch (SubList< face > &&faces, Field< PointType > &&points)
 Move constructor from components. More...
 
 PrimitivePatch (SubList< face > &faces, Field< PointType > &points, const bool reuse)
 Construct from components, reuse storage. More...
 
 PrimitivePatch (const PrimitivePatch< SubList< face >, const pointField & > &)
 Copy constructor. More...
 
 PrimitivePatch (PrimitivePatch< SubList< face >, const pointField & > &&)
 Move constructor. More...
 
autoPtr< PrimitivePatch< SubList< face >, const pointField & > > clone () const
 Construct and return a clone. More...
 
 ~PrimitivePatch ()
 Destructor. More...
 
const Field< PointType > & points () const
 Return reference to global points. More...
 
label nPoints () const
 Return number of points supporting patch faces. More...
 
label nEdges () const
 Return number of edges in patch. More...
 
const edgeListedges () const
 Return list of edges, address into LOCAL point list. More...
 
label nInternalEdges () const
 Number of internal edges. More...
 
bool isInternalEdge (const label edgeI) const
 Is internal edge? More...
 
const labelListboundaryPoints () const
 Return list of boundary points,. More...
 
const labelListListfaceFaces () const
 Return face-face addressing. More...
 
const labelListListedgeFaces () const
 Return edge-face addressing. More...
 
const labelListListfaceEdges () const
 Return face-edge addressing. More...
 
const labelListListpointEdges () const
 Return point-edge addressing. More...
 
const labelListListpointFaces () const
 Return point-face addressing. More...
 
const List< FaceType > & localFaces () const
 Return patch faces addressing into local point list. More...
 
const labelListmeshPoints () const
 Return labelList of mesh points in patch. They are constructed. More...
 
const Map< label > & meshPointMap () const
 Mesh point map. Given the global point index find its. More...
 
const Field< PointType > & localPoints () const
 Return pointField of points in patch. More...
 
const labelListlocalPointOrder () const
 Return orders the local points for most efficient search. More...
 
label whichPoint (const label gp) const
 Given a global point index, return the local point index. More...
 
label whichEdge (const edge &) const
 Given an edge in local point labels, return its. More...
 
labelList meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const
 Return labels of patch edges in the global edge list using. More...
 
labelList meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const
 Return labels of patch edges in the global edge list using. More...
 
const Field< PointType > & faceCentres () const
 Return face centres for patch. More...
 
const Field< PointType > & faceAreas () const
 Return face areas for patch. More...
 
const Field< PointType > & faceNormals () const
 Return face normals for patch. More...
 
const Field< PointType > & pointNormals () const
 Return point normals for patch. More...
 
List< objectHitprojectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction=intersection::direction::vector) const
 Project vertices of patch onto another patch. More...
 
Foam::List< Foam::objectHitprojectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 
List< objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction=intersection::direction::vector) const
 Project vertices of patch onto another patch. More...
 
Foam::List< Foam::objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 
const labelListListedgeLoops () const
 Return list of closed loops of boundary vertices. More...
 
surfaceTopo surfaceType () const
 Calculate surface type formed by patch. More...
 
bool checkTopology (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check surface formed by patch for manifoldness (see above). More...
 
bool checkPointManifold (const bool report=false, labelHashSet *setPtr=nullptr) const
 Checks primitivePatch for faces sharing point but not edge. More...
 
void clearOut ()
 
void clearGeom ()
 
void clearTopology ()
 
void clearPatchMeshAddr ()
 
void operator= (const PrimitivePatch< SubList< face >, const pointField & > &)
 Assignment operator. More...
 
void operator= (PrimitivePatch< SubList< face >, const pointField & > &&)
 Move assignment operator. More...
 
- Public Member Functions inherited from SubList< T >
 SubList (const UList< T > &list, const label subSize)
 Construct from UList and sub-list size. More...
 
 SubList (const UList< T > &list, const label subSize, const label startIndex)
 Construct from UList, sub-list size and start index. More...
 
 SubList (const SubList< T > &sl)=default
 Copy constructor. More...
 
 operator const Foam::List< T > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const SubList< T > &)
 Assignment of all entries to the given sub-list. More...
 
void operator= (const UList< T > &)
 Assignment of all entries to the given list. More...
 
void operator= (const T &)
 Assignment of all entries to the given value. More...
 
- Public Member Functions inherited from UList< T >
 UList ()
 Null constructor. More...
 
 UList (T *__restrict__ v, label size)
 Construct from components. More...
 
 UList (const UList< T > &)=default
 Copy construct. More...
 
label fcIndex (const label i) const
 Return the forward circular index, i.e. the next index. More...
 
label rcIndex (const label i) const
 Return the reverse circular index, i.e. the previous index. More...
 
std::streamsize byteSize () const
 Return the binary size in number of characters of the UList. More...
 
const Tcdata () const
 Return a const pointer to the first data element,. More...
 
Tdata ()
 Return a pointer to the first data element,. More...
 
Tfirst ()
 Return the first element of the list. More...
 
const Tfirst () const
 Return first element of the list. More...
 
Tlast ()
 Return the last element of the list. More...
 
const Tlast () const
 Return the last element of the list. More...
 
void checkStart (const label start) const
 Check start is within valid range (0 ... size-1) More...
 
void checkSize (const label size) const
 Check size is within valid range (0 ... size) More...
 
void checkIndex (const label i) const
 Check index i is within valid range (0 ... size-1) More...
 
void shallowCopy (const UList< T > &)
 Copy the pointer held by the given UList. More...
 
void deepCopy (const UList< T > &)
 Copy elements of the given UList. More...
 
Toperator[] (const label)
 Return element of UList. More...
 
const Toperator[] (const label) const
 Return element of constant UList. More...
 
 operator const Foam::List< T > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const T &)
 Assignment of all entries to the given value. More...
 
void operator= (const zero)
 Assignment of all entries to zero. More...
 
iterator begin ()
 Return an iterator to begin traversing the UList. More...
 
iterator end ()
 Return an iterator to end traversing the UList. More...
 
const_iterator cbegin () const
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator cend () const
 Return const_iterator to end traversing the constant UList. More...
 
const_iterator begin () const
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator end () const
 Return const_iterator to end traversing the constant UList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the UList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
label size () const
 Return the number of elements in the UList. More...
 
label max_size () const
 Return size of the largest possible UList. More...
 
bool empty () const
 Return true if the UList is empty (ie, size() is zero) More...
 
void swap (UList< T > &)
 Swap two ULists of the same type in constant time. More...
 
bool operator== (const UList< T > &) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< T > &) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const UList< T > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator> (const UList< T > &) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< T > &) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< T > &) const
 Return true if !(a < b). Takes linear time. More...
 
const bool & operator[] (const label i) const
 

Static Public Member Functions

static scalarField calcFaceTol (const UList< face > &faces, const pointField &points, const pointField &faceCentres)
 Calculate typical tolerance per face. Is currently max distance. More...
 
- Static Public Member Functions inherited from polyPatch
static autoPtr< polyPatchNew (const word &patchType, const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm)
 Return a pointer to a new patch created on freestore from. More...
 
static autoPtr< polyPatchNew (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm)
 Return a pointer to a new patch created on freestore from. More...
 
static autoPtr< polyPatchNew (const word &patchType, const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm)
 Return a pointer to a new patch created on freestore from. More...
 
static bool constraintType (const word &pt)
 Return true if the given type is a constraint type. More...
 
static wordList constraintTypes ()
 Return a list of all the constraint patch types. More...
 
- Static Public Member Functions inherited from SubList< T >
static const SubList< T > & null ()
 Return a null SubList. More...
 
- Static Public Member Functions inherited from UList< T >
static const UList< T > & null ()
 Return a null UList. More...
 

Protected Member Functions

virtual void initCalcGeometry (PstreamBuffers &)=0
 Initialise the calculation of the patch geometry. More...
 
virtual void calcGeometry (PstreamBuffers &)=0
 Calculate the patch geometry. More...
 
virtual void initMovePoints (PstreamBuffers &, const pointField &)=0
 Initialise the patches for moving points. More...
 
virtual void movePoints (PstreamBuffers &, const pointField &)=0
 Correct patches after moving points. More...
 
virtual void initTopoChange (PstreamBuffers &)=0
 Initialise the update of the patch topology. More...
 
virtual void topoChange (PstreamBuffers &)=0
 Update of the patch topology. More...
 
virtual void initOrder (ownToNbrOrderData &ownToNbr, autoPtr< ownToNbrDebugOrderData > &ownToNbrDebugPtr, const primitivePatch &) const
 Initialise ordering for the given primitivePatch. Fills the. More...
 
virtual bool order (const ownToNbrOrderData &ownToNbr, const autoPtr< ownToNbrDebugOrderData > &ownToNbrDebugPtr, const primitivePatch &, labelList &faceMap, labelList &rotation) const
 Return new ordering for the given primitivePatch. More...
 
- Protected Member Functions inherited from polyPatch
virtual void movePoints (const pointField &p)
 Correct patches after moving points. More...
 
virtual void clearGeom ()
 Clear geometry. More...
 
virtual void rename (const wordList &newNames)
 Reset the patch name. More...
 
virtual void reorder (const labelUList &newToOldIndex)
 Reset the patch index. More...
 

Static Protected Member Functions

static void writeOBJ (const fileName &, const primitivePatch &)
 Write a patch in OBJ format. More...
 
static void writeOBJ (const fileName &, const pointField &, const pointField &)
 Write lines between two lists of points in OBJ format. More...
 
static void writeOBJ (const fileName &, const pointField &, const labelListList &)
 Write a set of paths in OBJ format. More...
 

Protected Attributes

const scalar matchTolerance_
 Local matching tolerance. More...
 
autoPtr< ownToOwnOrderDataownToOwnOrderDataPtr_
 Data to pass from owner.initOrder to owner.order. More...
 
- Protected Attributes inherited from patchIdentifier
word name_
 Name of patch. More...
 
label index_
 Index of patch in boundary. More...
 
word physicalType_
 Optional physical type. More...
 
wordList inGroups_
 Optional groups patch belongs to. More...
 

Static Protected Attributes

static const scalar defaultMatchTol_ = 1e-4
 Default matching tolerance. More...
 

Friends

Istreamoperator>> (Istream &, ownToNbrOrderData &)
 
Ostreamoperator<< (Ostream &, const ownToNbrOrderData &)
 
Istreamoperator>> (Istream &, ownToNbrDebugOrderData &)
 
Ostreamoperator<< (Ostream &, const ownToNbrDebugOrderData &)
 

Additional Inherited Members

- Public Types inherited from PrimitivePatch< SubList< face >, const pointField & >
enum  surfaceTopo
 Enumeration defining the surface type. Used in check routines. More...
 
typedef SubList< faceFaceListType
 
typedef std::remove_reference< SubList< face > >::type::value_type FaceType
 
typedef const pointFieldPointFieldType
 
typedef std::remove_reference< const pointField & >::type::value_type PointType
 
- Public Types inherited from UList< T >
typedef T value_type
 Type of values the UList contains. More...
 
typedef Treference
 Type that can be used for storing into. More...
 
typedef const Tconst_reference
 Type that can be used for storing into. More...
 
typedef label difference_type
 The type that can represent the difference between any two. More...
 
typedef label size_type
 The type that can represent the size of a UList. More...
 
typedef Titerator
 Random access iterator for traversing UList. More...
 
typedef const Tconst_iterator
 Random access iterator for traversing UList. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator for reverse traversal of UList. More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Reverse iterator for reverse traversal of constant UList. More...
 
- Static Public Attributes inherited from polyPatch
static int disallowGenericPolyPatch
 Debug switch to disallow the use of genericPolyPatch. More...
 

Detailed Description

The coupledPolyPatch is an abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links.

Source files

Definition at line 52 of file coupledPolyPatch.H.

Constructor & Destructor Documentation

◆ coupledPolyPatch() [1/4]

coupledPolyPatch ( const word name,
const label  size,
const label  start,
const label  index,
const polyBoundaryMesh bm,
const word patchType 
)

Construct from components.

Definition at line 526 of file coupledPolyPatch.C.

◆ coupledPolyPatch() [2/4]

coupledPolyPatch ( const word name,
const dictionary dict,
const label  index,
const polyBoundaryMesh bm,
const word patchType 
)

Construct from dictionary.

Definition at line 542 of file coupledPolyPatch.C.

◆ coupledPolyPatch() [3/4]

coupledPolyPatch ( const coupledPolyPatch pp,
const polyBoundaryMesh bm 
)

Construct as copy, resetting the boundary mesh.

Definition at line 557 of file coupledPolyPatch.C.

◆ coupledPolyPatch() [4/4]

coupledPolyPatch ( const coupledPolyPatch pp,
const polyBoundaryMesh bm,
const label  index,
const label  newSize,
const label  newStart 
)

Construct given the original patch and resetting the.

face list and boundary mesh information

Definition at line 569 of file coupledPolyPatch.C.

◆ ~coupledPolyPatch()

~coupledPolyPatch ( )
virtual

Destructor.

Definition at line 586 of file coupledPolyPatch.C.

Member Function Documentation

◆ initCalcGeometry()

virtual void initCalcGeometry ( PstreamBuffers )
protectedpure virtual

Initialise the calculation of the patch geometry.

Reimplemented from polyPatch.

Implemented in processorCyclicPolyPatch, processorPolyPatch, cyclicPolyPatch, and nonConformalCyclicPolyPatch.

◆ calcGeometry()

virtual void calcGeometry ( PstreamBuffers )
protectedpure virtual

Calculate the patch geometry.

Reimplemented from polyPatch.

Implemented in processorCyclicPolyPatch, processorPolyPatch, cyclicPolyPatch, and nonConformalCyclicPolyPatch.

◆ initMovePoints()

virtual void initMovePoints ( PstreamBuffers ,
const pointField  
)
protectedpure virtual

Initialise the patches for moving points.

Reimplemented from polyPatch.

Implemented in nonConformalCyclicPolyPatch, processorCyclicPolyPatch, processorPolyPatch, and cyclicPolyPatch.

◆ movePoints()

virtual void movePoints ( PstreamBuffers ,
const pointField  
)
protectedpure virtual

Correct patches after moving points.

Reimplemented from polyPatch.

Implemented in processorCyclicPolyPatch, processorPolyPatch, and cyclicPolyPatch.

◆ initTopoChange()

virtual void initTopoChange ( PstreamBuffers )
protectedpure virtual

Initialise the update of the patch topology.

Reimplemented from polyPatch.

Implemented in processorCyclicPolyPatch, processorPolyPatch, cyclicPolyPatch, and nonConformalCyclicPolyPatch.

◆ topoChange()

virtual void topoChange ( PstreamBuffers )
protectedpure virtual

Update of the patch topology.

Reimplemented from polyPatch.

Implemented in processorCyclicPolyPatch, processorPolyPatch, and cyclicPolyPatch.

◆ writeOBJ() [1/3]

void writeOBJ ( const fileName name,
const primitivePatch pp 
)
staticprotected

Write a patch in OBJ format.

Definition at line 154 of file coupledPolyPatch.C.

References Foam::endl(), f(), forAll, PrimitivePatch< FaceList, PointField >::localFaces(), PrimitivePatch< FaceList, PointField >::localPoints(), Foam::name(), and p.

Here is the call graph for this function:

◆ writeOBJ() [2/3]

void writeOBJ ( const fileName name,
const pointField points0,
const pointField points1 
)
staticprotected

Write lines between two lists of points in OBJ format.

Definition at line 180 of file coupledPolyPatch.C.

References Foam::endl(), forAll, Foam::name(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ writeOBJ() [3/3]

void writeOBJ ( const fileName name,
const pointField points,
const labelListList paths 
)
staticprotected

Write a set of paths in OBJ format.

Definition at line 200 of file coupledPolyPatch.C.

References Foam::constant::universal::c, Foam::endl(), forAll, Foam::name(), points, and List< T >::size().

Here is the call graph for this function:

◆ initOrder() [1/2]

void initOrder ( ownToNbrOrderData ownToNbr,
autoPtr< ownToNbrDebugOrderData > &  ownToNbrDebugPtr,
const primitivePatch pp 
) const
protectedvirtual

Initialise ordering for the given primitivePatch. Fills the.

referenced data structures, but leaves transferring them to the opposite patch to the caller.

Definition at line 226 of file coupledPolyPatch.C.

References f(), PrimitivePatch< FaceList, PointField >::faceCentres(), Foam::faceMap(), forAll, PrimitivePatch< FaceList, PointField >::nEdges(), PrimitivePatch< FaceList, PointField >::nInternalEdges(), PrimitivePatch< FaceList, PointField >::nPoints(), PrimitivePatch< FaceList, PointField >::points(), coupledPolyPatch::ownToNbrOrderData::seedFacePoints, UList< T >::size(), and autoPtr< T >::valid().

Referenced by cyclicPolyPatch::initOrder(), and processorPolyPatch::initOrder().

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

◆ order() [1/2]

bool order ( const ownToNbrOrderData ownToNbr,
const autoPtr< ownToNbrDebugOrderData > &  ownToNbrDebugPtr,
const primitivePatch pp,
labelList faceMap,
labelList rotation 
) const
protectedvirtual

◆ TypeName()

TypeName ( "coupled"  )

Runtime type information.

◆ coupled()

virtual bool coupled ( ) const
inlinevirtual

Return true because this patch is coupled.

Reimplemented from polyPatch.

Reimplemented in processorPolyPatch, nonConformalProcessorCyclicPolyPatch, and nonConformalCyclicPolyPatch.

Definition at line 256 of file coupledPolyPatch.H.

Referenced by coupledFvPatch::coupled().

Here is the caller graph for this function:

◆ owner()

virtual bool owner ( ) const
pure virtual

◆ neighbour()

virtual bool neighbour ( ) const
inlinevirtual

Does the coupled side own the patch ?

Reimplemented in processorPolyPatch, and cyclicPolyPatch.

Definition at line 265 of file coupledPolyPatch.H.

References coupledPolyPatch::owner().

Here is the call graph for this function:

◆ transform()

◆ matchTolerance()

scalar matchTolerance ( ) const
inline

Return the matching tolerance.

Definition at line 274 of file coupledPolyPatch.H.

References coupledPolyPatch::matchTolerance_.

◆ initOrder() [2/2]

virtual void initOrder ( PstreamBuffers ,
const primitivePatch  
) const
pure virtual

Initialise ordering for primitivePatch. Does not.

refer to *this (except for name() and type() etc.)

Reimplemented from polyPatch.

Implemented in processorCyclicPolyPatch, processorPolyPatch, and cyclicPolyPatch.

◆ order() [2/2]

virtual bool order ( PstreamBuffers ,
const primitivePatch ,
labelList faceMap,
labelList rotation 
) const
pure virtual

Return new ordering for primitivePatch.

Ordering is -faceMap: for every face index of the new face -rotation:for every new face the clockwise shift of the original face. Return false if nothing changes (faceMap is identity, rotation is 0), true otherwise.

Reimplemented from polyPatch.

Implemented in processorCyclicPolyPatch, processorPolyPatch, and cyclicPolyPatch.

◆ calcFaceTol()

Foam::scalarField calcFaceTol ( const UList< face > &  faces,
const pointField points,
const pointField faceCentres 
)
static

Calculate typical tolerance per face. Is currently max distance.

from face centre to any of the face vertices.

Definition at line 592 of file coupledPolyPatch.C.

References Foam::cmptMag(), Foam::cmptMax(), f(), forAll, Foam::magSqr(), Foam::max(), points, UList< T >::size(), and Foam::sqrt().

Referenced by Foam::meshCheck::checkCoupledPoints().

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

◆ write()

void write ( Ostream os) const
virtual

Write the polyPatch data as a dictionary.

Reimplemented from polyPatch.

Reimplemented in processorCyclicPolyPatch, processorPolyPatch, cyclicPolyPatch, nonConformalProcessorCyclicPolyPatch, and nonConformalCyclicPolyPatch.

Definition at line 632 of file coupledPolyPatch.C.

References polyPatch::write(), and Foam::writeEntry().

Referenced by cyclicPolyPatch::write(), and processorPolyPatch::write().

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

Friends And Related Function Documentation

◆ operator>> [1/2]

Istream& operator>> ( Istream ,
ownToNbrOrderData  
)
friend

◆ operator<< [1/2]

Ostream& operator<< ( Ostream ,
const ownToNbrOrderData  
)
friend

◆ operator>> [2/2]

Istream& operator>> ( Istream ,
ownToNbrDebugOrderData  
)
friend

◆ operator<< [2/2]

Ostream& operator<< ( Ostream ,
const ownToNbrDebugOrderData  
)
friend

Member Data Documentation

◆ defaultMatchTol_

const scalar defaultMatchTol_ = 1e-4
staticprotected

Default matching tolerance.

Definition at line 126 of file coupledPolyPatch.H.

◆ matchTolerance_

const scalar matchTolerance_
protected

Local matching tolerance.

Definition at line 129 of file coupledPolyPatch.H.

Referenced by coupledPolyPatch::matchTolerance().

◆ ownToOwnOrderDataPtr_

autoPtr<ownToOwnOrderData> ownToOwnOrderDataPtr_
mutableprotected

Data to pass from owner.initOrder to owner.order.

Definition at line 132 of file coupledPolyPatch.H.


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