33template<
class FaceList,
class Po
intField>
36 const FaceList& faces,
46template<
class FaceList,
class Po
intField>
53 FaceList(std::move(faces)),
59template<
class FaceList,
class Po
intField>
67 FaceList(faces, reuse),
73template<
class FaceList,
class Po
intField>
87template<
class FaceList,
class Po
intField>
96template<
class FaceList,
class Po
intField>
109template<
class FaceList,
class Po
intField>
122template<
class FaceList,
class Po
intField>
131template<
class FaceList,
class Po
intField>
140template<
class FaceList,
class Po
intField>
149 return nInternalEdges_;
153template<
class FaceList,
class Po
intField>
158 return (allEdges.
size() - this->nInternalEdges());
162template<
class FaceList,
class Po
intField>
166 if (!boundaryPointsPtr_)
171 return *boundaryPointsPtr_;
175template<
class FaceList,
class Po
intField>
184 return *faceFacesPtr_;
188template<
class FaceList,
class Po
intField>
197 return *edgeFacesPtr_;
201template<
class FaceList,
class Po
intField>
210 return *faceEdgesPtr_;
214template<
class FaceList,
class Po
intField>
223 return *pointEdgesPtr_;
227template<
class FaceList,
class Po
intField>
236 return *pointFacesPtr_;
240template<
class FaceList,
class Po
intField>
252 return *localFacesPtr_;
256template<
class FaceList,
class Po
intField>
265 return *meshPointsPtr_;
269template<
class FaceList,
class Po
intField>
273 if (!meshPointMapPtr_)
278 return *meshPointMapPtr_;
282template<
class FaceList,
class Po
intField>
289 if (!localPointsPtr_)
294 return *localPointsPtr_;
298template<
class FaceList,
class Po
intField>
302 if (!localPointOrderPtr_)
304 calcLocalPointOrder();
307 return *localPointOrderPtr_;
311template<
class FaceList,
class Po
intField>
319 return meshPointMap().lookup(gp, -1);
323template<
class FaceList,
class Po
intField>
330 if (!faceCentresPtr_)
335 return *faceCentresPtr_;
339template<
class FaceList,
class Po
intField>
351 return *faceAreasPtr_;
355template<
class FaceList,
class Po
intField>
359 if (!magFaceAreasPtr_)
364 return *magFaceAreasPtr_;
368template<
class FaceList,
class Po
intField>
375 if (!faceNormalsPtr_)
380 return *faceNormalsPtr_;
384template<
class FaceList,
class Po
intField>
391 if (!pointNormalsPtr_)
396 return *pointNormalsPtr_;
402template<
class FaceList,
class Po
intField>
416 FaceList::shallowCopy(
rhs);
422template<
class FaceList,
class Po
intField>
436 FaceList::operator=(std::move(
rhs));
This function calculates the list of patch edges, defined on the list of points supporting the patch....
Checks topology of the patch.
Create the list of loops of outside vertices. Goes wrong on multiply connected edges (loops will be u...
Orders the local points on the patch for most efficient search.
Point addressing on the patch: pointEdges and pointFaces.
For every point on the patch find the closest face on the target side. Return a target face label for...
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A HashTable to objects of type <T> with a label key.
A list of faces which address into the list of points.
label nBoundaryEdges() const
Number of boundary edges == (nEdges() - nInternalEdges()).
const labelListList & pointEdges() const
Return point-edge addressing.
const edgeList & edges() const
Return list of edges, address into LOCAL point list.
label nInternalEdges() const
Number of internal edges.
const Map< label > & meshPointMap() const
Mesh point map.
const edgeList::subList internalEdges() const
Return sub-list of internal edges, address into LOCAL point list.
const labelList & meshPoints() const
Return labelList of mesh points in patch.
const Field< point_type > & localPoints() const
Return pointField of points in patch.
const Field< point_type > & faceNormals() const
Return face unit normals for patch.
const labelList & localPointOrder() const
Return orders the local points for most efficient search.
PrimitivePatch(const FaceList &faces, const PointField &points)
Construct from components.
const Field< point_type > & pointNormals() const
Return point normals for patch.
const edgeList::subList boundaryEdges() const
Return sub-list of boundary edges, address into LOCAL point list.
std::remove_reference< PointField >::type::value_type point_type
The point type.
const Field< point_type > & points() const noexcept
Return reference to global points.
const Field< point_type > & faceAreas() const
Return face area vectors for patch.
label whichPoint(const label gp) const
Given a global point index, return the local point index.
virtual void movePoints(const Field< point_type > &)
Correct patch after moving points.
const labelList & boundaryPoints() const
Return list of boundary points, address into LOCAL point list.
const Field< point_type > & faceCentres() const
Return face centres for patch.
const labelListList & faceFaces() const
Return face-face addressing.
const labelListList & pointFaces() const
Return point-face addressing.
std::remove_reference< FaceList >::type::value_type face_type
The face type.
const labelListList & edgeFaces() const
Return edge-face addressing.
const labelListList & faceEdges() const
Return face-edge addressing.
const Field< scalar > & magFaceAreas() const
Return face area magnitudes for patch.
const List< face_type > & localFaces() const
Return patch faces addressing into local point list.
void size(const label n)
Older name for setAddressableSize.
#define DebugInFunction
Report an information message using Foam::Info.
List< edge > edgeList
List of edge.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
GeometricField< Type, pointPatchField, pointMesh > PointField
A point field for a given type.