33 template<
class FaceList,
class Po
intField>
37 return Foam::edge(this->meshPoints(), this->edges()[edgei]);
41 template<
class FaceList,
class Po
intField>
49 template<
class FaceList,
class Po
intField>
60 <<
"Calculating labels of patch edges in mesh edge list" <<
nl;
69 forAll(meshEdgeLabels, edgei)
71 const edge globalEdge(this->meshEdge(edgei));
76 for (
const label patchFacei : EdgeFaces[edgei])
79 const label curCelli =
faceCells[patchFacei];
82 for (
const label cellEdgei : cellEdges[curCelli])
84 if (allEdges[cellEdgei] == globalEdge)
87 meshEdgeLabels[edgei] = cellEdgei;
96 return meshEdgeLabels;
100 template<
class FaceList,
class Po
intField>
109 <<
"Calculating labels of patch edges in mesh edge list" <<
nl;
111 labelList meshEdgeLabels(this->nEdges());
115 forAll(meshEdgeLabels, edgei)
117 const edge globalEdge(this->meshEdge(edgei));
120 for (
const label meshEdgei : pointEdges[globalEdge.
start()])
122 if (allEdges[meshEdgei] == globalEdge)
124 meshEdgeLabels[edgei] = meshEdgei;
130 return meshEdgeLabels;
134 template<
class FaceList,
class Po
intField>
144 const edge globalEdge(this->meshEdge(edgei));
147 for (
const label meshEdgei : pointEdges[globalEdge.
start()])
149 if (allEdges[meshEdgei] == globalEdge)
159 template<
class FaceList,
class Po
intField>
170 forAll(meshEdgeLabels, edgei)
172 meshEdgeLabels[edgei] =
173 this->meshEdge(edgeLabels[edgei], allEdges, pointEdges);
176 return meshEdgeLabels;
180 template<
class FaceList,
class Po
intField>
190 const edgeList& myEdges = this->edges();
192 for (
const label patchEdgei : pointEdges()[
e.first()])
194 if (
e == myEdges[patchEdgei])
void size(const label n)
Older name for setAddressableSize.
constexpr char nl
The newline '\n' character (0x0a)
Smooth ATC in cells next to a set of patches supplied by type.
#define forAll(list, i)
Loop across all elements in list.
label start() const noexcept
The start (first) vertex label.
label findEdge(const edge &e) const
Search for edge (local point labels) and return its index in the edge list or -1 if not found...
const dimensionedScalar e
Elementary charge.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
#define DebugInFunction
Report an information message using Foam::Info.
labelList meshEdges(const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const
Return labels of patch edges in the global edge list using cell addressing.
edge meshEdge(const label edgei) const
From patch edge to global edge using meshPoints.