Go to the documentation of this file.
58 #ifndef PointEdgeWave_H
59 #define PointEdgeWave_H
85 template<
class Type,
class TrackingData =
int>
88 public PointEdgeWaveName
172 const label neighbourEdgeI,
173 const Type& neighbourInfo,
182 const Type& neighbourInfo,
191 const label neighbourPointI,
192 const Type& neighbourInfo,
199 template<
class PatchType>
284 const TrackingData&
data()
const
326 template<
class Type,
class TrackingData =
int>
label getUnsetEdges() const
Get number of unvisited edges, i.e. edges that were not (yet)
TrackingData & td_
Additional data to be passed into container.
label pointToEdge()
Propagate from point to edge. Returns total number of edges.
labelList changedPoints_
List of changed points.
void setPointInfo(const labelList &changedPoints, const List< Type > &changedPointsInfo)
Copy initial data into allPointInfo_.
#define forAll(list, i)
Loop across all elements in list.
label countPatchType() const
Has patches of certain type?
const polyMesh & mesh_
Reference to mesh.
boolList changedEdge_
Edges that have changed.
listUpdateOp(const scalar tol, TrackingData &td)
Wave propagation of information through grid. Every iteration information goes through one layer of e...
static scalar propagationTol()
Access to tolerance.
UList< Type > & allPointInfo() const
Access allPointInfo.
void transform(const polyPatch &patch, const tensorField &rotTensor, List< Type > &pointInfo) const
Transform. Implementation referred to Type.
label edgeToPoint()
Propagate from edge to point. Returns total number of points.
static scalar propagationTol_
Relative tolerance. Stop propagation if relative changes.
Mesh consisting of general polyhedral cells.
boolList changedPoint_
Has point changed.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
label iterate(const label maxIter)
Iterate until no changes or maxIter reached. Returns actual.
A patch is a list of labels that address the faces in the global face list.
void handleCyclicPatches()
Merge data from across cyclic boundaries.
TemplateName(blendedSchemeBase)
label nChangedPoints_
Number of changed points.
static int dummyTrackData_
Used as default trackdata value to satisfy default template.
~PointEdgeWave()
Destructor.
label getUnsetPoints() const
const TrackingData & data() const
Additional data to be passed into container.
void operator=(const PointEdgeWave &)
Disallow default bitwise assignment.
PointEdgeWave(const PointEdgeWave &)
Disallow default bitwise copy construct.
void leaveDomain(const polyPatch &, const List< label > &patchPointLabels, List< Type > &pointInfo) const
Adapt pointInfo for leaving domain.
UList< Type > & allPointInfo_
Wall information for all points.
label nEvals_
Number of evaluations.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
UList< Type > & allEdgeInfo() const
Access allEdgeInfo.
UList< Type > & allEdgeInfo_
Information on all mesh edges.
void handleProcPatches()
Merge data from across processor boundaries.
void operator()(List< Type > &x, const List< Type > &y) const
bool updatePoint(const label pointI, const label neighbourEdgeI, const Type &neighbourInfo, Type &pointInfo)
Updates pointInfo with information from neighbour. Updates all.
bool updateEdge(const label edgeI, const label neighbourPointI, const Type &neighbourInfo, Type &edgeInfo)
Updates edgeInfo with information from neighbour. Updates all.
void enterDomain(const polyPatch &, const List< label > &patchPointLabels, List< Type > &pointInfo) const
Adapt pointInfo for entering domain.
static void setPropagationTol(const scalar tol)
Change tolerance.
const scalar tol_
Additional data to be passed into container.
label handleCollocatedPoints()
Explicitly sync all collocated points.
label nUnvisitedPoints_
Number of unvisited edges/points.
label nCyclicPatches_
Number of cyclic patches.