Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
cyclicAMIPolyPatch Class Reference

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

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

Public Member Functions

 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 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 ~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
 
virtual void write (Ostream &) 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
 

Static Public Attributes

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

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 resetAMI () 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 > &)
 

Protected Attributes

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_
 

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 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)
 

Detailed Description

Cyclic patch for Arbitrary Mesh Interface (AMI)

Includes provision for updating the patch topology to enforce a 1-to-1 face match across the interface, based on the createAMIFaces flag.

The manipulations are based on the reference:

H.J. Aguerre, S. Márquez Damián, J.M. Gimenez, N.M.Nigro, Conservative
handling of arbitrary non-conformal interfaces using an efficient
supermesh, Journal of Computational Physics 335(15) 21-49. 2017.
https://doi.org/10.1016/j.jcp.2017.01.018.
Source files

Definition at line 64 of file cyclicAMIPolyPatch.H.

Constructor & Destructor Documentation

◆ cyclicAMIPolyPatch() [1/5]

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 
)

Definition at line 599 of file cyclicAMIPolyPatch.C.

◆ cyclicAMIPolyPatch() [2/5]

cyclicAMIPolyPatch ( const word name,
const dictionary dict,
const label  index,
const polyBoundaryMesh bm,
const word patchType,
const word defaultAMIMethod = faceAreaWeightAMI::typeName 
)

◆ cyclicAMIPolyPatch() [3/5]

cyclicAMIPolyPatch ( const cyclicAMIPolyPatch pp,
const polyBoundaryMesh bm 
)

Definition at line 749 of file cyclicAMIPolyPatch.C.

◆ cyclicAMIPolyPatch() [4/5]

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

Definition at line 783 of file cyclicAMIPolyPatch.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::name().

Here is the call graph for this function:

◆ cyclicAMIPolyPatch() [5/5]

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

Definition at line 829 of file cyclicAMIPolyPatch.C.

◆ ~cyclicAMIPolyPatch()

virtual ~cyclicAMIPolyPatch ( )
virtualdefault

Member Function Documentation

◆ removeAMIFaces()

bool removeAMIFaces ( polyTopoChange topoChange)
protectedvirtual

◆ addAMIFaces()

bool addAMIFaces ( polyTopoChange topoChange)
protectedvirtual

◆ setAMIFaces()

void setAMIFaces ( )
protectedvirtual

◆ restoreScaledGeometry()

void restoreScaledGeometry ( )
protectedvirtual

◆ surfPtr()

const Foam::autoPtr< Foam::searchableSurface > & surfPtr ( ) const
protected

Definition at line 334 of file cyclicAMIPolyPatch.C.

References TimePaths::constant(), mesh, boundaryMesh::mesh(), IOobject::MUST_READ, Foam::name(), searchableSurface::New(), IOobject::NO_WRITE, and fvMesh::time().

Here is the call graph for this function:

◆ cylindricalCS()

◆ resetAMI() [1/2]

void resetAMI ( const UList< point > &  points) const
protectedvirtual

◆ resetAMI() [2/2]

void resetAMI ( ) const
protectedvirtual

Reimplemented in cyclicACMIPolyPatch.

Definition at line 365 of file cyclicAMIPolyPatch.C.

References mesh, and points.

Referenced by cyclicACMIPolyPatch::resetAMI().

Here is the caller graph for this function:

◆ calcTransforms()

void calcTransforms ( )
protectedvirtual

◆ initGeometry()

void initGeometry ( PstreamBuffers pBufs)
protectedvirtual

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 478 of file cyclicAMIPolyPatch.C.

References DebugInFunction, Foam::endl(), and polyPatch::initGeometry().

Referenced by cyclicACMIPolyPatch::initGeometry().

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

◆ calcGeometry() [1/2]

void calcGeometry ( PstreamBuffers pBufs)
protectedvirtual

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 495 of file cyclicAMIPolyPatch.C.

References DebugInFunction, and Foam::endl().

Referenced by cyclicACMIPolyPatch::calcGeometry().

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

◆ initMovePoints()

void initMovePoints ( PstreamBuffers pBufs,
const pointField p 
)
protectedvirtual

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 502 of file cyclicAMIPolyPatch.C.

References DebugInFunction, Foam::endl(), PrimitivePatch< FaceList, PointField >::movePoints(), and p.

Referenced by cyclicACMIPolyPatch::initMovePoints().

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

◆ movePoints()

void movePoints ( PstreamBuffers pBufs,
const pointField p 
)
protectedvirtual

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 538 of file cyclicAMIPolyPatch.C.

References DebugInFunction, and Foam::endl().

Referenced by cyclicACMIPolyPatch::movePoints().

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

◆ initUpdateMesh()

void initUpdateMesh ( PstreamBuffers pBufs)
protectedvirtual

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 561 of file cyclicAMIPolyPatch.C.

References DebugInFunction, Foam::endl(), polyPatch::initUpdateMesh(), and mesh.

Referenced by cyclicACMIPolyPatch::initUpdateMesh().

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

◆ updateMesh()

void updateMesh ( PstreamBuffers pBufs)
protectedvirtual

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 574 of file cyclicAMIPolyPatch.C.

References DebugInFunction, Foam::endl(), and polyPatch::updateMesh().

Referenced by cyclicACMIPolyPatch::updateMesh().

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

◆ clearGeom()

void clearGeom ( )
protectedvirtual

Reimplemented from polyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 583 of file cyclicAMIPolyPatch.C.

References polyPatch::clearGeom(), DebugInFunction, and Foam::endl().

Referenced by cyclicACMIPolyPatch::clearGeom().

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

◆ TypeName()

TypeName ( "cyclicAMI"  )

◆ clone() [1/3]

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

Reimplemented from polyPatch.

Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.

Definition at line 278 of file cyclicAMIPolyPatch.H.

◆ clone() [2/3]

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

Reimplemented from polyPatch.

Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.

Definition at line 286 of file cyclicAMIPolyPatch.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 polyPatch.

Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.

Definition at line 310 of file cyclicAMIPolyPatch.H.

References patchIdentifier::index().

Here is the call graph for this function:

◆ newInternalProcFaces()

void newInternalProcFaces ( label &  newFaces,
label &  newProcFaces 
) const
virtual

Reimplemented from polyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 864 of file cyclicAMIPolyPatch.C.

References forAll.

◆ nbrCells()

virtual const labelUList& nbrCells ( ) const
inlinevirtual

Reimplemented from polyPatch.

Definition at line 344 of file cyclicAMIPolyPatch.H.

References polyPatch::faceCells(), and cyclicAMIPolyPatch::neighbPatch().

Here is the call graph for this function:

◆ neighbPolyPatchID()

virtual label neighbPolyPatchID ( ) const
inlinevirtual

Reimplemented from polyPatch.

Definition at line 350 of file cyclicAMIPolyPatch.H.

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

Here is the call graph for this function:

◆ mapCollocatedFaces()

virtual refPtr<labelListList> mapCollocatedFaces ( ) const
inlinevirtual

Reimplemented from polyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 356 of file cyclicAMIPolyPatch.H.

References cyclicAMIPolyPatch::AMI(), and AMIInterpolation::srcAddress().

Here is the call graph for this function:

◆ masterImplicit()

virtual bool masterImplicit ( ) const
inlinevirtual

Reimplemented from polyPatch.

Definition at line 363 of file cyclicAMIPolyPatch.H.

References cyclicAMIPolyPatch::owner().

Here is the call graph for this function:

◆ canResetAMI()

bool canResetAMI ( ) const
inline

Definition at line 24 of file cyclicAMIPolyPatchI.H.

References polyPatch::boundaryMesh(), polyBoundaryMesh::mesh(), UPstream::parRun(), TimePaths::processorCase(), and objectRegistry::time().

Here is the call graph for this function:

◆ createAMIFaces()

bool createAMIFaces ( ) const
inline

Definition at line 30 of file cyclicAMIPolyPatchI.H.

◆ updatingAMI()

bool updatingAMI ( ) const
inline

Definition at line 36 of file cyclicAMIPolyPatchI.H.

◆ changeTopology()

bool changeTopology ( ) const
virtual

Reimplemented from polyPatch.

Definition at line 640 of file cyclicAMIPolyPatchTopologyChange.C.

References DebugInFunction, and Foam::endl().

Here is the call graph for this function:

◆ setTopology()

bool setTopology ( polyTopoChange topoChange)
virtual

Reimplemented from polyPatch.

Definition at line 650 of file cyclicAMIPolyPatchTopologyChange.C.

References DebugInFunction, Foam::endl(), and polyTopoChange::points().

Here is the call graph for this function:

◆ coupled()

virtual bool coupled ( ) const
inlinevirtual

Reimplemented from coupledPolyPatch.

Definition at line 392 of file cyclicAMIPolyPatch.H.

◆ neighbPatchName()

const Foam::word & neighbPatchName ( ) const
inline

Definition at line 42 of file cyclicAMIPolyPatchI.H.

References patchID.

Referenced by cyclicACMIPolyPatch::clone(), cyclicAMIPolyPatch::neighbPatchID(), and AMIWeights::reportPatch().

Here is the caller graph for this function:

◆ neighbPatchID()

Foam::label neighbPatchID ( ) const
virtual

◆ fraction()

Foam::scalar fraction ( ) const
inline

Definition at line 55 of file cyclicAMIPolyPatchI.H.

Referenced by particle< Type >::hitCyclicAMIPatch().

Here is the caller graph for this function:

◆ owner()

bool owner ( ) const
virtual

◆ neighbPatch()

const Foam::cyclicAMIPolyPatch & neighbPatch ( ) const
virtual

◆ periodicPatchID()

Foam::label periodicPatchID ( ) const

Definition at line 931 of file cyclicAMIPolyPatch.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and word::null.

Here is the call graph for this function:

◆ AMI()

const Foam::AMIPatchToPatchInterpolation & AMI ( ) const

◆ weights()

const Foam::scalarListList & weights ( ) const
inline

Definition at line 61 of file cyclicAMIPolyPatchI.H.

Referenced by cyclicACMIPolyPatch::scalePatchFaceAreas().

Here is the caller graph for this function:

◆ weightsSum()

const Foam::scalarField & weightsSum ( ) const
inline

Definition at line 72 of file cyclicAMIPolyPatchI.H.

Referenced by cyclicACMIPolyPatch::scalePatchFaceAreas().

Here is the caller graph for this function:

◆ applyLowWeightCorrection()

bool applyLowWeightCorrection ( ) const

Definition at line 988 of file cyclicAMIPolyPatch.C.

Referenced by cyclicAMIFvPatch::applyLowWeightCorrection().

Here is the caller graph for this function:

◆ faceAreas0()

Foam::vectorField & faceAreas0 ( ) const
inline

Definition at line 83 of file cyclicAMIPolyPatchI.H.

Referenced by cyclicAMIPolyPatch::setAMIFaces().

Here is the caller graph for this function:

◆ faceCentres0()

Foam::vectorField & faceCentres0 ( ) const
inline

Definition at line 89 of file cyclicAMIPolyPatchI.H.

Referenced by cyclicAMIPolyPatch::setAMIFaces().

Here is the caller graph for this function:

◆ rotationAxis()

const Foam::vector & rotationAxis ( ) const
inline

Definition at line 94 of file cyclicAMIPolyPatchI.H.

◆ rotationCentre()

const Foam::point & rotationCentre ( ) const
inline

Definition at line 100 of file cyclicAMIPolyPatchI.H.

◆ separationVector()

const Foam::vector & separationVector ( ) const
inline

Definition at line 106 of file cyclicAMIPolyPatchI.H.

◆ transformPosition() [1/2]

void transformPosition ( pointField l) const
virtual

Implements coupledPolyPatch.

Definition at line 1001 of file cyclicAMIPolyPatch.C.

References forAll, s, and Foam::transform().

Here is the call graph for this function:

◆ transformPosition() [2/2]

void transformPosition ( point l,
const label  facei 
) const
virtual

Implements coupledPolyPatch.

Definition at line 1037 of file cyclicAMIPolyPatch.C.

References s, Foam::T(), and Foam::transform().

Here is the call graph for this function:

◆ reverseTransformPosition()

void reverseTransformPosition ( point l,
const label  facei 
) const
virtual

Definition at line 1075 of file cyclicAMIPolyPatch.C.

References s, Foam::T(), and Foam::transform().

Here is the call graph for this function:

◆ reverseTransformDirection()

void reverseTransformDirection ( vector d,
const label  facei 
) const
virtual

Definition at line 1113 of file cyclicAMIPolyPatch.C.

References Foam::T(), and Foam::transform().

Referenced by particle< Type >::hitCyclicAMIPatch().

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

◆ interpolate() [1/5]

tmp<Field<Type> > interpolate ( const Field< Type > &  fld,
const UList< Type > &  defaultValues = UList< Type >() 
) const

Referenced by cyclicAMIFvPatch::interpolate(), and cyclicACMIPointPatchField< Type >::swapAddSeparated().

Here is the caller graph for this function:

◆ interpolate() [2/5]

tmp<Field<Type> > interpolate ( const tmp< Field< Type >> &  tFld,
const UList< Type > &  defaultValues = UList< Type >() 
) const

◆ interpolateUntransformed() [1/2]

tmp<Field<Type> > interpolateUntransformed ( const Field< Type > &  fld,
const UList< Type > &  defaultValues 
) const

◆ interpolate() [3/5]

void interpolate ( const UList< Type > &  fld,
const CombineOp &  cop,
List< Type > &  result,
const UList< Type > &  defaultValues = UList<Type>() 
) const

Definition at line 156 of file cyclicAMIPolyPatchTemplates.C.

References fld.

◆ calcGeometry() [2/2]

void calcGeometry ( const primitivePatch referPatch,
const pointField thisCtrs,
const vectorField thisAreas,
const pointField thisCc,
const pointField nbrCtrs,
const vectorField nbrAreas,
const pointField nbrCc 
)
virtual

Implements coupledPolyPatch.

Definition at line 1133 of file cyclicAMIPolyPatch.C.

◆ initOrder()

void initOrder ( PstreamBuffers pBufs,
const primitivePatch pp 
) const
virtual

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 1146 of file cyclicAMIPolyPatch.C.

Referenced by cyclicACMIPolyPatch::initOrder().

Here is the caller graph for this function:

◆ order()

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

Implements coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch.

Definition at line 1154 of file cyclicAMIPolyPatch.C.

References Foam::faceMap(), and List::setSize().

Referenced by cyclicACMIPolyPatch::order().

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

◆ pointFace()

Foam::label pointFace ( const label  facei,
const vector n,
point p 
) const

Definition at line 1172 of file cyclicAMIPolyPatch.C.

References n, and p.

Referenced by particle< Type >::hitCyclicACMIPatch(), and particle< Type >::hitCyclicAMIPatch().

Here is the caller graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Reimplemented from coupledPolyPatch.

Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.

Definition at line 1218 of file cyclicAMIPolyPatch.C.

References word::null, os(), Foam::radToDeg(), Foam::transform(), Ostream::write(), coupledPolyPatch::write(), Ostream::writeEntry(), Ostream::writeEntryIfDifferent(), and Foam::Zero.

Referenced by cyclicPeriodicAMIPolyPatch::write(), and cyclicACMIPolyPatch::write().

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

◆ interpolateUntransformed() [2/2]

Foam::tmp<Foam::Field<Type> > interpolateUntransformed ( const Field< Type > &  fld,
const UList< Type > &  defaultValues 
) const

Definition at line 26 of file cyclicAMIPolyPatchTemplates.C.

References fld.

◆ interpolate() [4/5]

Foam::tmp<Foam::Field<Type> > interpolate ( const Field< Type > &  fld,
const UList< Type > &  defaultValues 
) const

◆ interpolate() [5/5]

Foam::tmp<Foam::Field<Type> > interpolate ( const tmp< Field< Type >> &  tFld,
const UList< Type > &  defaultValues 
) const

Definition at line 145 of file cyclicAMIPolyPatchTemplates.C.

References Foam::fac::interpolate().

Here is the call graph for this function:

Member Data Documentation

◆ nbrPatchName_

word nbrPatchName_
mutableprotected

◆ coupleGroup_

const coupleGroupIdentifier coupleGroup_
protected

Definition at line 91 of file cyclicAMIPolyPatch.H.

◆ nbrPatchID_

label nbrPatchID_
mutableprotected

Definition at line 94 of file cyclicAMIPolyPatch.H.

◆ fraction_

const scalar fraction_
protected

Definition at line 97 of file cyclicAMIPolyPatch.H.

◆ rotationAxis_

vector rotationAxis_
protected

Definition at line 105 of file cyclicAMIPolyPatch.H.

◆ rotationCentre_

point rotationCentre_
protected

Definition at line 108 of file cyclicAMIPolyPatch.H.

◆ rotationAngleDefined_

bool rotationAngleDefined_
protected

Definition at line 111 of file cyclicAMIPolyPatch.H.

◆ rotationAngle_

scalar rotationAngle_
protected

Definition at line 114 of file cyclicAMIPolyPatch.H.

◆ separationVector_

vector separationVector_
protected

Definition at line 120 of file cyclicAMIPolyPatch.H.

◆ periodicPatchName_

word periodicPatchName_
protected

Definition at line 126 of file cyclicAMIPolyPatch.H.

◆ periodicPatchID_

label periodicPatchID_
mutableprotected

Definition at line 129 of file cyclicAMIPolyPatch.H.

◆ AMIPtr_

autoPtr<AMIPatchToPatchInterpolation> AMIPtr_
mutableprotected

Definition at line 133 of file cyclicAMIPolyPatch.H.

◆ surfDict_

const dictionary surfDict_
protected

Definition at line 136 of file cyclicAMIPolyPatch.H.

◆ surfPtr_

autoPtr<searchableSurface> surfPtr_
mutableprotected

Definition at line 139 of file cyclicAMIPolyPatch.H.

◆ createAMIFaces_

bool createAMIFaces_
mutableprotected

◆ moveFaceCentres_

bool moveFaceCentres_
protected

Definition at line 149 of file cyclicAMIPolyPatch.H.

Referenced by cyclicAMIPolyPatch::restoreScaledGeometry().

◆ updatingAMI_

bool updatingAMI_
mutableprotected

Definition at line 151 of file cyclicAMIPolyPatch.H.

◆ srcFaceIDs_

labelListList srcFaceIDs_
protected

Definition at line 153 of file cyclicAMIPolyPatch.H.

◆ tgtFaceIDs_

labelListList tgtFaceIDs_
protected

Definition at line 155 of file cyclicAMIPolyPatch.H.

◆ faceAreas0_

vectorField faceAreas0_
mutableprotected

Definition at line 158 of file cyclicAMIPolyPatch.H.

Referenced by cyclicAMIPolyPatch::restoreScaledGeometry().

◆ faceCentres0_

vectorField faceCentres0_
mutableprotected

Definition at line 161 of file cyclicAMIPolyPatch.H.

Referenced by cyclicAMIPolyPatch::restoreScaledGeometry().

◆ tolerance_

const Foam::scalar tolerance_ = 1e-10
static

Definition at line 372 of file cyclicAMIPolyPatch.H.

Referenced by cyclicACMIPolyPatch::updateAreas().


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