Cyclic plane patch. More...
Public Member Functions | |
TypeName ("cyclic") | |
Runtime type information. More... | |
cyclicPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType, const transformType transform=UNKNOWN) | |
Construct from components. More... | |
cyclicPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &neighbPatchName, const transformType transform, const vector &rotationAxis, const point &rotationCentre, const vector &separationVector) | |
Construct from components. More... | |
cyclicPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType) | |
Construct from dictionary. More... | |
cyclicPolyPatch (const cyclicPolyPatch &, const polyBoundaryMesh &) | |
Copy construct, resetting the boundary mesh. More... | |
cyclicPolyPatch (const cyclicPolyPatch &, label nbrPatchID, const labelList &faceCells) | |
Copy construct, resetting nbrPatchID and faceCells. More... | |
cyclicPolyPatch (const cyclicPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart, const word &neighbPatchName) | |
cyclicPolyPatch (const cyclicPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) | |
Construct given the original patch and a map. 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. 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. More... | |
virtual | ~cyclicPolyPatch () |
Destructor. More... | |
virtual void | newInternalProcFaces (label &newFaces, label &newProcFaces) 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... | |
const word & | neighbPatchName () const |
Neighbour patch name. More... | |
virtual label | neighbPatchID () const |
Neighbour patchID. More... | |
virtual bool | owner () const |
Does this side own the patch ? More... | |
virtual bool | neighbour () const |
Does the coupled side own the patch ? More... | |
const cyclicPolyPatch & | neighbPatch () const |
const edgeList & | coupledPoints () const |
Return connected points (from patch local to neighbour patch local) More... | |
const edgeList & | coupledEdges () const |
Return connected edges (from patch local to neighbour patch local). More... | |
virtual void | transformPosition (pointField &l) const |
Transform a patch-based position from other side to this side. More... | |
virtual void | transformPosition (point &, const label facei) const |
Transform a patch-based position from other side to this side. More... | |
label | transformGlobalFace (const label facei) const |
const vector & | rotationAxis () const |
Axis of rotation for rotational cyclics. More... | |
const point & | rotationCentre () const |
Point on axis of rotation for rotational cyclics. More... | |
const vector & | separationVector () const |
Translation vector for translational cyclics. More... | |
virtual void | initOrder (PstreamBuffers &, const primitivePatch &) const |
Initialize ordering for primitivePatch. Does not. More... | |
virtual bool | order (PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const |
Return new ordering for primitivePatch. More... | |
virtual void | write (Ostream &) const |
Write the polyPatch data as a dictionary. More... | |
Public Member Functions inherited from coupledPolyPatch | |
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) | |
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 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) | |
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 |
virtual autoPtr< polyPatch > | clone (const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) const |
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 |
The offset where this patch starts in the boundary face list. More... | |
label | start () const |
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 |
Return boundaryMesh reference. More... | |
virtual bool | coupled () const |
Return true if this patch is geometrically coupled (i.e. faces and. 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 > &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... | |
virtual void | write (Ostream &os) const |
Write the polyPatch data as a dictionary. 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 |
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 l) const |
Return label of face in patch from global face label. More... | |
virtual void | initOrder (PstreamBuffers &, const primitivePatch &) const |
Initialize ordering for primitivePatch. Does not. More... | |
virtual bool | order (PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const |
Return new ordering for primitivePatch. More... | |
virtual bool | changeTopology () const |
virtual bool | setTopology (polyTopoChange &) |
Collect topology changes in a polyTopoChange object. More... | |
void | operator= (const polyPatch &) |
Assignment. More... | |
Public Member Functions inherited from patchIdentifier | |
patchIdentifier (const patchIdentifier &)=default | |
Copy construct. More... | |
patchIdentifier & | operator= (const patchIdentifier &)=default |
Copy assignment. More... | |
virtual | ~patchIdentifier ()=default |
Destructor. More... | |
patchIdentifier () | |
Default construct. Uses 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 index) | |
Copy construct, resetting the index. 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 | write (Ostream &os) const |
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 |
labelList | uniqBoundaryFaces () const |
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 |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
label | meshEdge (const label edgei, const edgeList &allEdges, const labelListList &pointEdges) const |
labelList | meshEdges (const labelUList &edgeLabels, const edgeList &allEdges, const labelListList &pointEdges) const |
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... | |
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 | 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 () 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... | |
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... | |
Protected Member Functions | |
virtual void | calcTransforms () |
Recalculate the transformation tensors. More... | |
virtual void | initGeometry (PstreamBuffers &) |
Initialise the calculation of the patch geometry. More... | |
virtual void | initGeometry (const primitivePatch &referPatch, pointField &nbrCtrs, vectorField &nbrAreas, pointField &nbrCc) |
Initialise the calculation of the patch geometry. More... | |
virtual void | calcGeometry (PstreamBuffers &) |
Calculate the patch geometry. More... | |
virtual void | calcGeometry (const primitivePatch &referPatch, const pointField &thisCtrs, const vectorField &thisAreas, const pointField &thisCc, const pointField &nbrCtrs, const vectorField &nbrAreas, const pointField &nbrCc) |
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... | |
Protected Member Functions inherited from coupledPolyPatch | |
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 | 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 &p) |
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... | |
virtual void | clearGeom () |
Clear geometry. More... | |
virtual void | movePoints (const Field< point_type > &) |
Inherit movePoints from primitivePatch. More... | |
Friends | |
class | processorCyclicPolyPatch |
Declare friendship with processorCyclicPolyPatch. More... | |
Additional Inherited Members | |
Public Types inherited from coupledPolyPatch | |
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... | |
Static Public Member Functions inherited from coupledPolyPatch | |
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 &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 patchIdentifier | |
static word | defaultName (const label n=-1) |
Default patch name: "patch" or "patchN". More... | |
Static Public Attributes inherited from coupledPolyPatch | |
static const Enum< transformType > | transformTypeNames |
Static Public Attributes inherited from polyPatch | |
static int | disallowGenericPolyPatch |
Debug switch to disallow the use of genericPolyPatch. More... | |
Static Protected Member Functions inherited from coupledPolyPatch | |
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... | |
Cyclic plane patch.
Note: morph patch face ordering uses geometric matching so with the following restrictions: -coupled patches should be flat planes. -no rotation in patch plane
Uses coupledPolyPatch::calcFaceTol to calculate tolerance per face which might need tweaking.
Switch on 'cyclicPolyPatch' debug flag to write .obj files to show the matching.
Definition at line 66 of file cyclicPolyPatch.H.
cyclicPolyPatch | ( | const word & | name, |
const label | size, | ||
const label | start, | ||
const label | index, | ||
const polyBoundaryMesh & | bm, | ||
const word & | patchType, | ||
const transformType | transform = UNKNOWN |
||
) |
Construct from components.
Definition at line 592 of file cyclicPolyPatch.C.
cyclicPolyPatch | ( | const word & | name, |
const label | size, | ||
const label | start, | ||
const label | index, | ||
const polyBoundaryMesh & | bm, | ||
const word & | neighbPatchName, | ||
const transformType | transform, | ||
const vector & | rotationAxis, | ||
const point & | rotationCentre, | ||
const vector & | separationVector | ||
) |
Construct from components.
Definition at line 617 of file cyclicPolyPatch.C.
cyclicPolyPatch | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const polyBoundaryMesh & | bm, | ||
const word & | patchType | ||
) |
Construct from dictionary.
Definition at line 645 of file cyclicPolyPatch.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::mag(), patchIdentifier::name(), dictionary::readEntry(), coupledPolyPatch::ROTATIONAL, coupledPolyPatch::transform(), coupledPolyPatch::TRANSLATIONAL, and coupleGroupIdentifier::valid().
cyclicPolyPatch | ( | const cyclicPolyPatch & | pp, |
const polyBoundaryMesh & | bm | ||
) |
Copy construct, resetting the boundary mesh.
Definition at line 716 of file cyclicPolyPatch.C.
cyclicPolyPatch | ( | const cyclicPolyPatch & | pp, |
label | nbrPatchID, | ||
const labelList & | faceCells | ||
) |
Copy construct, resetting nbrPatchID and faceCells.
Definition at line 737 of file cyclicPolyPatch.C.
cyclicPolyPatch | ( | const cyclicPolyPatch & | pp, |
const polyBoundaryMesh & | bm, | ||
const label | index, | ||
const label | newSize, | ||
const label | newStart, | ||
const word & | neighbPatchName | ||
) |
Construct given the original patch and resetting the face list and boundary mesh information
Definition at line 759 of file cyclicPolyPatch.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and patchIdentifier::name().
cyclicPolyPatch | ( | const cyclicPolyPatch & | pp, |
const polyBoundaryMesh & | bm, | ||
const label | index, | ||
const labelUList & | mapAddressing, | ||
const label | newStart | ||
) |
Construct given the original patch and a map.
Definition at line 792 of file cyclicPolyPatch.C.
|
virtual |
Destructor.
Definition at line 815 of file cyclicPolyPatch.C.
References Foam::deleteDemandDrivenData().
|
protectedvirtual |
Recalculate the transformation tensors.
Definition at line 78 of file cyclicPolyPatch.C.
References polyPatch::faceCentres(), forAll, and PrimitivePatch< FaceList, PointField >::points().
|
protectedvirtual |
Initialise the calculation of the patch geometry.
Implements coupledPolyPatch.
Definition at line 942 of file cyclicPolyPatch.C.
References polyPatch::initGeometry().
|
protectedvirtual |
Initialise the calculation of the patch geometry.
Definition at line 948 of file cyclicPolyPatch.C.
|
protectedvirtual |
Calculate the patch geometry.
Implements coupledPolyPatch.
Definition at line 980 of file cyclicPolyPatch.C.
|
protectedvirtual |
Calculate the patch geometry.
Implements coupledPolyPatch.
Definition at line 958 of file cyclicPolyPatch.C.
|
protectedvirtual |
Initialise the patches for moving points.
Implements coupledPolyPatch.
Definition at line 995 of file cyclicPolyPatch.C.
References fvPatch::initMovePoints(), and p.
|
protectedvirtual |
Correct patches after moving points.
Implements coupledPolyPatch.
Definition at line 1005 of file cyclicPolyPatch.C.
References motionSmootherAlgo::movePoints(), and p.
|
protectedvirtual |
Initialise the update of the patch topology.
Implements coupledPolyPatch.
Definition at line 1016 of file cyclicPolyPatch.C.
References polyPatch::initUpdateMesh().
|
protectedvirtual |
Update of the patch topology.
Implements coupledPolyPatch.
Definition at line 1022 of file cyclicPolyPatch.C.
References Foam::deleteDemandDrivenData(), and motionSmootherAlgo::updateMesh().
TypeName | ( | "cyclic" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone, resetting the boundary mesh.
Reimplemented from polyPatch.
Reimplemented in cyclicSlipPolyPatch, and nonuniformTransformCyclicPolyPatch.
Definition at line 271 of file cyclicPolyPatch.H.
|
inlinevirtual |
Construct and return a clone, resetting the face list.
and boundary mesh
Reimplemented from polyPatch.
Reimplemented in cyclicSlipPolyPatch, and nonuniformTransformCyclicPolyPatch.
Definition at line 278 of file cyclicPolyPatch.H.
|
inlinevirtual |
Construct and return a clone, resetting the face list.
and boundary mesh
Reimplemented from polyPatch.
Reimplemented in cyclicSlipPolyPatch, and nonuniformTransformCyclicPolyPatch.
Definition at line 302 of file cyclicPolyPatch.H.
|
inlinevirtual |
Return number of new internal of this polyPatch faces.
Reimplemented from polyPatch.
Definition at line 326 of file cyclicPolyPatch.H.
References cyclicPolyPatch::neighbPatch().
|
inlinevirtual |
Return nbrCells.
Reimplemented from polyPatch.
Definition at line 337 of file cyclicPolyPatch.H.
References polyPatch::faceCells(), and cyclicPolyPatch::neighbPatch().
|
inlinevirtual |
Return nbr patchID.
Reimplemented from polyPatch.
Definition at line 342 of file cyclicPolyPatch.H.
References cyclicPolyPatch::neighbPatchID().
|
inlinevirtual |
Return mapped collocated faces.
Reimplemented from polyPatch.
Definition at line 347 of file cyclicPolyPatch.H.
References forAll, refPtr< T >::ref(), and List< T >::setSize().
|
inlinevirtual |
Return implicit master.
Reimplemented from polyPatch.
Definition at line 361 of file cyclicPolyPatch.H.
References cyclicPolyPatch::owner().
const Foam::word & neighbPatchName | ( | ) | const |
Neighbour patch name.
Definition at line 824 of file cyclicPolyPatch.C.
References patchID.
Referenced by cyclicPolyPatch::neighbPatchID().
|
virtual |
Neighbour patchID.
Definition at line 837 of file cyclicPolyPatch.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::name(), cyclicPolyPatch::neighbPatchName(), and WarningInFunction.
Referenced by cyclicFvPatch::neighbFvPatch(), cyclicFvPatch::neighbPatch(), cyclicPointPatch::neighbPatch(), cyclicPolyPatch::neighbPatch(), cyclicFvPatch::neighbPatchID(), cyclicPolyPatch::neighbPolyPatchID(), and cyclicPolyPatch::owner().
|
inlinevirtual |
Does this side own the patch ?
Implements coupledPolyPatch.
Definition at line 372 of file cyclicPolyPatch.H.
References patchIdentifier::index(), and cyclicPolyPatch::neighbPatchID().
Referenced by cyclicPolyPatch::masterImplicit(), cyclicPolyPatch::neighbour(), cyclicFvPatch::owner(), syncTools::syncBoundaryFaceList(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), and syncTools::syncPointMap().
|
inlinevirtual |
Does the coupled side own the patch ?
Reimplemented from coupledPolyPatch.
Definition at line 377 of file cyclicPolyPatch.H.
References cyclicPolyPatch::owner().
|
inline |
Definition at line 382 of file cyclicPolyPatch.H.
References cyclicPolyPatch::neighbPatchID().
Referenced by processorCyclicPolyPatch::calcGeometry(), FaceCellWave< Type, TrackingData >::checkCyclic(), FaceCellWave< Type, TrackingData >::handleAMICyclicPatches(), FaceCellWave< Type, TrackingData >::handleCyclicPatches(), particle< Type >::hitCyclicPatch(), cyclicPolyPatch::nbrCells(), cyclicPolyPatch::newInternalProcFaces(), processorCyclicPolyPatch::order(), syncTools::syncBoundaryFaceList(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), syncTools::syncPointMap(), processorCyclicPolyPatch::tag(), and cyclicPolyPatch::transformGlobalFace().
const Foam::edgeList & coupledPoints | ( | ) | const |
Return connected points (from patch local to neighbour patch local)
Demand driven calculation. Does primitivePatch::clearOut after calculation!
Definition at line 1030 of file cyclicPolyPatch.C.
References b, Foam::endl(), forAll, mesh, OFstream::name(), Foam::name(), Foam::nl, nPoints, path(), points, Foam::Pout, List< T >::setSize(), UList< T >::size(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by syncTools::syncPointMap().
const Foam::edgeList & coupledEdges | ( | ) | const |
Return connected edges (from patch local to neighbour patch local).
Demand driven calculation. Does primitivePatch::clearOut after calculation!
Definition at line 1111 of file cyclicPolyPatch.C.
References Foam::abort(), b, Vector< Cmpt >::centre(), HashTable< T, Key, Hash >::cfind(), e, PrimitivePatch< FaceList, PointField >::edges(), Foam::endl(), HashTable< T, Key, Hash >::erase(), PrimitivePatch< FaceList, PointField >::faceEdges(), Foam::FatalError, FatalErrorInFunction, HashTable< T, Key, Hash >::find(), forAll, HashTable< T, Key, Hash >::insert(), PrimitivePatch< FaceList, PointField >::localPoints(), mesh, PrimitivePatch< FaceList, PointField >::meshPoints(), OFstream::name(), Foam::name(), nEdges(), Foam::nl, path(), Foam::Pout, List< T >::setSize(), HashTable< T, Key, Hash >::size(), UList< T >::size(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by syncTools::syncEdgeMap().
|
virtual |
Transform a patch-based position from other side to this side.
Implements coupledPolyPatch.
Definition at line 872 of file cyclicPolyPatch.C.
References forAll, s(), and Foam::transform().
|
virtual |
Transform a patch-based position from other side to this side.
Implements coupledPolyPatch.
Definition at line 908 of file cyclicPolyPatch.C.
References s(), T, and Foam::transform().
|
inline |
Definition at line 407 of file cyclicPolyPatch.H.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::name(), cyclicPolyPatch::neighbPatch(), polyPatch::offset(), and polyPatch::start().
Referenced by particle< Type >::hitCyclicPatch().
|
inline |
Axis of rotation for rotational cyclics.
Definition at line 426 of file cyclicPolyPatch.H.
|
inline |
Point on axis of rotation for rotational cyclics.
Definition at line 432 of file cyclicPolyPatch.H.
|
inline |
Translation vector for translational cyclics.
Definition at line 438 of file cyclicPolyPatch.H.
|
virtual |
Initialize ordering for primitivePatch. Does not.
refer to *this (except for name() and type() etc.)
Implements coupledPolyPatch.
Definition at line 1241 of file cyclicPolyPatch.C.
References PrimitivePatch< FaceList, PointField >::points().
Referenced by processorCyclicPolyPatch::order().
|
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.
Implements coupledPolyPatch.
Definition at line 1263 of file cyclicPolyPatch.C.
References Foam::endl(), Foam::faceMap(), forAll, Foam::gAverage(), Foam::matchPoints(), mesh, OFstream::name(), Foam::name(), Foam::nl, path(), PrimitivePatch< FaceList, PointField >::points(), Foam::Pout, SeriousErrorInFunction, List< T >::setSize(), and Foam::transform().
Referenced by processorCyclicPolyPatch::order().
|
virtual |
Write the polyPatch data as a dictionary.
Reimplemented from coupledPolyPatch.
Definition at line 1454 of file cyclicPolyPatch.C.
References os(), Foam::transform(), ObukhovLength::write(), Ostream::write(), and Ostream::writeEntry().
|
friend |
Declare friendship with processorCyclicPolyPatch.
Definition at line 191 of file cyclicPolyPatch.H.