40 const label masterFaceLabel,
50 const face& masterFace = meshFaces[masterFaceLabel];
52 label oppositeFaceLabel = -1;
54 for (
const label facei : *
this)
57 const face&
f = meshFaces[facei];
62 facei != masterFaceLabel
63 &&
f.size() == masterFace.
size()
64 && !
f.connected(masterFace)
68 if (oppositeFaceLabel == -1)
71 oppositeFaceLabel = facei;
77 Info<<
"Multiple faces not sharing vertex: " 78 << oppositeFaceLabel <<
" and " 85 return oppositeFaceLabel;
91 const label masterFaceLabel,
96 label oppFaceLabel = opposingFaceLabel(masterFaceLabel, meshFaces);
112 const face& masterFace = meshFaces[masterFaceLabel];
113 const face& slaveFace = meshFaces[oppFaceLabel];
117 bitSet usedEdges(
e.size());
121 face(masterFace.size()),
126 forAll(masterFace, pointi)
132 if (!usedEdges.test(edgeI))
135 label otherVertex =
e[edgeI].otherVertex(masterFace[pointi]);
137 if (otherVertex != -1)
142 forAll(slaveFace, slavePointi)
144 if (slaveFace[slavePointi] == otherVertex)
146 usedEdges.set(edgeI);
147 oppFace[pointi] = otherVertex;
void size(const label n)
Older name for setAddressableSize.
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.
List< edge > edgeList
List of edge.
Ostream & endl(Ostream &os)
Add newline and flush stream.
oppositeFace opposingFace(const label masterFaceLabel, const faceUList &meshFaces) const
Return opposite face oriented the same way as the master face.
#define forAll(list, i)
Loop across all elements in list.
label opposingFaceLabel(const label masterFaceLabel, const faceUList &meshFaces) const
Return index of opposite face.
const dimensionedScalar e
Elementary charge.
messageStream Info
Information stream (stdout output on master, null elsewhere)