Public Member Functions | List of all members
cyclicPeriodicAMIPolyPatch Class Reference

Cyclic patch for periodic Arbitrary Mesh Interface (AMI) More...

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

Public Member Functions

 TypeName ("cyclicPeriodicAMI")
 
 cyclicPeriodicAMIPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType, const transformType transform=UNKNOWN)
 
 cyclicPeriodicAMIPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType)
 
 cyclicPeriodicAMIPolyPatch (const cyclicPeriodicAMIPolyPatch &, const polyBoundaryMesh &)
 
 cyclicPeriodicAMIPolyPatch (const cyclicPeriodicAMIPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart, const word &nbrPatchName)
 
 cyclicPeriodicAMIPolyPatch (const cyclicPeriodicAMIPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart)
 
virtual autoPtr< polyPatchclone (const polyBoundaryMesh &bm) const
 
virtual autoPtr< polyPatchclone (const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) const
 
virtual autoPtr< polyPatchclone (const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) const
 
virtual ~cyclicPeriodicAMIPolyPatch ()
 
virtual void write (Ostream &) const
 
- Public Member Functions inherited from cyclicAMIPolyPatch
 TypeName ("cyclicAMI")
 
 cyclicAMIPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType, const transformType transform=UNKNOWN, const word &defaultAMIMethod=faceAreaWeightAMI::typeName)
 
 cyclicAMIPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType, const word &defaultAMIMethod=faceAreaWeightAMI::typeName)
 
 cyclicAMIPolyPatch (const cyclicAMIPolyPatch &, const polyBoundaryMesh &)
 
 cyclicAMIPolyPatch (const cyclicAMIPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart, const word &nbrPatchName)
 
 cyclicAMIPolyPatch (const cyclicAMIPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart)
 
virtual ~cyclicAMIPolyPatch ()=default
 
virtual void newInternalProcFaces (label &, label &) const
 
virtual const labelUListnbrCells () const
 
virtual label neighbPolyPatchID () const
 
virtual refPtr< labelListListmapCollocatedFaces () const
 
virtual bool masterImplicit () const
 
bool canResetAMI () const
 
bool createAMIFaces () const
 
bool updatingAMI () const
 
virtual bool changeTopology () const
 
virtual bool setTopology (polyTopoChange &topoChange)
 
virtual bool coupled () const
 
const wordneighbPatchName () const
 
virtual label neighbPatchID () const
 
scalar fraction () const
 
virtual bool owner () const
 
virtual const cyclicAMIPolyPatchneighbPatch () const
 
label periodicPatchID () const
 
const AMIPatchToPatchInterpolationAMI () const
 
const scalarListListweights () const
 
const scalarFieldweightsSum () const
 
bool applyLowWeightCorrection () const
 
vectorFieldfaceAreas0 () const
 
vectorFieldfaceCentres0 () const
 
const vectorrotationAxis () const
 
const pointrotationCentre () const
 
const vectorseparationVector () const
 
virtual void transformPosition (pointField &) const
 
virtual void transformPosition (point &l, const label facei) const
 
virtual void reverseTransformPosition (point &l, const label facei) const
 
virtual void reverseTransformDirection (vector &d, const label facei) const
 
template<class Type >
tmp< Field< Type > > interpolate (const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >()) const
 
template<class Type >
tmp< Field< Type > > interpolate (const tmp< Field< Type >> &tFld, const UList< Type > &defaultValues=UList< Type >()) const
 
template<class Type >
tmp< Field< Type > > interpolateUntransformed (const Field< Type > &fld, const UList< Type > &defaultValues) const
 
template<class Type , class CombineOp >
void interpolate (const UList< Type > &fld, const CombineOp &cop, List< Type > &result, const UList< Type > &defaultValues=UList< Type >()) 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)
 
virtual void initOrder (PstreamBuffers &, const primitivePatch &) const
 
virtual bool order (PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const
 
label pointFace (const label facei, const vector &n, point &p) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > interpolateUntransformed (const Field< Type > &fld, const UList< Type > &defaultValues) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > interpolate (const Field< Type > &fld, const UList< Type > &defaultValues) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > interpolate (const tmp< Field< Type >> &tFld, const UList< Type > &defaultValues) const
 
- Public Member Functions inherited from coupledPolyPatch
 TypeName ("coupled")
 
 coupledPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType, const transformType transform)
 
 coupledPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType)
 
 coupledPolyPatch (const coupledPolyPatch &, const polyBoundaryMesh &bm)
 
 coupledPolyPatch (const coupledPolyPatch &, const labelList &faceCells)
 
 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)
 
virtual ~coupledPolyPatch ()
 
virtual bool neighbour () const
 
virtual transformType transform () const
 
virtual transformTypetransform ()
 
virtual bool separated () const
 
virtual const vectorFieldseparation () const
 
virtual bool parallel () const
 
virtual const tensorFieldforwardT () const
 
virtual const tensorFieldreverseT () const
 
virtual const boolListcollocated () const
 
scalar matchTolerance () const
 
- Public Member Functions inherited from polyPatch
 TypeName ("patch")
 
 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)
 
 polyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &physicalType, const wordList &inGroups)
 
 polyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType)
 
 polyPatch (const polyPatch &, const polyBoundaryMesh &)
 
 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)
 
 polyPatch (const polyPatch &p)
 
 polyPatch (const polyPatch &p, const labelList &faceCells)
 
virtual autoPtr< polyPatchclone (const labelList &faceCells) const
 
virtual ~polyPatch ()
 
virtual word neighbRegionID () const
 
label offset () const
 
label start () const
 
labelRange range () const
 
const polyBoundaryMeshboundaryMesh () const
 
template<class T >
const UIndirectList< TpatchInternalList (const UList< T > &internalValues) const
 
template<class T >
const List< T >::subList patchSlice (const UList< T > &l) const
 
template<class T >
const Field< T >::subField patchSlice (const Field< T > &l) const
 
const vectorField::subField faceCentres () const
 
const vectorField::subField faceAreas () const
 
tmp< vectorFieldfaceCellCentres () const
 
tmp< scalarFieldareaFraction () const
 
const labelUListfaceCells () const
 
const labelListmeshEdges () const
 
virtual void clearAddressing ()
 
label whichFace (const label l) const
 
void operator= (const polyPatch &)
 
- Public Member Functions inherited from patchIdentifier
 patchIdentifier (const patchIdentifier &)=default
 
patchIdentifieroperator= (const patchIdentifier &)=default
 
virtual ~patchIdentifier ()=default
 
 patchIdentifier ()
 
 patchIdentifier (const word &name, const label index)
 
 patchIdentifier (const word &name, const label index, const word &physicalType, const wordList &inGroups=wordList())
 
 patchIdentifier (const word &name, const dictionary &dict, const label index)
 
 patchIdentifier (const patchIdentifier &ident, const label index)
 
const wordname () const noexcept
 
wordname () noexcept
 
label index () const noexcept
 
label & index () noexcept
 
const wordphysicalType () const noexcept
 
wordphysicalType () noexcept
 
const wordListinGroups () const noexcept
 
wordListinGroups () noexcept
 
bool inGroup (const word &name) const
 
void write (Ostream &os) const
 
- Public Member Functions inherited from PrimitivePatch< FaceList, PointField >
 PrimitivePatch (const FaceList &faces, const PointField &points)
 
 PrimitivePatch (FaceList &&faces, const PointField &points)
 
 PrimitivePatch (FaceList &faces, PointField &points, const bool reuse)
 
 PrimitivePatch (const PrimitivePatch< FaceList, PointField > &pp)
 
virtual ~PrimitivePatch ()
 
void clearOut ()
 
void clearGeom ()
 
void clearTopology ()
 
void clearPatchMeshAddr ()
 
void swap (PrimitivePatch &)=delete
 
const Field< point_type > & points () const noexcept
 
label nFaces () const noexcept
 
label nPoints () const
 
label nEdges () const
 
const edgeListedges () const
 
const edgeList::subList internalEdges () const
 
const edgeList::subList boundaryEdges () const
 
label nInternalEdges () const
 
label nBoundaryEdges () const
 
bool isInternalEdge (const label edgei) const
 
const labelListboundaryPoints () const
 
const labelListListfaceFaces () const
 
const labelListListedgeFaces () const
 
const labelListListfaceEdges () const
 
const labelListListpointEdges () const
 
const labelListListpointFaces () const
 
const List< face_type > & localFaces () const
 
labelList boundaryFaces () const
 
labelList uniqBoundaryFaces () const
 
const labelListmeshPoints () const
 
const Map< label > & meshPointMap () const
 
const Field< point_type > & localPoints () const
 
const labelListlocalPointOrder () const
 
label whichPoint (const label gp) const
 
edge meshEdge (const label edgei) const
 
edge meshEdge (const edge &e) const
 
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
 
const Field< point_type > & faceAreas () const
 
const Field< scalar > & magFaceAreas () const
 
const Field< point_type > & faceNormals () const
 
const Field< point_type > & pointNormals () const
 
bool hasFaceAreas () const
 
bool hasFaceCentres () const
 
bool hasFaceNormals () const
 
bool hasPointNormals () const
 
bool hasBoundaryPoints () const
 
bool hasFaceFaces () const
 
bool hasEdgeFaces () const
 
bool hasFaceEdges () const
 
bool hasPointEdges () const
 
bool hasPointFaces () const
 
bool hasMeshPointMap () const
 
template<class ToPatch >
List< objectHitprojectPoints (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const
 
template<class ToPatch >
List< objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const
 
const labelListListedgeLoops () const
 
surfaceTopo surfaceType () const
 
bool checkTopology (const bool report=false, labelHashSet *setPtr=nullptr) const
 
bool checkPointManifold (const bool report=false, labelHashSet *setPtr=nullptr) const
 
virtual void movePoints (const Field< point_type > &)
 
void operator= (const PrimitivePatch< FaceList, PointField > &rhs)
 
void operator= (PrimitivePatch< FaceList, PointField > &&rhs)
 
label whichEdge (const edge &e) const
 
template<class ToPatch >
Foam::List< Foam::objectHitprojectPoints (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::objectHitprojectFaceCentres (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")
 
 PrimitivePatchBase ()=default
 

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 }
 
typedef std::remove_reference< FaceList >::type::value_type face_type
 
typedef std::remove_reference< PointField >::type::value_type point_type
 
typedef FaceList FaceListType
 
typedef PointField PointFieldType
 
typedef face_type FaceType
 
- Static Public Member Functions inherited from coupledPolyPatch
static scalarField calcFaceTol (const UList< face > &faces, const pointField &points, const pointField &faceCentres)
 
- Static Public Member Functions inherited from polyPatch
static autoPtr< polyPatchNew (const word &patchType, const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm)
 
static autoPtr< polyPatchNew (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm)
 
static autoPtr< polyPatchNew (const word &patchType, const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm)
 
static bool constraintType (const word &pt)
 
static wordList constraintTypes ()
 
- Static Public Member Functions inherited from patchIdentifier
static word defaultName (const label n=-1)
 
- Static Public Attributes inherited from cyclicAMIPolyPatch
static const scalar tolerance_ = 1e-10
 
- Static Public Attributes inherited from coupledPolyPatch
static const Enum< transformTypetransformTypeNames
 
- Static Public Attributes inherited from polyPatch
static int disallowGenericPolyPatch
 
- Protected Member Functions inherited from cyclicAMIPolyPatch
virtual bool removeAMIFaces (polyTopoChange &topoChange)
 
virtual bool addAMIFaces (polyTopoChange &topoChange)
 
virtual void setAMIFaces ()
 
virtual void restoreScaledGeometry ()
 
const autoPtr< searchableSurface > & surfPtr () const
 
autoPtr< coordSystem::cylindricalcylindricalCS () const
 
virtual void resetAMI (const UList< point > &points) const
 
virtual void calcTransforms ()
 
virtual void initGeometry (PstreamBuffers &)
 
virtual void calcGeometry (PstreamBuffers &)
 
virtual void initMovePoints (PstreamBuffers &pBufs, const pointField &)
 
virtual void movePoints (PstreamBuffers &pBufs, const pointField &)
 
virtual void initUpdateMesh (PstreamBuffers &)
 
virtual void updateMesh (PstreamBuffers &)
 
virtual void clearGeom ()
 
- 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
 
- Protected Member Functions inherited from polyPatch
virtual void movePoints (const Field< point_type > &)
 
- Static Protected Member Functions inherited from coupledPolyPatch
static void writeOBJ (Ostream &os, const point &pt)
 
static void writeOBJ (Ostream &, const pointField &, const labelList &)
 
static void writeOBJ (const fileName &, const UList< face > &, const pointField &)
 
static void writeOBJ (Ostream &os, const point &p0, const point &p1, label &vertI)
 
static pointField getAnchorPoints (const UList< face > &, const pointField &, const transformType)
 
static label getRotation (const pointField &points, const face &f, const point &anchor, const scalar tol)
 
- Protected Attributes inherited from cyclicAMIPolyPatch
word nbrPatchName_
 
const coupleGroupIdentifier coupleGroup_
 
label nbrPatchID_
 
const scalar fraction_
 
vector rotationAxis_
 
point rotationCentre_
 
bool rotationAngleDefined_
 
scalar rotationAngle_
 
vector separationVector_
 
word periodicPatchName_
 
label periodicPatchID_
 
autoPtr< AMIPatchToPatchInterpolationAMIPtr_
 
const dictionary surfDict_
 
autoPtr< searchableSurfacesurfPtr_
 
bool createAMIFaces_
 
bool moveFaceCentres_
 
bool updatingAMI_
 
labelListList srcFaceIDs_
 
labelListList tgtFaceIDs_
 
vectorField faceAreas0_
 
vectorField faceCentres0_
 

Detailed Description

Cyclic patch for periodic Arbitrary Mesh Interface (AMI)

Source files

Definition at line 48 of file cyclicPeriodicAMIPolyPatch.H.

Constructor & Destructor Documentation

◆ cyclicPeriodicAMIPolyPatch() [1/5]

cyclicPeriodicAMIPolyPatch ( const word name,
const label  size,
const label  start,
const label  index,
const polyBoundaryMesh bm,
const word patchType,
const transformType  transform = UNKNOWN 
)

Definition at line 536 of file cyclicPeriodicAMIPolyPatch.C.

Referenced by cyclicPeriodicAMIPolyPatch::clone().

Here is the caller graph for this function:

◆ cyclicPeriodicAMIPolyPatch() [2/5]

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

Definition at line 566 of file cyclicPeriodicAMIPolyPatch.C.

◆ cyclicPeriodicAMIPolyPatch() [3/5]

Definition at line 592 of file cyclicPeriodicAMIPolyPatch.C.

◆ cyclicPeriodicAMIPolyPatch() [4/5]

cyclicPeriodicAMIPolyPatch ( const cyclicPeriodicAMIPolyPatch pp,
const polyBoundaryMesh bm,
const label  index,
const label  newSize,
const label  newStart,
const word nbrPatchName 
)

Definition at line 607 of file cyclicPeriodicAMIPolyPatch.C.

◆ cyclicPeriodicAMIPolyPatch() [5/5]

cyclicPeriodicAMIPolyPatch ( const cyclicPeriodicAMIPolyPatch pp,
const polyBoundaryMesh bm,
const label  index,
const labelUList mapAddressing,
const label  newStart 
)

Definition at line 626 of file cyclicPeriodicAMIPolyPatch.C.

◆ ~cyclicPeriodicAMIPolyPatch()

Definition at line 645 of file cyclicPeriodicAMIPolyPatch.C.

Member Function Documentation

◆ TypeName()

TypeName ( "cyclicPeriodicAMI"  )

◆ clone() [1/3]

virtual autoPtr<polyPatch> clone ( const polyBoundaryMesh bm) const
inlinevirtual

Reimplemented from cyclicAMIPolyPatch.

Definition at line 139 of file cyclicPeriodicAMIPolyPatch.H.

References cyclicPeriodicAMIPolyPatch::cyclicPeriodicAMIPolyPatch().

Here is the call graph for this function:

◆ clone() [2/3]

virtual autoPtr<polyPatch> clone ( const polyBoundaryMesh bm,
const label  index,
const label  newSize,
const label  newStart 
) const
inlinevirtual

Reimplemented from cyclicAMIPolyPatch.

Definition at line 150 of file cyclicPeriodicAMIPolyPatch.H.

References patchIdentifier::index(), and cyclicAMIPolyPatch::nbrPatchName_.

Here is the call graph for this function:

◆ clone() [3/3]

virtual autoPtr<polyPatch> clone ( const polyBoundaryMesh bm,
const label  index,
const labelUList mapAddressing,
const label  newStart 
) const
inlinevirtual

Reimplemented from cyclicAMIPolyPatch.

Definition at line 174 of file cyclicPeriodicAMIPolyPatch.H.

References patchIdentifier::index().

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Reimplemented from cyclicAMIPolyPatch.

Definition at line 651 of file cyclicPeriodicAMIPolyPatch.C.

References os(), cyclicAMIPolyPatch::write(), and Ostream::writeEntryIfDifferent().

Here is the call graph for this function:

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