faMeshI.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2016-2017 Wikki Ltd
9  Copyright (C) 2021-2022 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 \*---------------------------------------------------------------------------*/
28 
29 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
30 
31 inline const Foam::polyMesh& Foam::faMesh::mesh() const
32 {
33  return
35 }
36 
37 
39 {
40  return boundary_;
41 }
42 
43 
44 inline Foam::label Foam::faMesh::comm() const noexcept
45 {
46  return comm_;
47 }
48 
49 
50 inline Foam::label& Foam::faMesh::comm() noexcept
51 {
52  return comm_;
53 }
54 
55 
56 inline Foam::label Foam::faMesh::nPoints() const noexcept
57 {
58  return nPoints_;
59 }
60 
61 
62 inline Foam::label Foam::faMesh::nEdges() const noexcept
63 {
64  return nEdges_;
65 }
66 
67 
68 inline Foam::label Foam::faMesh::nInternalEdges() const noexcept
69 {
70  return nInternalEdges_;
71 }
72 
73 
74 inline Foam::label Foam::faMesh::nBoundaryEdges() const noexcept
75 {
76  return (nEdges_ - nInternalEdges_);
77 }
78 
79 
80 inline Foam::label Foam::faMesh::nFaces() const noexcept
81 {
82  return nFaces_;
83 }
84 
85 
86 inline const Foam::pointField& Foam::faMesh::points() const
87 {
88  return patch().localPoints();
89 }
90 
91 
92 inline const Foam::edgeList& Foam::faMesh::edges() const noexcept
93 {
94  return edges_;
95 }
96 
97 
99 {
100  return edgeList::subList(edges_, nInternalEdges_);
101 }
102 
104 inline const Foam::faceList& Foam::faMesh::faces() const
105 {
106  return patch().localFaces();
107 }
108 
111 {
112  return edgeOwner_;
113 }
114 
117 {
118  return edgeNeighbour_;
119 }
120 
123 {
124  return faceLabels_;
125 }
126 
127 
129 {
130  if (!patchPtr_)
131  {
132  initPatch();
133  }
134  return *patchPtr_;
135 }
136 
137 
139 {
140  if (!patchPtr_)
141  {
142  initPatch();
143  }
144  return *patchPtr_;
145 }
146 
148 inline Foam::label Foam::faMesh::whichFace(const label meshFacei) const
149 {
150  return faceLabels_.find(meshFacei);
151 }
152 
153 
155 {
156  if (!polyPatchFacesPtr_ || !polyPatchIdsPtr_)
157  {
158  calcWhichPatchFaces();
159  }
160  return *polyPatchIdsPtr_;
161 }
162 
163 
165 {
166  if (!polyPatchFacesPtr_ || !polyPatchIdsPtr_)
167  {
168  calcWhichPatchFaces();
169  }
170  return *polyPatchFacesPtr_;
171 }
172 
173 
175 {
176  return false;
177 }
178 
179 
180 inline const Foam::List<Foam::labelPair>&
182 {
183  if (!bndConnectPtr_)
184  {
185  calcBoundaryConnections();
186  }
187  return *bndConnectPtr_;
188 }
189 
190 
191 // ************************************************************************* //
const edgeList::subList internalEdges() const
Sub-list of local internal edges.
Definition: faMeshI.H:91
label whichFace(const label meshFacei) const
The area-face corresponding to the mesh-face, -1 if not found.
Definition: faMeshI.H:141
const labelList & whichPolyPatches() const
The polyPatches related to the areaMesh, in sorted order.
Definition: faMeshI.H:147
SubList< edge > subList
Declare type of subList.
Definition: List.H:122
const List< labelPair > & boundaryConnections() const
List of proc/face for the boundary edge neighbours using primitive patch edge numbering.
Definition: faMeshI.H:174
label nFaces() const noexcept
Number of patch faces.
Definition: faMeshI.H:73
label nPoints() const noexcept
Number of local mesh points.
Definition: faMeshI.H:49
const uindirectPrimitivePatch & patch() const
Return constant reference to primitive patch.
Definition: faMeshI.H:121
const faceList & faces() const
Return local faces.
Definition: faMeshI.H:97
A list of faces which address into the list of points.
A List obtained as a section of another List.
Definition: SubList.H:50
const labelList & faceLabels() const noexcept
Return the underlying polyMesh face labels.
Definition: faMeshI.H:115
const Mesh & mesh() const noexcept
Reference to the mesh.
Definition: MeshObject.H:157
bool hasInternalEdgeLabels() const noexcept
True if the internalEdges use an ordering that does not correspond 1-to-1 with the patch internalEdge...
Definition: faMeshI.H:167
const pointField & points() const
Return local points.
Definition: faMeshI.H:79
const direction noexcept
Definition: Scalar.H:258
const edgeList & edges() const noexcept
Return local edges with reordered boundary.
Definition: faMeshI.H:85
const polyMesh & mesh() const
Return access to polyMesh.
Definition: faMeshI.H:24
const faBoundaryMesh & boundary() const noexcept
Return constant reference to boundary mesh.
Definition: faMeshI.H:31
label nEdges() const noexcept
Number of local mesh edges.
Definition: faMeshI.H:55
label comm() const noexcept
Return communicator used for parallel communication.
Definition: faMeshI.H:37
label nInternalEdges() const noexcept
Number of internal faces.
Definition: faMeshI.H:61
const labelList & edgeNeighbour() const noexcept
Edge neighbour addressing.
Definition: faMeshI.H:109
const std::string patch
OpenFOAM patch number as a std::string.
Finite area boundary mesh.
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:73
const List< labelPair > & whichPatchFaces() const
The polyPatch/local-face for each faceLabels()
Definition: faMeshI.H:157
label nBoundaryEdges() const noexcept
Number of boundary edges (== nEdges - nInternalEdges)
Definition: faMeshI.H:67
const labelList & edgeOwner() const noexcept
Edge owner addressing.
Definition: faMeshI.H:103