61 #ifndef Foam_PointEdgeWave_H 62 #define Foam_PointEdgeWave_H 182 template<
class Type,
class TrackingData =
int>
199 label nCyclicPatches_;
236 const label neighbourEdgeI,
237 const Type& neighbourInfo,
246 const Type& neighbourInfo,
255 const label neighbourPointi,
256 const Type& neighbourInfo,
264 template<
class PatchType>
265 label countPatchType()
const;
268 void handleProcPatches();
271 void handleCyclicPatches();
274 label handleCollocatedPoints();
324 return allPointInfo_;
343 const List<Type>& changedPointsInfo
356 label
iterate(
const label maxIter);
367 template<
class Type,
class TrackingData =
int>
384 void operator()(List<Type>&
x,
const List<Type>&
y)
const 390 x[i].updatePoint(
y[i], tol_, td_);
void size(const label n)
Older name for setAddressableSize.
DynamicList< label > changedPoints_
List of changed points.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
~PointEdgeWave()=default
Destructor.
label pointToEdge()
Propagate from point to edge. Returns total number of edges.
const polyMesh & mesh_
Reference to mesh.
label iterate(const label maxIter)
Iterate until no changes or maxIter reached. Returns actual.
listUpdateOp(const scalar tol, TrackingData &td)
label edgeToPoint()
Propagate from edge to point. Returns total number of points.
void operator()(List< Type > &x, const List< Type > &y) const
label nUnvisitedPoints_
Number of unvisited points.
void setPointInfo(const labelList &changedPoints, const List< Type > &changedPointsInfo)
Copy initial data into allPointInfo_.
static int dummyTrackData_
Default trackData value (for default template argument)
#define forAll(list, i)
Loop across all elements in list.
UList< Type > & allPointInfo() const noexcept
Access allPointInfo.
const polyMesh & mesh() const noexcept
Return access to the mesh.
label nChangedEdges() const noexcept
Current number of changed edges.
PstreamBuffers pBufs_
Buffers when updating processor patches.
ClassName("PointEdgeWave")
Runtime type information.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
label nUnvisitedEdges() const noexcept
Number of unvisited edges, i.e. edges that were not (yet) reached from walking across mesh...
static scalar propagationTol() noexcept
Access to propagation tolerance.
static scalar setPropagationTol(const scalar tol) noexcept
Change propagation tolerance, return previous value.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
label nUnvisitedPoints() const noexcept
Get number of unvisited points.
UList< Type > & allEdgeInfo() const noexcept
Access allEdgeInfo.
const std::string patch
OpenFOAM patch number as a std::string.
static scalar propagationTol_
Relative tolerance.
DynamicList< label > changedEdges_
List of changed edges.
const TrackingData & data() const noexcept
Additional data to be passed into container.
Mesh consisting of general polyhedral cells.
List< label > labelList
A List of labels.
PointEdgeWaveBase(const polyMesh &mesh)
Construct with mesh reference and set initial sizes.
bitSet changedPoint_
Track if point has changed.
A patch is a list of labels that address the faces in the global face list.
Wave propagation of information through grid. Every iteration information goes through one layer of e...
label nChangedPoints() const noexcept
Current number of changed points.
bitSet changedEdge_
Track if edge has changed.
label nUnvisitedEdges_
Number of unvisited edges.