Wave propagation of information along patch. Every iteration information goes through one layer of faces. Templated on information that is transferred. More...
Public Member Functions | |
PatchEdgeFaceWave (const polyMesh &mesh, const PrimitivePatchType &patch, const labelList &initialEdges, const List< Type > &initialEdgesInfo, UList< Type > &allEdgeInfo, UList< Type > &allFaceInfo, const label maxIter, TrackingData &td=defaultTrackingData_) | |
Construct from patch, list of changed edges with the Type. More... | |
PatchEdgeFaceWave (const polyMesh &mesh, const PrimitivePatchType &patch, UList< Type > &allEdgeInfo, UList< Type > &allFaceInfo, TrackingData &td=defaultTrackingData_) | |
Construct from patch. Use setEdgeInfo and iterate() to do. More... | |
PatchEdgeFaceWave (const PatchEdgeFaceWave &)=delete | |
Disallow default bitwise copy construction. More... | |
UList< Type > & | allEdgeInfo () const |
Access allEdgeInfo. More... | |
UList< Type > & | allFaceInfo () const |
Access allFaceInfo. More... | |
const TrackingData & | data () const |
Additional data to be passed into container. More... | |
label | getUnsetFaces () const |
Get number of unvisited faces, i.e. faces that were not (yet) More... | |
label | getUnsetEdges () const |
void | setEdgeInfo (const labelList &changedEdges, const List< Type > &changedEdgesInfo) |
Copy initial data into allEdgeInfo_. More... | |
label | edgeToFace () |
Propagate from edge to face. Returns total number of faces. More... | |
label | faceToEdge () |
Propagate from face to edge. Returns total number of edges. More... | |
label | iterate (const label maxIter) |
Iterate until no changes or maxIter reached. Returns actual. More... | |
void | operator= (const PatchEdgeFaceWave &)=delete |
Disallow default bitwise assignment. More... | |
Static Public Member Functions | |
static scalar | propagationTol () |
Access to tolerance. More... | |
static void | setPropagationTol (const scalar tol) |
Change tolerance. More... | |
Static Public Attributes | |
static int | defaultTrackingData_ = -1 |
Default tracking data to go with default template argument. More... | |
Wave propagation of information along patch. Every iteration information goes through one layer of faces. Templated on information that is transferred.
Definition at line 69 of file PatchEdgeFaceWave.H.
PatchEdgeFaceWave | ( | const polyMesh & | mesh, |
const PrimitivePatchType & | patch, | ||
const labelList & | initialEdges, | ||
const List< Type > & | initialEdgesInfo, | ||
UList< Type > & | allEdgeInfo, | ||
UList< Type > & | allFaceInfo, | ||
const label | maxIter, | ||
TrackingData & | td = defaultTrackingData_ |
||
) |
Construct from patch, list of changed edges with the Type.
for these edges. Gets work arrays to operate on, one of size number of patch edges, the other number of patch faces. Iterates until nothing changes or maxIter reached. (maxIter can be 0)
Definition at line 289 of file PatchEdgeFaceWave.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::Pout.
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setPropagationTol().
PatchEdgeFaceWave | ( | const polyMesh & | mesh, |
const PrimitivePatchType & | patch, | ||
UList< Type > & | allEdgeInfo, | ||
UList< Type > & | allFaceInfo, | ||
TrackingData & | td = defaultTrackingData_ |
||
) |
Construct from patch. Use setEdgeInfo and iterate() to do.
actual calculation
Definition at line 379 of file PatchEdgeFaceWave.C.
References PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::getUnsetEdges().
|
delete |
Disallow default bitwise copy construction.
|
inlinestatic |
Access to tolerance.
Definition at line 161 of file PatchEdgeFaceWave.H.
|
inlinestatic |
Change tolerance.
Definition at line 167 of file PatchEdgeFaceWave.H.
References PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::allEdgeInfo(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::allFaceInfo(), mesh, and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::PatchEdgeFaceWave().
|
inline |
Access allEdgeInfo.
Definition at line 210 of file PatchEdgeFaceWave.H.
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setPropagationTol().
|
inline |
Access allFaceInfo.
Definition at line 216 of file PatchEdgeFaceWave.H.
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setPropagationTol().
|
inline |
Additional data to be passed into container.
Definition at line 222 of file PatchEdgeFaceWave.H.
References PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::edgeToFace(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::faceToEdge(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::getUnsetEdges(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::getUnsetFaces(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::iterate(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::operator=(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setEdgeInfo().
Foam::label getUnsetFaces | ( | ) | const |
Get number of unvisited faces, i.e. faces that were not (yet)
reached from walking across patch. This can happen from
Definition at line 436 of file PatchEdgeFaceWave.C.
References PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setEdgeInfo().
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::getUnsetEdges().
Foam::label getUnsetEdges | ( | ) | const |
Definition at line 423 of file PatchEdgeFaceWave.C.
References PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::getUnsetFaces().
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::PatchEdgeFaceWave().
Copy initial data into allEdgeInfo_.
Definition at line 451 of file PatchEdgeFaceWave.C.
References List< T >::append(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::faceToEdge(), and forAll.
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::getUnsetFaces().
Foam::label edgeToFace | ( | ) |
Propagate from edge to face. Returns total number of faces.
(over all processors) changed.
Definition at line 553 of file PatchEdgeFaceWave.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::iterate(), Foam::nl, Foam::Pout, and Foam::returnReduce().
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::faceToEdge().
Foam::label faceToEdge | ( | ) |
Propagate from face to edge. Returns total number of edges.
(over all processors) changed.
Definition at line 490 of file PatchEdgeFaceWave.C.
References Foam::abort(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::edgeToFace(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::nl, Foam::Pout, and Foam::returnReduce().
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setEdgeInfo().
Foam::label iterate | ( | const label | maxIter | ) |
Iterate until no changes or maxIter reached. Returns actual.
number of iterations.
Definition at line 615 of file PatchEdgeFaceWave.C.
References Foam::endl(), Foam::nl, and Foam::Pout.
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::edgeToFace().
|
delete |
Disallow default bitwise assignment.
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data().
|
static |
Default tracking data to go with default template argument.
Definition at line 155 of file PatchEdgeFaceWave.H.