52 const int neighbProcNo,
53 const word& referPatchName,
60 newName(referPatchName, myProcNo, neighbProcNo),
70 referPatchName_(referPatchName),
87 tag_(
dict.getOrDefault<int>(
"tag", -1)),
99 referPatchName_(pp.referPatchName()),
115 referPatchName_(pp.referPatchName_),
127 const label newStart,
128 const word& referPatchName
132 referPatchName_(referPatchName),
148 referPatchName_(pp.referPatchName()),
164 const word& cyclicPolyPatchName,
165 const label myProcNo,
166 const label neighbProcNo
172 + cyclicPolyPatchName;
178 const word& cyclicPolyPatchName,
186 "procBoundary.*to.*through" + cyclicPolyPatchName,
216 <<
"Tag calculated from cyclic patch name " << tag_
217 <<
" is the same as the current message type "
219 <<
"Please set a non-conflicting, unique, tag by hand"
220 <<
" using the 'tag' entry"
225 Pout<<
"processorCyclicPolyPatch " <<
name() <<
" uses tag " << tag_
265 neighbFaceCellCentres()
268 if (isA<cyclicPolyPatch>(pp))
276 neighbFaceCellCentres(),
329 UOPstream toNeighbour(neighbProcNo(), pBufs);
348 UIPstream fromNeighbour(neighbProcNo(), pBufs);
349 fromNeighbour >> masterPts >> masterFaces;
357 refCast<const cyclicPolyPatch>(referPatch());
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
A list of faces which address into the list of points.
const Field< point_type > & localPoints() const
Return pointField of points in patch.
const List< face_type > & localFaces() const
Return patch faces addressing into local point list.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
A List obtained as a section of another List.
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.
void reset(autoPtr< T > &&other) noexcept
Delete managed object and set to new given pointer.
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
virtual void calcGeometry(PstreamBuffers &)=0
Calculate the patch geometry.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
virtual bool order(PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const
Return new ordering for primitivePatch.
const cyclicPolyPatch & neighbPatch() const
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
void calcGeometry()
Calculate the geometry for the patches.
virtual bool write()
Write the output fields.
virtual void initMovePoints()
Initialise the patches for moving points.
order
Enumeration specifying required accuracy.
void movePoints()
Update for new mesh geometry.
void updateMesh()
Update for new mesh topology.
const labelHashSet & patchIDs() const
Return the patchIDs.
const word & name() const noexcept
The patch name.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
labelList indices(const wordRe &matcher, const bool useGroups=true) const
Return (sorted) patch indices for all matches.
A patch is a list of labels that address the faces in the global face list.
Neighbour processor patch.
static word newName(const word &cyclicPolyPatchName, const label myProcNo, const label neighbProcNo)
Return the name of a processorCyclicPolyPatch.
virtual ~processorCyclicPolyPatch()
void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
virtual void initOrder(PstreamBuffers &, const primitivePatch &) const
Initialize ordering for primitivePatch. Does not.
virtual int tag() const
Return message tag to use for communication.
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
Neighbour processor patch.
void initGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
static word newName(const label myProcNo, const label neighbProcNo)
Return the name of a processorPolyPatch.
virtual void initUpdateMesh(PstreamBuffers &)
Initialise the update of the patch topology.
Lookup type of boundary radiation properties.
A wordRe is a Foam::word, but can contain a regular expression for matching words or strings.
@ REGEX
Regular expression.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
PrimitivePatch< SubList< face >, const pointField & > primitivePatch
A PrimitivePatch with a SubList addressing for the faces, const reference for the point field.
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
Hashing functor for string and derived string classes.