Go to the documentation of this file.
41 #ifndef processorFaPatch_H
42 #define processorFaPatch_H
84 mutable labelList* nonGlobalPatchPointsPtr_;
146 neighbEdgeCentres_(),
147 neighbEdgeLengths_(),
148 neighbEdgeFaceCentres_(),
149 neighbPointsPtr_(nullptr),
150 nonGlobalPatchPointsPtr_(nullptr)
163 myProcNo_(
dict.get<label>(
"myProcNo")),
164 neighbProcNo_(
dict.get<label>(
"neighbProcNo")),
165 neighbEdgeCentres_(),
166 neighbEdgeLengths_(),
167 neighbEdgeFaceCentres_(),
168 neighbPointsPtr_(nullptr),
169 nonGlobalPatchPointsPtr_(nullptr)
194 return neighbProcNo_;
211 virtual bool master()
const
213 return (myProcNo_ < neighbProcNo_);
220 virtual label
comm()
const;
223 virtual int tag()
const;
239 return neighbEdgeCentres_;
245 return neighbEdgeLengths_;
251 return neighbEdgeFaceCentres_;
virtual label comm() const
Return communicator used for communication.
const vectorField & neighbEdgeFaceCentres() const
Return processor-neighbour patch neighbour face centres.
virtual const tensorField & forwardT() const
Return face transformation tensor.
processorFaPatch(const word &name, const labelList &edgeLabels, const label index, const faBoundaryMesh &bm, const label ngbPolyPatchIndex, const label myProcNo, const label neighbProcNo)
Construct from components.
void movePoints(const pointField &)
Correct patches after moving points.
virtual void updateMesh()
Update of the patch topology.
label ngbPolyPatchIndex() const
Return neighbour polyPatch index.
void initGeometry()
Initialise the calculation of the patch geometry.
const vectorField & neighbEdgeCentres() const
Return processor-neighbour patch edge centres.
A class for handling words, derived from Foam::string.
virtual void initTransfer(const Pstream::commsTypes commsType, const labelUList &interfaceData) const
Initialise interface data transfer.
A class for managing temporary objects.
An abstract base class for processor coupled interfaces.
static bool & parRun()
Test if this a parallel run, or allow modify access.
virtual bool master() const
Is this the master side?
int myProcNo() const
Return processor number.
coupledFaPatch(const word &name, const labelList &edgeLabels, const label index, const faBoundaryMesh &bm, const label ngbPolyPatchIndex)
Construct from components.
virtual tmp< labelField > transfer(const Pstream::commsTypes commsType, const labelUList &interfaceData) const
Transfer and return neighbour field.
virtual void initInternalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &internalData) const
Initialise neighbour field transfer.
const vectorField & neighbEdgeLengths() const
Return processor-neighbour patch edge lengths.
Finite area boundary mesh.
virtual bool coupled() const
Return true if running parallel.
coupledFaPatch is an abstract base class for patches that couple regions of the computational domain ...
const labelList & neighbPoints() const
Return neighbour point labels. This is for my local point the.
virtual void initUpdateMesh()
Initialise the update of the patch topology.
int neighbProcNo() const
Return neighbour processor number.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const tensorField & forwardT() const
Return face transformation tensor.
void makeNonGlobalPatchPoints() const
Find non-globa patch points.
virtual void write(Ostream &) const
Write the patch data as a dictionary.
void makeDeltaCoeffs(scalarField &) const
Make patch face - neighbour cell distances.
const labelList & nonGlobalPatchPoints() const
Return the set of labels of the processor patch points which are.
commsTypes
Types of communications.
virtual ~processorFaPatch()
Destructor.
virtual tmp< labelField > interfaceInternalField(const labelUList &internalData) const
Return the values of the given internal data adjacent to.
void makeWeights(scalarField &) const
Make patch weighting factors.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &internalData) const
Return neighbour field.
TypeName("processor")
Runtime type information.
virtual tmp< vectorField > delta() const
Return delta (P to N) vectors across coupled patch.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
void calcGeometry()
Calculate the patch geometry.
const word & name() const
The patch name.
label index() const
The index of this patch in the boundaryMesh.
void initMovePoints(const pointField &)
Initialise the patches for moving points.
virtual int tag() const
Return message tag to use for communication.
virtual label interfaceSize() const
Return interface size.
virtual label size() const
Patch size.