Go to the documentation of this file.
35 #ifndef cyclicACMIPolyPatch_H
36 #define cyclicACMIPolyPatch_H
143 const word& patchType,
154 const word& patchType
172 const label newStart,
173 const word& nbrPatchName,
298 template<
class Type,
class CombineOp>
303 const CombineOp& cop,
interpolationMethod
Enumeration specifying interpolation method.
void setUpdated(bool flag) const
Reset the updated flag.
virtual ~cyclicACMIPolyPatch()
Destructor.
vectorField faceAreas0_
Copy of the original patch face areas.
virtual void calcGeometry(PstreamBuffers &)
Calculate the patch geometry.
virtual void movePoints(PstreamBuffers &pBufs, const pointField &)
Correct patches after moving points.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
A class for handling words, derived from string.
A class for managing temporary objects.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
const vectorField & faceAreas0() const
Return access to the original patch face areas.
bool updated() const
Return access to the updated flag.
const word nonOverlapPatchName_
Name of non-overlapping patch.
tmp< Field< Type > > interpolate(const Field< Type > &fldCouple, const Field< Type > &fldNonOverlap) const
Interpolate field.
Base class for Arbitrary Mesh Interface (AMI) methods.
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.
const polyPatch & nonOverlapPatch() const
Return a const reference to the non-overlapping patch.
TypeName("cyclicACMI")
Runtime type information.
virtual void updateMesh(PstreamBuffers &)
Update of the patch topology.
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static const scalar tolerance_
Pre-declare SubField and related Field type.
virtual void resetAMI(const AMIPatchToPatchInterpolation::interpolationMethod &AMIMethod=AMIPatchToPatchInterpolation::imFaceAreaWeight) const
Reset the AMI interpolator.
A patch is a list of labels that address the faces in the global face list.
virtual const scalarField & srcMask() const
Return the mask/weighting for the source patch.
scalarField tgtMask_
Mask/weighting for target patch.
bool updated_
Flag to indicate that AMI has been updated.
virtual void clearGeom()
Clear geometry.
virtual bool order(PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const
Return new ordering for primitivePatch.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
virtual autoPtr< polyPatch > clone(const polyBoundaryMesh &bm) const
Construct and return a clone, resetting the boundary mesh.
virtual label nonOverlapPatchID() const
Non-overlapping patch ID.
A list of keyword definitions, which are a keyword followed by any number of values (e....
virtual void setNeighbourFaceAreas() const
Set neighbour ACMI patch areas.
label start() const
Return start label of this patch in the polyMesh face list.
virtual transformType transform() const
Type of transform.
virtual void initMovePoints(PstreamBuffers &pBufs, const pointField &)
Initialise the patches for moving points.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
label nonOverlapPatchID_
Index of non-overlapping patch.
virtual const cyclicACMIPolyPatch & neighbPatch() const
Return a reference to the neighbour patch.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
scalarField srcMask_
Mask/weighting for source patch.
const word & neighbPatchName() const
Neighbour patch name.
virtual void initPatchFaceAreas() const
Initialise patch face areas.
virtual const scalarField & tgtMask() const
Return the mask/weighting for the target patch.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI)
const scalarField & mask() const
Mask field where 1 = overlap, 0 = no-overlap.
const word & name() const
Return name.
label index() const
Return the index of this patch in the boundaryMesh.
A list of faces which address into the list of points.
virtual void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
Cyclic patch for Arbitrary Mesh Interface (AMI)