37 ownerPolyPatchId_(-1),
38 neighPolyPatchId_(-1),
55 patchDict.
add(
"type", type_);
59 patchDict.
add(
"edgeLabels", edgeLabels_);
65 patchDict.
add(
"ngbPolyPatchIndex", neighPolyPatchId_);
69 patchDict.
add(
"myProcNo", ownerProcId_);
70 patchDict.
add(
"neighbProcNo", neighProcId_);
79 return (!name_.empty() && !type_.empty());
88 ownerPolyPatchId_ = -1;
89 neighPolyPatchId_ = -1;
109 const auto* fapp = isA<processorFaPatch>(fap);
112 ownerProcId_ = fapp->myProcNo();
113 neighProcId_ = fapp->neighbProcNo();
122 if (ownProci == neiProci)
128 type_ = processorFaPatch::typeName;
129 ownerProcId_ = ownProci;
130 neighProcId_ = neiProci;
142 if (patchPair.
first() >= 0 && patchPair.
first() == ownerPolyPatchId_)
146 if (patchPair.
second() >= 0 && patchPair.
second() == neighPolyPatchId_)
161 if (patchPair.
first() >= 0 || patchPair.
second() >= 0)
165 ownerPolyPatchId_ == patchPair.
first()
166 && neighPolyPatchId_ == patchPair.
second()
174 ownerPolyPatchId_ == patchPair.
second()
175 && neighPolyPatchId_ == patchPair.
first()
int matchPatchPair(const labelPair &patchPair) const noexcept
Ordered match with owner/neighbour patchPair.
const T & first() const noexcept
Access the first element.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
int comparePatchPair(const labelPair &patchPair) const noexcept
Unordered comparison with owner/neighbour patchPair.
bool coupled(solutionDict.getOrDefault("coupledEnergyField", false))
const word & name() const noexcept
Return the name.
static word newName(const label myProcNo, const label neighbProcNo)
Return the name of a processorPolyPatch.
bool assign_coupled(int ownProci, int neiProci)
Set values consistent with a processor coupling.
entry * add(entry *entryPtr, bool mergeEntry=false)
Add a new entry.
const labelList & edgeLabels() const noexcept
Return the list of edges.
A class for handling words, derived from Foam::string.
dictionary dict(const bool withEdgeLabels=true) const
Contents transcribed into a patch dictionary, usually including the edge labels.
const word & name() const noexcept
The patch name.
Pair< label > labelPair
A pair of labels.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
faPatchData()
Default construct.
bool good() const
Has name/type etc.
List< label > labelList
A List of labels.
const T & second() const noexcept
Access the second element.
void assign(const faPatch &fap)
Clear and populate with values from finiteArea patch.
label ngbPolyPatchIndex() const noexcept
The neighbour polyPatch index.