37 #ifndef coupledPolyPatch_H
38 #define coupledPolyPatch_H
74 const label seedFacei,
75 const label seedFacePointi,
220 const word& patchType
230 const word& patchType
263 virtual bool owner()
const = 0;
#define forAll(list, i)
Loop across all elements in list.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const Field< PointType > & points() const
Return reference to global points.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
label size() const
Return the number of elements in the UList.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
virtual void topoChange(PstreamBuffers &)=0
Update of the patch topology.
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
scalar matchTolerance() const
Return the matching tolerance.
virtual void initMovePoints(PstreamBuffers &, const pointField &)=0
Initialise the patches for moving points.
virtual bool coupled() const
Return true because this patch is coupled.
virtual void calcGeometry(PstreamBuffers &)=0
Calculate the patch geometry.
friend Ostream & operator<<(Ostream &, const ownToNbrOrderData &)
static const scalar defaultMatchTol_
Default matching tolerance.
coupledPolyPatch(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType)
Construct from components.
virtual bool order(const ownToNbrOrderData &ownToNbr, const autoPtr< ownToNbrDebugOrderData > &ownToNbrDebugPtr, const primitivePatch &, labelList &faceMap, labelList &rotation) const
Return new ordering for the given primitivePatch.
virtual void movePoints(PstreamBuffers &, const pointField &)=0
Correct patches after moving points.
virtual bool owner() const =0
Does this side own the patch ?
TypeName("coupled")
Runtime type information.
virtual void initTopoChange(PstreamBuffers &)=0
Initialise the update of the patch topology.
virtual void initCalcGeometry(PstreamBuffers &)=0
Initialise the calculation of the patch geometry.
virtual const transformer & transform() const =0
Return transformation between the coupled patches.
autoPtr< ownToOwnOrderData > ownToOwnOrderDataPtr_
Data to pass from owner.initOrder to owner.order.
static void writeOBJ(const fileName &, const primitivePatch &)
Write a patch in OBJ format.
friend Istream & operator>>(Istream &, ownToNbrOrderData &)
static scalarField calcFaceTol(const UList< face > &faces, const pointField &points, const pointField &faceCentres)
Calculate typical tolerance per face. Is currently max distance.
const scalar matchTolerance_
Local matching tolerance.
virtual bool neighbour() const
Does the coupled side own the patch ?
virtual void initOrder(ownToNbrOrderData &ownToNbr, autoPtr< ownToNbrDebugOrderData > &ownToNbrDebugPtr, const primitivePatch &) const
Initialise ordering for the given primitivePatch. Fills the.
virtual ~coupledPolyPatch()
Destructor.
A list of keyword definitions, which are a keyword followed by any number of values (e....
A class for handling file names.
label index() const
Return the index of this patch in the boundaryMesh.
const word & name() const
Return name.
A patch is a list of labels that address the faces in the global face list.
label start() const
Return start label of this patch in the polyMesh face list.
const vectorField::subField faceCentres() const
Return face centres.
A class for handling words, derived from string.
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Istream & operator>>(Istream &, pistonPointEdgeData &)
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)
Data to pass from owner.initOrder to nbr.order if debugging.
void transform(const transformer &tr)
Data to pass from owner.initOrder to nbr.order.
List< pointField > seedFacePoints
void transform(const transformer &tr)
Data to pass from owner.initOrder to owner.order.