The coupledPolyPatch is an abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links. More...
Public Types | |
enum | transformType { UNKNOWN, ROTATIONAL, TRANSLATIONAL, COINCIDENTFULLMATCH, NOORDERING } |
Public Types inherited from PrimitivePatch< FaceList, PointField > | |
enum | surfaceTopo { MANIFOLD, OPEN, ILLEGAL } |
Enumeration defining the surface type. Used in check routines. More... | |
typedef std::remove_reference< FaceList >::type::value_type | face_type |
The face type. More... | |
typedef std::remove_reference< PointField >::type::value_type | point_type |
The point type. More... | |
typedef FaceList | FaceListType |
The face list type. More... | |
typedef PointField | PointFieldType |
The point field type. More... | |
typedef face_type | FaceType |
Deprecated(2020-03) prefer face_type typedef. 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, const transformType transform) | |
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 &bm) | |
Copy construct, resetting the boundary mesh. More... | |
coupledPolyPatch (const coupledPolyPatch &, const labelList &faceCells) | |
Copy construct, resetting the faceCells. 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 face list and boundary mesh information. More... | |
coupledPolyPatch (const coupledPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) | |
Construct given the original patch and a map. 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 label | referPatchID () const |
The referring patchID (eg, for cyclics). More... | |
virtual transformType | transform () const |
Type of transform. More... | |
virtual transformType & | transform () |
Type of transform. More... | |
virtual void | transformPosition (pointField &) const =0 |
Transform a patch-based position from other side to this side. More... | |
virtual void | transformPosition (point &, const label facei) const =0 |
Transform a patch-based position from other side to this side. More... | |
virtual bool | separated () const |
Are the planes separated. More... | |
virtual const vectorField & | separation () const |
If the planes are separated the separation vector. More... | |
virtual bool | parallel () const |
Are the cyclic planes parallel. More... | |
virtual const tensorField & | forwardT () const |
Return face transformation tensor. More... | |
virtual const tensorField & | reverseT () const |
Return neighbour-cell transformation tensor. More... | |
virtual const boolList & | collocated () const |
Are faces collocated. Either size 0,1 or length of patch. More... | |
scalar | matchTolerance () const |
virtual void | calcGeometry (const primitivePatch &referPatch, const pointField &thisCtrs, const vectorField &thisAreas, const pointField &thisCc, const pointField &nbrCtrs, const vectorField &nbrAreas, const pointField &nbrCc)=0 |
Calculate the patch geometry. More... | |
virtual void | initOrder (PstreamBuffers &, const primitivePatch &) const =0 |
Initialize 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 &os) 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 label size, const label start, const label index, const polyBoundaryMesh &bm, const word &physicalType, const wordList &inGroups) | |
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 construct, 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 face list and boundary mesh information. More... | |
polyPatch (const polyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) | |
Construct given the original patch and a map. More... | |
polyPatch (const polyPatch &p) | |
Copy construct. More... | |
polyPatch (const polyPatch &p, const labelList &faceCells) | |
Copy construct, setting faceCells. More... | |
virtual autoPtr< polyPatch > | clone (const labelList &faceCells) const |
Construct and return a clone, setting faceCells. More... | |
virtual autoPtr< polyPatch > | clone (const polyBoundaryMesh &bm) const |
Construct and return a clone, resetting the boundary mesh. More... | |
virtual autoPtr< polyPatch > | clone (const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) const |
Construct and return a clone, resetting the face list and boundary mesh. More... | |
virtual autoPtr< polyPatch > | clone (const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) const |
Construct and return a clone, resetting the face list and boundary mesh. More... | |
virtual | ~polyPatch () |
Destructor. More... | |
virtual void | newInternalProcFaces (label &, label &) const |
Return number of new internal of this polyPatch faces. More... | |
virtual const labelUList & | nbrCells () const |
Return nbrCells. More... | |
virtual label | neighbPolyPatchID () const |
Return nbr patchID. More... | |
virtual refPtr< labelListList > | mapCollocatedFaces () const |
Return mapped collocated faces. More... | |
virtual bool | masterImplicit () const |
Return implicit master. More... | |
virtual word | neighbRegionID () const |
Return neighbour region name. More... | |
label | offset () const noexcept |
The offset where this patch starts in the boundary face list. More... | |
label | start () const noexcept |
Return start label of this patch in the polyMesh face list. More... | |
labelRange | range () const |
Return start/size range of this patch. More... | |
const polyBoundaryMesh & | boundaryMesh () const noexcept |
Return boundaryMesh reference. More... | |
template<class T > | |
const UIndirectList< T > | patchInternalList (const UList< T > &internalValues) const |
Extract face cell data. More... | |
template<class T > | |
const List< T >::subList | patchSlice (const UList< T > &values) const |
This patch slice from the complete list, which has size mesh::nFaces(), using the number of patch faces. More... | |
template<class T > | |
const List< T >::subList | boundarySlice (const List< T > &values) const |
This patch slice from the list of boundary values, which has size mesh::nBoundaryFaces(), using the number of patch faces. More... | |
template<class T > | |
const Field< T >::subField | patchSlice (const Field< T > &values) const |
Slice Field to patch, using the number of patch faces. More... | |
const vectorField::subField | faceCentres () const |
Return face centres. More... | |
const vectorField::subField | faceAreas () const |
Return face normals. More... | |
tmp< vectorField > | faceCellCentres () const |
Return face cell centres. More... | |
tmp< scalarField > | areaFraction (const pointField &points) const |
Calculate the area fraction as the ratio of the stored face area and the area given by the face points. More... | |
tmp< scalarField > | areaFraction () const |
Return the cached area fraction. Usually only set for the non-overlap patches on ACMI. More... | |
void | areaFraction (const scalar fraction) |
Set uniform cached area fraction. More... | |
void | areaFraction (const tmp< scalarField > &fraction) |
Set cached area fraction (non-uniform) More... | |
const labelUList & | faceCells () const |
Return face-cell addressing. More... | |
const labelList & | meshEdges () const |
Return global edge index for local edges. More... | |
virtual void | clearAddressing () |
Clear addressing. More... | |
label | whichFace (const label facei) const noexcept |
Return label of face in patch from global face label. More... | |
virtual bool | changeTopology () const |
For dynamic mesh cases - return true if this patch will change the topology. More... | |
virtual bool | setTopology (polyTopoChange &) |
Collect topology changes in a polyTopoChange object. More... | |
void | operator= (const polyPatch &p) |
Copy assignment. More... | |
Public Member Functions inherited from patchIdentifier | |
patchIdentifier (const patchIdentifier &)=default | |
Copy construct. More... | |
patchIdentifier (patchIdentifier &&)=default | |
Move construct. More... | |
patchIdentifier & | operator= (const patchIdentifier &)=default |
Copy assignment. More... | |
patchIdentifier & | operator= (patchIdentifier &&)=default |
Move assignment. More... | |
virtual | ~patchIdentifier ()=default |
Destructor. More... | |
patchIdentifier () | |
Default construct: name="", index=0. More... | |
patchIdentifier (const word &name, const label index) | |
Construct from mandatory components. More... | |
patchIdentifier (const word &name, const label index, const word &physicalType, const wordList &inGroups=wordList()) | |
Construct from components. More... | |
patchIdentifier (const word &name, const dictionary &dict, const label index) | |
Construct from dictionary. More... | |
patchIdentifier (const patchIdentifier &ident, const label newIndex) | |
Copy construct, resetting the index (if non-negative) More... | |
patchIdentifier (patchIdentifier &&ident, const label newIndex) | |
Move construct, resetting the index (if non-negative) More... | |
const word & | name () const noexcept |
The patch name. More... | |
word & | name () noexcept |
Modifiable patch name. More... | |
label | index () const noexcept |
The index of this patch in the boundaryMesh. More... | |
label & | index () noexcept |
Modifiable index of this patch in the boundaryMesh. More... | |
const word & | physicalType () const noexcept |
The (optional) physical type of the patch. More... | |
word & | physicalType () noexcept |
Modifiable (optional) physical type of the patch. More... | |
const wordList & | inGroups () const noexcept |
The (optional) groups that the patch belongs to. More... | |
wordList & | inGroups () noexcept |
Modifiable (optional) groups that the patch belongs to. More... | |
bool | inGroup (const word &name) const |
True if given name is in a group. More... | |
void | addGroup (const word &name) |
Add (unique) group for the patch. More... | |
void | removeGroup (const word &name) |
Remove group for the patch. More... | |
void | write (Ostream &os) const |
Write (physicalType, inGroups) dictionary entries (without surrounding braces) More... | |
Public Member Functions inherited from PrimitivePatch< FaceList, PointField > | |
PrimitivePatch (const FaceList &faces, const PointField &points) | |
Construct from components. More... | |
PrimitivePatch (FaceList &&faces, const PointField &points) | |
Construct from components, transferring faces. More... | |
PrimitivePatch (FaceList &faces, PointField &points, const bool reuse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< FaceList, PointField > &pp) | |
Copy construct. More... | |
virtual | ~PrimitivePatch () |
Destructor. More... | |
void | clearOut () |
void | clearGeom () |
void | clearTopology () |
void | clearPatchMeshAddr () |
void | swap (PrimitivePatch &)=delete |
Suppress direct swapping, since storage containers may be const. More... | |
const Field< point_type > & | points () const noexcept |
Return reference to global points. More... | |
label | nFaces () const noexcept |
Number of faces in the patch. More... | |
label | nPoints () const |
Number of points supporting patch faces. More... | |
label | nEdges () const |
Number of edges in patch. More... | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. More... | |
const edgeList::subList | internalEdges () const |
Return sub-list of internal edges, address into LOCAL point list. More... | |
const edgeList::subList | boundaryEdges () const |
Return sub-list of boundary edges, address into LOCAL point list. More... | |
label | nInternalEdges () const |
Number of internal edges. More... | |
label | nBoundaryEdges () const |
Number of boundary edges == (nEdges() - nInternalEdges()) More... | |
bool | isInternalEdge (const label edgei) const |
Is internal edge? More... | |
const labelList & | boundaryPoints () const |
Return list of boundary points, address into LOCAL point list. More... | |
const labelListList & | faceFaces () const |
Return face-face addressing. More... | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. More... | |
const labelListList & | faceEdges () const |
Return face-edge addressing. More... | |
const labelListList & | pointEdges () const |
Return point-edge addressing. More... | |
const labelListList & | pointFaces () const |
Return point-face addressing. More... | |
const List< face_type > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
labelList | boundaryFaces () const |
Extract list of local faces corresponding to the boundary edges. More... | |
labelList | uniqBoundaryFaces () const |
Extract sorted list of unique local faces associated with the boundary edges. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. More... | |
const Map< label > & | meshPointMap () const |
Mesh point map. More... | |
const Field< point_type > & | localPoints () const |
Return pointField of points in patch. More... | |
const labelList & | localPointOrder () 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... | |
edge | meshEdge (const label edgei) const |
From patch edge to global edge using meshPoints. More... | |
edge | meshEdge (const edge &e) const |
From patch edge to global edge using meshPoints. More... | |
label | findEdge (const edge &e) const |
Search for edge (local point labels) and return its index in the edge list or -1 if not found. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using cell addressing. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges into the global edge list using basic edge addressing. More... | |
label | meshEdge (const label edgei, const edgeList &allEdges, const labelListList &pointEdges) const |
Return label of the local patch edge into the global edge list using basic edge addressing. More... | |
labelList | meshEdges (const labelUList &edgeLabels, const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of specified patch edges into the global edge list using basic edge addressing. More... | |
const Field< point_type > & | faceCentres () const |
Return face centres for patch. More... | |
const Field< point_type > & | faceAreas () const |
Return face area vectors for patch. More... | |
const Field< scalar > & | magFaceAreas () const |
Return face area magnitudes for patch. More... | |
const Field< point_type > & | faceNormals () const |
Return face unit normals for patch. More... | |
const Field< point_type > & | pointNormals () const |
Return point normals for patch. More... | |
Pair< point_type > | box () const |
The enclosing (bounding) box for the patch points. More... | |
scalar | sphere (const label facei) const |
The enclosing (bounding) sphere radius^2 for specified face. More... | |
bool | hasFaceAreas () const |
bool | hasFaceCentres () const |
bool | hasFaceNormals () const |
bool | hasPointNormals () const |
bool | hasBoundaryPoints () const |
bool | hasEdges () const |
bool | hasFaceFaces () const |
bool | hasEdgeFaces () const |
bool | hasFaceEdges () const |
bool | hasPointEdges () const |
bool | hasPointFaces () const |
bool | hasMeshPoints () const |
bool | hasMeshPointMap () const |
template<class ToPatch > | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
const labelListList & | edgeLoops () const |
Return list of closed loops of boundary vertices. More... | |
surfaceTopo | surfaceType (labelHashSet *badEdgesPtr=nullptr) const |
Calculate surface type formed by patch, optionally recording the indices of illegal edges. More... | |
bool | checkTopology (const bool report=false, labelHashSet *pointSetPtr=nullptr) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *pointSetPtr=nullptr) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
virtual void | movePoints (const Field< point_type > &) |
Correct patch after moving points. More... | |
void | operator= (const PrimitivePatch< FaceList, PointField > &rhs) |
Copy assign faces. Leave points alone (could be a reference). More... | |
void | operator= (PrimitivePatch< FaceList, PointField > &&rhs) |
Move assign faces. Leave points alone (could be a reference). More... | |
label | whichEdge (const edge &e) const |
Identical to findEdge. More... | |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
Public Member Functions inherited from PrimitivePatchBase | |
ClassName ("PrimitivePatch") | |
Runtime type information. More... | |
PrimitivePatchBase ()=default | |
Default construct. More... | |
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< polyPatch > | New (const word &patchType, const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from components. More... | |
static autoPtr< polyPatch > | New (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from dictionary. More... | |
static autoPtr< polyPatch > | New (const word &patchType, const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from dictionary. More... | |
static bool | constraintType (const word &patchType) |
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 patchIdentifier | |
static word | defaultName (const label n=-1) |
Default patch name: "patch" or "patchN". More... | |
Static Public Attributes | |
static const Enum< transformType > | transformTypeNames |
Static Public Attributes inherited from polyPatch | |
static int | disallowGenericPolyPatch |
Debug switch to disallow the use of genericPolyPatch. More... | |
Protected Member Functions | |
void | calcTransformTensors (const vectorField &Cf, const vectorField &Cr, const vectorField &nf, const vectorField &nr, const scalarField &smallDist, const scalar absTol, const transformType=UNKNOWN) const |
Calculate the transformation tensors. More... | |
virtual void | initGeometry (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 | initUpdateMesh (PstreamBuffers &)=0 |
Initialise the update of the patch topology. More... | |
virtual void | updateMesh (PstreamBuffers &)=0 |
Update of the patch topology. More... | |
Protected Member Functions inherited from polyPatch | |
virtual void | clearGeom () |
Clear geometry. More... | |
virtual void | movePoints (const Field< point_type > &) |
Inherit movePoints from primitivePatch. More... | |
Static Protected Member Functions | |
static void | writeOBJ (Ostream &os, const point &pt) |
Write point in OBJ format. More... | |
static void | writeOBJ (Ostream &, const pointField &, const labelList &) |
Write selected points in OBJ format. More... | |
static void | writeOBJ (const fileName &, const UList< face > &, const pointField &) |
Write patch. More... | |
static void | writeOBJ (Ostream &os, const point &p0, const point &p1, label &vertI) |
Write edge in OBJ format. More... | |
static pointField | getAnchorPoints (const UList< face > &, const pointField &, const transformType) |
Get a unique anchor point for all faces. More... | |
static label | getRotation (const pointField &points, const face &f, const point &anchor, const scalar tol) |
Get the number of vertices face f needs to be rotated such that. More... | |
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links.
Definition at line 50 of file coupledPolyPatch.H.
enum transformType |
Enumerator | |
---|---|
UNKNOWN | |
ROTATIONAL | |
TRANSLATIONAL | |
COINCIDENTFULLMATCH | |
NOORDERING |
Definition at line 56 of file coupledPolyPatch.H.
coupledPolyPatch | ( | const word & | name, |
const label | size, | ||
const label | start, | ||
const label | index, | ||
const polyBoundaryMesh & | bm, | ||
const word & | patchType, | ||
const transformType | transform | ||
) |
Construct from components.
Definition at line 469 of file coupledPolyPatch.C.
coupledPolyPatch | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const polyBoundaryMesh & | bm, | ||
const word & | patchType | ||
) |
Construct from dictionary.
Definition at line 486 of file coupledPolyPatch.C.
coupledPolyPatch | ( | const coupledPolyPatch & | pp, |
const polyBoundaryMesh & | bm | ||
) |
Copy construct, resetting the boundary mesh.
Definition at line 509 of file coupledPolyPatch.C.
coupledPolyPatch | ( | const coupledPolyPatch & | pp, |
const labelList & | faceCells | ||
) |
Copy construct, resetting the faceCells.
Definition at line 521 of file coupledPolyPatch.C.
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 533 of file coupledPolyPatch.C.
coupledPolyPatch | ( | const coupledPolyPatch & | pp, |
const polyBoundaryMesh & | bm, | ||
const label | index, | ||
const labelUList & | mapAddressing, | ||
const label | newStart | ||
) |
Construct given the original patch and a map.
Definition at line 548 of file coupledPolyPatch.C.
|
virtual |
Destructor.
Definition at line 564 of file coupledPolyPatch.C.
|
protected |
Calculate the transformation tensors.
smallDist : matching distance per face absTol : absolute error in normal if transformType = unknown it first tries rotational, then translational transform
Definition at line 288 of file coupledPolyPatch.C.
References Foam::ensightOutput::debug, Foam::endl(), forAll, Foam::mag(), Foam::magSqr(), Foam::max(), Foam::min(), Foam::name(), Foam::nl, Foam::Pout, Foam::rotationTensor(), List< T >::setSize(), UList< T >::size(), Foam::sqr(), Foam::sqrt(), Foam::sum(), and Foam::transform().
|
protectedpure virtual |
Initialise the calculation of the patch geometry.
Reimplemented from polyPatch.
Implemented in cyclicAMIPolyPatch, cyclicACMIPolyPatch, oldCyclicPolyPatch, cyclicPolyPatch, processorPolyPatch, and processorCyclicPolyPatch.
|
protectedpure virtual |
Calculate the patch geometry.
Reimplemented from polyPatch.
Implemented in cyclicAMIPolyPatch, cyclicACMIPolyPatch, cyclicPolyPatch, oldCyclicPolyPatch, processorPolyPatch, and processorCyclicPolyPatch.
|
protectedpure virtual |
Initialise the patches for moving points.
Reimplemented from polyPatch.
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, cyclicACMIPolyPatch, oldCyclicPolyPatch, processorPolyPatch, and processorCyclicPolyPatch.
|
protectedpure virtual |
Correct patches after moving points.
Reimplemented from polyPatch.
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, cyclicACMIPolyPatch, oldCyclicPolyPatch, processorPolyPatch, and processorCyclicPolyPatch.
|
protectedpure virtual |
Initialise the update of the patch topology.
Reimplemented from polyPatch.
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, cyclicACMIPolyPatch, oldCyclicPolyPatch, processorPolyPatch, and processorCyclicPolyPatch.
|
protectedpure virtual |
Update of the patch topology.
Reimplemented from polyPatch.
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, cyclicACMIPolyPatch, oldCyclicPolyPatch, processorPolyPatch, and processorCyclicPolyPatch.
Write point in OBJ format.
Definition at line 53 of file coupledPolyPatch.C.
References Foam::endl(), and os().
|
staticprotected |
Write selected points in OBJ format.
Definition at line 60 of file coupledPolyPatch.C.
References os(), pointLabels(), points, and Foam::meshTools::writeOBJ().
|
staticprotected |
Write patch.
Definition at line 92 of file coupledPolyPatch.C.
References f(), forAll, Foam::nl, os(), points, UList< T >::size(), and Foam::meshTools::writeOBJ().
Write edge in OBJ format.
Definition at line 74 of file coupledPolyPatch.C.
References Foam::nl, os(), p0, and Foam::meshTools::writeOBJ().
|
staticprotected |
Get a unique anchor point for all faces.
Definition at line 126 of file coupledPolyPatch.C.
References f(), forAll, points, UList< T >::size(), and Foam::transform().
|
staticprotected |
Get the number of vertices face f needs to be rotated such that.
its f[0] point aligns with given anchor (within tol).
Definition at line 234 of file coupledPolyPatch.C.
References Foam::endl(), f(), forAll, Foam::magSqr(), Foam::nl, points, UList< T >::size(), Foam::sqrt(), and WarningInFunction.
TypeName | ( | "coupled" | ) |
Runtime type information.
|
inlinevirtual |
Return true because this patch is coupled.
Reimplemented from polyPatch.
Reimplemented in cyclicAMIPolyPatch, and processorPolyPatch.
Definition at line 303 of file coupledPolyPatch.H.
Referenced by coupledFvPatch::coupled().
|
pure virtual |
Does this side own the patch ?
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, processorCyclicPolyPatch, processorPolyPatch, and oldCyclicPolyPatch.
Referenced by polyMeshTetDecomposition::findFaceBasePts(), coupledPolyPatch::neighbour(), and processorCyclicPolyPatch::owner().
|
inlinevirtual |
Does the coupled side own the patch ?
Reimplemented in cyclicPolyPatch, and processorPolyPatch.
Definition at line 316 of file coupledPolyPatch.H.
References coupledPolyPatch::owner().
|
inlinevirtual |
The referring patchID (eg, for cyclics).
Reimplemented in processorCyclicPolyPatch.
Definition at line 324 of file coupledPolyPatch.H.
|
inlinevirtual |
Type of transform.
Reimplemented in processorCyclicPolyPatch.
Definition at line 332 of file coupledPolyPatch.H.
Referenced by processorCyclicPolyPatch::transform().
|
inlinevirtual |
Type of transform.
This is currently only for use when collapsing generated meshes that can have zero area faces.
Reimplemented in processorCyclicPolyPatch.
Definition at line 343 of file coupledPolyPatch.H.
|
pure virtual |
Transform a patch-based position from other side to this side.
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, processorPolyPatch, processorCyclicPolyPatch, and oldCyclicPolyPatch.
Referenced by weightedPosition::operator()(), mapDistribute::transformPosition::operator()(), and processorCyclicPolyPatch::transformPosition().
|
pure virtual |
Transform a patch-based position from other side to this side.
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, processorPolyPatch, processorCyclicPolyPatch, and oldCyclicPolyPatch.
|
inlinevirtual |
Are the planes separated.
Reimplemented in processorCyclicPolyPatch.
Definition at line 361 of file coupledPolyPatch.H.
References UList< T >::size().
Referenced by particle< Type >::correctAfterParallelTransfer(), extendedCellToCellStencil::extendedCellToCellStencil(), extendedCellToFaceStencil::extendedCellToFaceStencil(), extendedFaceToCellStencil::extendedFaceToCellStencil(), particle< Type >::hitCyclicAMIPatch(), particle< Type >::hitCyclicPatch(), and processorCyclicPolyPatch::separated().
|
inlinevirtual |
If the planes are separated the separation vector.
Reimplemented in processorCyclicPolyPatch.
Definition at line 369 of file coupledPolyPatch.H.
Referenced by particle< Type >::correctAfterParallelTransfer(), particle< Type >::hitCyclicAMIPatch(), particle< Type >::hitCyclicPatch(), and processorCyclicPolyPatch::separation().
|
inlinevirtual |
Are the cyclic planes parallel.
Reimplemented in processorCyclicPolyPatch.
Definition at line 377 of file coupledPolyPatch.H.
References UList< T >::empty().
Referenced by particle< Type >::correctAfterParallelTransfer(), cyclicAMIPolyPatch::cylindricalCS(), processorPointPatchField< Type >::doTransform(), processorCyclicPointPatchField< Type >::doTransform(), extendedCellToCellStencil::extendedCellToCellStencil(), extendedCellToFaceStencil::extendedCellToFaceStencil(), extendedFaceToCellStencil::extendedFaceToCellStencil(), particle< Type >::hitCyclicAMIPatch(), particle< Type >::hitCyclicPatch(), parallelFvGeometryScheme::transformOriented::operator()(), mapDistribute::transform::operator()(), cyclicFvPatch::parallel(), processorFvPatch::parallel(), cyclicPointPatch::parallel(), cyclicAMIPointPatch::parallel(), cyclicACMIPointPatch::parallel(), cyclicACMIFvPatch::parallel(), cyclicAMIFvPatch::parallel(), and processorCyclicPolyPatch::parallel().
|
inlinevirtual |
Return face transformation tensor.
Reimplemented in processorCyclicPolyPatch.
Definition at line 385 of file coupledPolyPatch.H.
Referenced by particle< Type >::correctAfterParallelTransfer(), cyclicFvPatch::forwardT(), processorFvPatch::forwardT(), cyclicPointPatch::forwardT(), cyclicAMIPointPatch::forwardT(), cyclicACMIPointPatch::forwardT(), cyclicACMIFvPatch::forwardT(), cyclicAMIFvPatch::forwardT(), processorCyclicPolyPatch::forwardT(), particle< Type >::hitCyclicAMIPatch(), particle< Type >::hitCyclicPatch(), parallelFvGeometryScheme::transformOriented::operator()(), and mapDistribute::transform::operator()().
|
inlinevirtual |
Return neighbour-cell transformation tensor.
Reimplemented in processorCyclicPolyPatch.
Definition at line 393 of file coupledPolyPatch.H.
Referenced by cyclicFvPatch::reverseT(), processorFvPatch::reverseT(), cyclicPointPatch::reverseT(), cyclicAMIPointPatch::reverseT(), cyclicACMIPointPatch::reverseT(), cyclicACMIFvPatch::reverseT(), cyclicAMIFvPatch::reverseT(), and processorCyclicPolyPatch::reverseT().
|
inlinevirtual |
Are faces collocated. Either size 0,1 or length of patch.
Reimplemented in processorCyclicPolyPatch.
Definition at line 401 of file coupledPolyPatch.H.
Referenced by processorCyclicPolyPatch::collocated().
|
inline |
Definition at line 406 of file coupledPolyPatch.H.
|
pure virtual |
Calculate the patch geometry.
Implemented in cyclicAMIPolyPatch, oldCyclicPolyPatch, cyclicPolyPatch, processorPolyPatch, and processorCyclicPolyPatch.
|
pure virtual |
Initialize ordering for primitivePatch. Does not.
refer to *this (except for name() and type() etc.)
Reimplemented from polyPatch.
Implemented in cyclicAMIPolyPatch, cyclicPolyPatch, processorCyclicPolyPatch, cyclicACMIPolyPatch, processorPolyPatch, and oldCyclicPolyPatch.
|
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 cyclicAMIPolyPatch, cyclicPolyPatch, processorCyclicPolyPatch, cyclicACMIPolyPatch, processorPolyPatch, and oldCyclicPolyPatch.
|
static |
Calculate typical tolerance per face. Is currently max distance.
from face centre to any of the face vertices.
Definition at line 194 of file coupledPolyPatch.C.
References Foam::cmptMag(), Foam::cmptMax(), f(), forAll, Foam::magSqr(), Foam::max(), points, UList< T >::size(), and Foam::sqrt().
|
virtual |
Write the polyPatch data as a dictionary.
Reimplemented from polyPatch.
Reimplemented in cyclicAMIPolyPatch, cyclicPolyPatch, processorCyclicPolyPatch, processorPolyPatch, cyclicACMIPolyPatch, oldCyclicPolyPatch, and cyclicPeriodicAMIPolyPatch.
Definition at line 570 of file coupledPolyPatch.C.
References os(), polyPatch::write(), and Ostream::writeEntry().
Referenced by processorPolyPatch::write(), cyclicPolyPatch::write(), and cyclicAMIPolyPatch::write().
|
static |
Definition at line 66 of file coupledPolyPatch.H.