44 if (isA<Type>(
bMesh[patchi]))
53 template<
class PatchType>
57 const PatchType&
patch,
67 scalar minDist = GREAT;
70 for (
const label patchFacei : wallFaces)
74 if (curHit.distance() < minDist)
76 minDist = curHit.distance();
77 minFacei = patchFacei;
85 template<
class PatchType>
88 const PatchType&
patch,
89 const label patchFacei,
100 neighbours.
append(patchFacei);
105 for (
const label nbr : faceNeighbours)
114 const face&
f =
patch.localFaces()[patchFacei];
118 label pointi =
f[fp];
122 for (
const label facei : pointNbs)
140 nbs.insert(pointNbs);
144 for (
const label nb : neighbours)
149 <<
"getPointNeighbours : patchFacei:" << patchFacei
150 <<
" verts:" <<
f <<
endl;
155 <<
"point:" <<
f[fp] <<
" pointFaces:" 159 for (
const label facei : neighbours)
162 <<
"fast nbr:" << facei
167 <<
"Problem: fast pointNeighbours routine included " << nb
168 <<
" which is not in proper neighbour list " << nbs.toc()
177 <<
"Problem: fast pointNeighbours routine did not find " labelHashSet getPatchIDs() const
Get patchIDs of/derived off certain type (e.g. 'processorPolyPatch')
const labelList patchIDs(pbm.indices(polyPatchNames, true))
void size(const label n)
Older name for setAddressableSize.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Ostream & endl(Ostream &os)
Add newline and flush stream.
UList< label > labelUList
A UList of labels.
#define SeriousErrorInFunction
Report an error message using Foam::SeriousError.
#define forAll(list, i)
Loop across all elements in list.
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
A list of faces which address into the list of points.
vectorField pointField
pointField is a vectorField.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
void append(const T &val)
Copy append an element to the end of this list.
errorManip< error > abort(error &err)
scalar smallestDist(const point &p, const PatchType &patch, const labelUList &wallFaces, label &patchFacei) const
Calculate smallest true distance (and patch face index)
A polyBoundaryMesh is a polyPatch list with registered IO, a reference to the associated polyMesh...
int debug
Static debugging option.
void clear() noexcept
Clear the addressed list, i.e. set the size to zero.
label push_uniq(const T &val)
Append an element if not already in the list.
vector point
Point is a vector.
const std::string patch
OpenFOAM patch number as a std::string.
List< label > labelList
A List of labels.
void getPointNeighbours(const PatchType &, const label patchFacei, DynamicList< label > &) const
Get faces sharing point with face on patch.
const polyMesh & mesh() const
Access mesh.
PointHit< point > pointHit
A PointHit with a 3D point.