35 #ifndef cyclicACMIPolyPatch_H 36 #define cyclicACMIPolyPatch_H 61 static const scalar tolerance_;
64 const word nonOverlapPatchName_;
67 mutable label nonOverlapPatchID_;
76 mutable bool updated_;
134 const word& patchType,
145 const word& patchType
163 const label newStart,
164 const word& nbrPatchName,
165 const word& nonOverlapPatchName
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual label nonOverlapPatchID() const
Non-overlapping patch ID.
virtual void updateMesh(PstreamBuffers &)
Update of the patch topology.
virtual const cyclicACMIPolyPatch & neighbPatch() const
Return a reference to the neighbour patch.
virtual const scalarField & srcMask() const
Return the mask/weighting for the source patch.
virtual void calcGeometry(PstreamBuffers &)
Calculate the patch geometry.
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
virtual transformType transform() const
Type of transform.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
interpolationMethod
Enumeration specifying interpolation method.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
A list of faces which address into the list of points.
virtual void movePoints(PstreamBuffers &pBufs, const pointField &)
Correct patches after moving points.
virtual const scalarField & tgtMask() const
Return the mask/weighting for the target patch.
A class for handling words, derived from string.
virtual autoPtr< polyPatch > clone(const polyBoundaryMesh &bm) const
Construct and return a clone, resetting the boundary mesh.
virtual void initMovePoints(PstreamBuffers &pBufs, const pointField &)
Initialise the patches for moving points.
cyclicACMIPolyPatch(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType, const transformType transform=UNKNOWN)
Construct from (base couped patch) components.
const word & nonOverlapPatchName() const
Non-overlapping patch name.
Cyclic patch for Arbitrary Mesh Interface (AMI)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
virtual void resetAMI(const AMIPatchToPatchInterpolation::interpolationMethod &AMIMethod=AMIPatchToPatchInterpolation::imFaceAreaWeight) const
Reset the AMI interpolator.
Base class for Arbitrary Mesh Interface (AMI) methods.
virtual void clearGeom()
Clear geometry.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
TypeName("cyclicACMI")
Runtime type information.
virtual void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
void setUpdated(bool flag) const
Reset the updated flag.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
virtual bool order(PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const
Return new ordering for primitivePatch.
const scalarField & mask() const
Mask field where 1 = overlap, 0 = no-overlap.
bool updated() const
Return access to the updated flag.
virtual ~cyclicACMIPolyPatch()
Destructor.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A patch is a list of labels that address the faces in the global face list.
const word & neighbPatchName() const
Neighbour patch name.
const polyPatch & nonOverlapPatch() const
Return a const reference to the non-overlapping patch.
static scalar tolerance()
Overlap tolerance.