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