41 const label masterFaceLabel,
51 const face& masterFace = meshFaces[masterFaceLabel];
55 label oppositeFaceLabel = -1;
57 forAll(curFaceLabels, facei)
60 const face& curFace = meshFaces[curFaceLabels[facei]];
65 curFaceLabels[facei] != masterFaceLabel
66 && curFace.
size() == masterFace.
size()
69 bool sharedPoint =
false;
75 const label l = curFace[pointi];
77 forAll(masterFace, masterPointi)
79 if (masterFace[masterPointi] == l)
86 if (sharedPoint)
break;
92 if (oppositeFaceLabel == -1)
95 oppositeFaceLabel = curFaceLabels[facei];
101 Info<<
"Multiple faces not sharing vertex: " 102 << oppositeFaceLabel <<
" and " 103 << curFaceLabels[facei] <<
endl;
110 return oppositeFaceLabel;
116 const label masterFaceLabel,
121 label oppFaceLabel = opposingFaceLabel(masterFaceLabel, meshFaces);
124 if (oppFaceLabel < 0)
138 const face& masterFace = meshFaces[masterFaceLabel];
139 const face& slaveFace = meshFaces[oppFaceLabel];
152 forAll(masterFace, pointi)
158 if (!usedEdges[edgeI])
162 e[edgeI].otherVertex(masterFace[pointi]);
164 if (otherVertex != -1)
169 forAll(slaveFace, slavePointi)
171 if (slaveFace[slavePointi] == otherVertex)
173 usedEdges[edgeI] =
true;
174 oppFace[pointi] = otherVertex;
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Class containing opposite face for a prismatic cell with addressing and a possibility of failure...
A face is a list of labels corresponding to mesh vertices.
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionedScalar e
Elementary charge.
label opposingFaceLabel(const label masterFaceLabel, const faceUList &meshFaces) const
Return index of opposite face.
oppositeFace opposingFace(const label masterFaceLabel, const faceUList &meshFaces) const
Return opposite face oriented the same way as the master face.