42#ifndef Foam_processorFaPatch_H
43#define Foam_processorFaPatch_H
99 const label nbrPolyPatchi,
102 const word& patchType = typeName
150 const label nbrPolyPatchi,
153 const word& patchType = typeName
163 const word& patchType = typeName
188 return neighbProcNo_;
200 return (myProcNo_ < neighbProcNo_);
205 virtual int tag()
const
211 virtual label
comm()
const;
227 return neighbEdgeCentres_;
233 return neighbEdgeLengths_;
239 return neighbEdgeFaceCentres_;
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Buffers for inter-processor communications streams (UOPstream, UIPstream).
commsTypes
Types of communications.
static int & msgType() noexcept
Message tag of standard messages.
static bool & parRun() noexcept
Test if this a parallel run.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
coupledFaPatch is an abstract base class for patches that couple regions of the computational domain ...
const tensorField & forwardT() const
Return face transformation tensor.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Finite area boundary mesh.
virtual label size() const
Patch size is the number of edge labels.
const labelList & edgeLabels() const noexcept
Return the list of edges.
const labelUList & edgeFaces() const
Return edge-face addressing.
label index() const noexcept
The index of this patch in the boundaryMesh.
const word & name() const noexcept
The patch name.
virtual void updateMesh(PstreamBuffers &)
Update of the patch topology.
virtual void initTransfer(const Pstream::commsTypes commsType, const labelUList &interfaceData) const
Initialise interface data transfer.
virtual ~processorFaPatch()
Destructor.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &internalData) const
Return neighbour field.
void initMovePoints(PstreamBuffers &, const pointField &)
Initialise the patches for moving points.
const vectorField & neighbEdgeFaceCentres() const
Return processor-neighbour patch neighbour face centres.
virtual bool coupled() const
Return true if running parallel.
void makeWeights(scalarField &) const
Make patch weighting factors.
const vectorField & neighbEdgeLengths() const
Return processor-neighbour patch edge lengths.
virtual label interfaceSize() const noexcept
Return interface size.
virtual bool owner() const noexcept
Does this side own the patch ?
void calcGeometry(PstreamBuffers &)
Calculate the patch geometry.
const labelList & neighbPoints() const
Return neighbour point labels. This is for my local point the.
void makeNonGlobalPatchPoints() const
Find non-globa patch points.
void makeDeltaCoeffs(scalarField &) const
Make patch face - neighbour cell distances.
int neighbProcNo() const noexcept
Return neighbour processor number.
virtual tmp< labelField > transfer(const Pstream::commsTypes commsType, const labelUList &interfaceData) const
Transfer and return neighbour field.
void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
virtual label comm() const
Return communicator used for communication.
virtual tmp< vectorField > delta() const
Return delta (P to N) vectors across coupled patch.
virtual void initInternalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &internalData) const
Initialise neighbour field transfer.
int myProcNo() const noexcept
Return processor number.
virtual tmp< labelField > interfaceInternalField(const labelUList &internalData) const
void movePoints(PstreamBuffers &, const pointField &)
Correct patches after moving points.
const labelList & nonGlobalPatchPoints() const
Return the set of labels of the processor patch points which are.
virtual int tag() const
The message tag to use for communication.
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
TypeName("processor")
Runtime type information.
const vectorField & neighbEdgeCentres() const
Return processor-neighbour patch edge centres.
virtual const tensorField & forwardT() const
Return face transformation tensor.
An abstract base class for processor coupled interfaces.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.