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 &) | |
Construct as copy, resetting the boundary mesh. More... | |
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. More... | |
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... | |
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... | |
![]() | |
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 &) | |
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... | |
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 transformType | transform () const |
Type of transform. More... | |
virtual transformType & | transform () |
Type of transform. 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 |
![]() | |
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 &) | |
Construct as copy, 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 &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 &) | |
Construct as copy. More... | |
virtual | ~polyPatch () |
Destructor. More... | |
label | start () const |
Return start label of this patch in the polyMesh face list. More... | |
const polyBoundaryMesh & | boundaryMesh () const |
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 > &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 normals. More... | |
tmp< vectorField > | faceCellCentres () const |
Return face cell centres. 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 l) const |
Return label of face in patch from global face label. More... | |
void | operator= (const polyPatch &) |
Assignment. More... | |
![]() | |
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 word & | name () const |
Return name. More... | |
word & | name () |
Return name for modification. More... | |
const word & | physicalType () const |
Return the optional physical type of the patch. More... | |
word & | physicalType () |
Return the optional physical type of the patch for modification. More... | |
label | index () const |
Return the index of this patch in the boundaryMesh. More... | |
label & | index () |
Return the index of this patch in the boundaryMesh for modification. More... | |
const wordList & | inGroups () const |
Return the optional groups patch belongs to. More... | |
wordList & | inGroups () |
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... | |
![]() | |
PrimitivePatch (const FaceList< Face > &faces, const Field< PointType > &points) | |
Construct from components. More... | |
PrimitivePatch (FaceList< Face > &faces, Field< PointType > &points, const bool reUse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< Face, FaceList, PointField, PointType > &) | |
Construct as copy. More... | |
virtual | ~PrimitivePatch () |
void | clearOut () |
void | clearGeom () |
void | clearTopology () |
void | clearPatchMeshAddr () |
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 edgeList & | edges () 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 labelList & | boundaryPoints () const |
Return list of boundary points,. 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 > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. 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 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. More... | |
label | whichEdge (const edge &e) const |
Given an edge in local point labels, return its index. 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 > & | faceNormals () const |
Return face normals for patch. More... | |
const Field< PointType > & | pointNormals () const |
Return point normals for patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=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=NULL) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
void | writeVTK (const fileName &name) const |
Write VTK patch. More... | |
void | writeVTKNormals (const fileName &name) const |
Write VTK patch normals. More... | |
virtual void | movePoints (const Field< PointType > &) |
Correct patch after moving points. More... | |
void | operator= (const PrimitivePatch< Face, FaceList, PointField, PointType > &) |
Assignment. More... | |
PrimitivePatch (const FaceList< Face > &faces, const Field< PointType > &points) | |
Construct from components. More... | |
PrimitivePatch (const Xfer< FaceList< Face > > &faces, const Xfer< List< PointType > > &points) | |
Construct from components. More... | |
PrimitivePatch (FaceList< Face > &faces, Field< PointType > &points, const bool reUse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< Face, FaceList, PointField, PointType > &) | |
Construct as copy. More... | |
virtual | ~PrimitivePatch () |
Destructor. More... | |
void | clearOut () |
void | clearGeom () |
void | clearTopology () |
void | clearPatchMeshAddr () |
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 edgeList & | edges () 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 labelList & | boundaryPoints () const |
Return list of boundary points,. 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 > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
const labelList & | meshPoints () 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 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... | |
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 > & | faceNormals () const |
Return face normals for patch. More... | |
const Field< PointType > & | pointNormals () const |
Return point normals for patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &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< PointType > &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=NULL) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
virtual void | movePoints (const Field< PointType > &) |
Correct patch after moving points. More... | |
void | operator= (const PrimitivePatch< Face, FaceList, PointField, PointType > &) |
Assignment. More... | |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
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... | |
![]() | |
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 | clearGeom () |
Clear geometry. More... | |
virtual void | movePoints (const Field< PointType > &) |
Inherit movePoints from primitivePatch. More... | |
virtual void | movePoints (const Field< PointType > &) |
Inherit movePoints from primitivePatch. More... | |
Private Member Functions | |
void | calcTransforms (const primitivePatch &half0, const pointField &half0Ctrs, const vectorField &half0Areas, const pointField &half1Ctrs, const vectorField &half1Areas) |
void | getCentresAndAnchors (const primitivePatch &pp0, const primitivePatch &pp1, pointField &half0Ctrs, pointField &half1Ctrs, pointField &anchors0, scalarField &tols) const |
vector | findFaceMaxRadius (const pointField &faceCentres) const |
Return normal of face at max distance from rotation axis. More... | |
Static Private Member Functions | |
static label | findMaxArea (const pointField &, const faceList &) |
Find amongst selected faces the one with the largest area. More... | |
Private Attributes | |
word | neighbPatchName_ |
Name of other half. More... | |
const coupleGroupIdentifier | coupleGroup_ |
Optional patchGroup to find neighbPatch. More... | |
label | neighbPatchID_ |
Index of other half. More... | |
vector | rotationAxis_ |
Axis of rotation for rotational cyclics. More... | |
point | rotationCentre_ |
Point on axis of rotation for rotational cyclics. More... | |
vector | separationVector_ |
Translation vector. More... | |
edgeList * | coupledPointsPtr_ |
List of edges formed from connected points. e[0] is the point on. More... | |
edgeList * | coupledEdgesPtr_ |
List of connected edges. e[0] is the edge on the first half of the. More... | |
autoPtr< primitivePatch > | ownerPatchPtr_ |
Temporary storage of owner side patch during ordering. More... | |
Friends | |
class | processorCyclicPolyPatch |
Declare friendship with processorCyclicPolyPatch. More... | |
Additional Inherited Members | |
![]() | |
enum | transformType { UNKNOWN, ROTATIONAL, TRANSLATIONAL, COINCIDENTFULLMATCH, NOORDERING } |
![]() | |
enum | surfaceTopo { MANIFOLD, OPEN, ILLEGAL, MANIFOLD, OPEN, ILLEGAL } |
Enumeration defining the surface type. Used in check routines. More... | |
enum | surfaceTopo { MANIFOLD, OPEN, ILLEGAL, MANIFOLD, OPEN, ILLEGAL } |
Enumeration defining the surface type. Used in check routines. More... | |
typedef Face | FaceType |
typedef FaceList< Face > | FaceListType |
typedef PointField | PointFieldType |
typedef Face | FaceType |
typedef FaceList< Face > | FaceListType |
typedef PointField | PointFieldType |
![]() | |
static scalarField | calcFaceTol (const UList< face > &faces, const pointField &points, const pointField &faceCentres) |
Calculate typical tolerance per face. Is currently max distance. More... | |
![]() | |
static autoPtr< polyPatch > | New (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< polyPatch > | New (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< polyPatch > | New (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 void | writeVTK (const fileName &name, const FaceListType &faces, const Field< PointType > &points) |
Write generic VTK patch, HJ, 14/Jan/2009. More... | |
static void | writeVTKNormals (const fileName &name, const FaceListType &faces, const Field< PointType > &points) |
Write generic VTK patch normals, HJ, 14/Jan/2009. More... | |
![]() | |
static const NamedEnum< transformType, 5 > | transformTypeNames |
![]() | |
static int | disallowGenericPolyPatch |
Debug switch to disallow the use of genericPolyPatch. More... | |
![]() | |
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 63 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 595 of file cyclicPolyPatch.C.
Referenced by cyclicPolyPatch::clone().
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 620 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 648 of file cyclicPolyPatch.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::lookup(), Foam::mag(), Foam::name(), word::null, Foam::transform(), and word::valid().
cyclicPolyPatch | ( | const cyclicPolyPatch & | pp, |
const polyBoundaryMesh & | bm | ||
) |
Construct as copy, resetting the boundary mesh.
Definition at line 721 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 742 of file cyclicPolyPatch.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::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 775 of file cyclicPolyPatch.C.
|
virtual |
Destructor.
Definition at line 797 of file cyclicPolyPatch.C.
References Foam::deleteDemandDrivenData().
|
staticprivate |
Find amongst selected faces the one with the largest area.
Definition at line 53 of file cyclicPolyPatch.C.
References forAll, Foam::magSqr(), and points.
|
private |
Definition at line 108 of file cyclicPolyPatch.C.
References Foam::acos(), Foam::average(), clear(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::mag(), mesh, patchIdentifier::name(), OFstream::name(), Foam::name(), Foam::nl, path(), PrimitivePatch< Face, FaceList, PointField, PointType >::points(), Foam::Pout, Foam::radToDeg(), setSize(), Tensor::T(), Foam::transform(), WarningInFunction, writeOBJ(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
|
private |
Definition at line 390 of file cyclicPolyPatch.C.
References Foam::acos(), Foam::endl(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceCentres(), forAll, Foam::gAverage(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), Foam::mag(), Foam::name(), Foam::nl, PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), PrimitivePatch< Face, FaceList, PointField, PointType >::points(), Foam::Pout, Foam::radToDeg(), Foam::rotationTensor(), Foam::sum(), Tensor::T(), and Foam::transform().
|
private |
Return normal of face at max distance from rotation axis.
Definition at line 567 of file cyclicPolyPatch.C.
References Foam::endl(), Foam::findMax(), Foam::Info, Foam::magSqr(), n, Foam::name(), Foam::nl, and Foam::sqrt().
|
protectedvirtual |
Recalculate the transformation tensors.
Definition at line 75 of file cyclicPolyPatch.C.
References polyPatch::faceCentres(), forAll, cyclicPolyPatch::neighbPatch(), and PrimitivePatch< Face, FaceList, PointField, PointType >::points().
|
protectedvirtual |
Initialise the calculation of the patch geometry.
Implements coupledPolyPatch.
Definition at line 924 of file cyclicPolyPatch.C.
References polyPatch::initGeometry().
|
protectedvirtual |
Initialise the calculation of the patch geometry.
Definition at line 931 of file cyclicPolyPatch.C.
|
protectedvirtual |
Calculate the patch geometry.
Implements coupledPolyPatch.
Definition at line 962 of file cyclicPolyPatch.C.
|
protectedvirtual |
Calculate the patch geometry.
Implements coupledPolyPatch.
Definition at line 941 of file cyclicPolyPatch.C.
|
protectedvirtual |
Initialise the patches for moving points.
Implements coupledPolyPatch.
Definition at line 978 of file cyclicPolyPatch.C.
References polyPatch::initMovePoints(), and p.
|
protectedvirtual |
Correct patches after moving points.
Implements coupledPolyPatch.
Definition at line 988 of file cyclicPolyPatch.C.
References polyPatch::movePoints(), and p.
|
protectedvirtual |
Initialise the update of the patch topology.
Implements coupledPolyPatch.
Definition at line 998 of file cyclicPolyPatch.C.
References polyPatch::initUpdateMesh().
|
protectedvirtual |
Update of the patch topology.
Implements coupledPolyPatch.
Definition at line 1004 of file cyclicPolyPatch.C.
References Foam::deleteDemandDrivenData(), and polyPatch::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 260 of file cyclicPolyPatch.H.
References cyclicPolyPatch::cyclicPolyPatch().
|
inlinevirtual |
Construct and return a clone, resetting the face list.
and boundary mesh
Reimplemented from polyPatch.
Reimplemented in nonuniformTransformCyclicPolyPatch, and cyclicSlipPolyPatch.
Definition at line 268 of file cyclicPolyPatch.H.
References patchIdentifier::index(), and cyclicPolyPatch::neighbPatchName_.
|
inlinevirtual |
Construct and return a clone, resetting the face list.
and boundary mesh
Reimplemented from polyPatch.
Reimplemented in nonuniformTransformCyclicPolyPatch, and cyclicSlipPolyPatch.
Definition at line 292 of file cyclicPolyPatch.H.
References cyclicPolyPatch::cyclicPolyPatch(), and patchIdentifier::index().
const Foam::word & neighbPatchName | ( | ) | const |
Neighbour patch name.
Definition at line 806 of file cyclicPolyPatch.C.
Referenced by cyclicSlipPolyPatch::clone(), nonuniformTransformCyclicPolyPatch::clone(), and cyclicPolyPatch::neighbPatchID().
|
virtual |
Neighbour patchID.
Definition at line 819 of file cyclicPolyPatch.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, boundaryMesh::findPatchID(), Foam::name(), cyclicPolyPatch::neighbPatchName(), and WarningInFunction.
Referenced by cyclicFvPatch::neighbFvPatch(), cyclicFvPatch::neighbPatch(), cyclicPointPatch::neighbPatch(), cyclicPolyPatch::neighbPatch(), cyclicFvPatch::neighbPatchID(), cyclicPolyPatch::owner(), and globalPoints::receivePatchPoints().
|
inlinevirtual |
Does this side own the patch ?
Implements coupledPolyPatch.
Definition at line 318 of file cyclicPolyPatch.H.
References patchIdentifier::index(), and cyclicPolyPatch::neighbPatchID().
Referenced by fvMeshDistribute::getNeighbourData(), cyclicPolyPatch::neighbour(), cyclicFvPatch::owner(), domainDecomposition::processInterCyclics(), syncTools::syncBoundaryFaceList(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), syncTools::syncPointMap(), and isoSurface::syncUnseparatedPoints().
|
inlinevirtual |
Does the coupled side own the patch ?
Reimplemented from coupledPolyPatch.
Definition at line 323 of file cyclicPolyPatch.H.
References cyclicPolyPatch::owner().
|
inline |
Definition at line 328 of file cyclicPolyPatch.H.
References polyPatch::boundaryMesh(), and cyclicPolyPatch::neighbPatchID().
Referenced by processorCyclicPolyPatch::calcGeometry(), cyclicPolyPatch::calcTransforms(), FaceCellWave< Type, int >::checkCyclic(), domainDecomposition::decomposeMesh(), dumpCyclicMatch(), PointEdgeWave< Type, TrackingData >::handleCyclicPatches(), FaceCellWave< Type, int >::handleCyclicPatches(), particle< Type >::hitCyclicPatch(), main(), domainDecomposition::processInterCyclics(), globalPoints::reverseMeshPoints(), syncTools::syncBoundaryFaceList(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), syncTools::syncPointMap(), syncPoints(), isoSurface::syncUnseparatedPoints(), 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 1012 of file cyclicPolyPatch.C.
References Foam::constant::physicoChemical::b, Foam::endl(), forAll, mesh, OFstream::name(), Foam::name(), Foam::nl, nPoints, path(), points, Foam::Pout, List::setSize(), List::size(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by PointEdgeWave< Type, TrackingData >::handleCyclicPatches(), syncTools::syncPointMap(), syncPoints(), and isoSurface::syncUnseparatedPoints().
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 1093 of file cyclicPolyPatch.C.
References Foam::abort(), Foam::constant::physicoChemical::b, Vector< Cmpt >::centre(), Foam::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), Foam::endl(), HashTable::erase(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), Foam::FatalError, FatalErrorInFunction, HashTable::find(), forAll, HashTable::insert(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), mesh, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), Foam::constant::atomic::mp, OFstream::name(), Foam::name(), Foam::nl, path(), Foam::Pout, List::setSize(), List::size(), HashTable::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 854 of file cyclicPolyPatch.C.
References forAll, s(), and Foam::transform().
Referenced by particle< Type >::hitCyclicPatch().
Transform a patch-based position from other side to this side.
Implements coupledPolyPatch.
Definition at line 890 of file cyclicPolyPatch.C.
References s(), Foam::T(), and Foam::transform().
Definition at line 353 of file cyclicPolyPatch.H.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::name(), cyclicPolyPatch::neighbPatch(), and polyPatch::start().
Referenced by fvMeshSubset::doCoupledPatches(), and particle< Type >::hitCyclicPatch().
|
inline |
Axis of rotation for rotational cyclics.
Definition at line 372 of file cyclicPolyPatch.H.
References cyclicPolyPatch::rotationAxis_.
|
inline |
Point on axis of rotation for rotational cyclics.
Definition at line 378 of file cyclicPolyPatch.H.
References cyclicPolyPatch::rotationCentre_.
|
inline |
Translation vector for translational cyclics.
Definition at line 384 of file cyclicPolyPatch.H.
References cyclicPolyPatch::separationVector_.
Referenced by main().
|
virtual |
Initialize ordering for primitivePatch. Does not.
refer to *this (except for name() and type() etc.)
Implements coupledPolyPatch.
Definition at line 1233 of file cyclicPolyPatch.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::points().
|
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 1255 of file cyclicPolyPatch.C.
References Foam::constant::physicoChemical::c1, Foam::endl(), Foam::faceMap(), forAll, Foam::gAverage(), Foam::matchPoints(), mesh, OFstream::name(), Foam::name(), Foam::nl, path(), PrimitivePatch< Face, FaceList, PointField, PointType >::points(), Foam::Pout, SeriousErrorInFunction, List::setSize(), Foam::transform(), and writeOBJ().
|
virtual |
Write the polyPatch data as a dictionary.
Reimplemented from coupledPolyPatch.
Definition at line 1445 of file cyclicPolyPatch.C.
References token::END_STATEMENT, Foam::nl, Foam::transform(), coupledPolyPatch::write(), and Ostream::writeKeyword().
|
friend |
Declare friendship with processorCyclicPolyPatch.
Definition at line 188 of file cyclicPolyPatch.H.
|
mutableprivate |
Name of other half.
Definition at line 70 of file cyclicPolyPatch.H.
Referenced by cyclicPolyPatch::clone().
|
private |
Optional patchGroup to find neighbPatch.
Definition at line 73 of file cyclicPolyPatch.H.
|
mutableprivate |
Index of other half.
Definition at line 76 of file cyclicPolyPatch.H.
|
private |
Axis of rotation for rotational cyclics.
Definition at line 81 of file cyclicPolyPatch.H.
Referenced by cyclicPolyPatch::rotationAxis().
|
private |
Point on axis of rotation for rotational cyclics.
Definition at line 84 of file cyclicPolyPatch.H.
Referenced by cyclicPolyPatch::rotationCentre().
|
private |
Translation vector.
Definition at line 89 of file cyclicPolyPatch.H.
Referenced by cyclicPolyPatch::separationVector().
|
mutableprivate |
List of edges formed from connected points. e[0] is the point on.
the first half of the patch, e[1] the corresponding point on the second half.
Definition at line 95 of file cyclicPolyPatch.H.
|
mutableprivate |
List of connected edges. e[0] is the edge on the first half of the.
patch, e[1] the corresponding edge on the second half.
Definition at line 99 of file cyclicPolyPatch.H.
|
mutableprivate |
Temporary storage of owner side patch during ordering.
Definition at line 102 of file cyclicPolyPatch.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.