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=dummyTrackData_) | |
PatchEdgeFaceWave (const polyMesh &mesh, const PrimitivePatchType &patch, UList< Type > &allEdgeInfo, UList< Type > &allFaceInfo, TrackingData &td=dummyTrackData_) | |
Construct from patch. 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 | nUnvisitedFaces () const |
label | nUnvisitedEdges () const |
void | setEdgeInfo (const labelList &changedEdges, const List< Type > &changedEdgesInfo) |
Copy initial data into allEdgeInfo_. More... | |
label | edgeToFace () |
Propagate from edge to face. More... | |
label | faceToEdge () |
Propagate from face to edge. More... | |
label | iterate (const label maxIter) |
Iterate until no changes or maxIter reached. More... | |
Static Public Member Functions | |
static scalar | propagationTol () |
Access to tolerance. More... | |
static void | setPropagationTol (const scalar tol) |
Change tolerance. 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 72 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 = dummyTrackData_ |
||
) |
Construct from patch, list of changed edges with the Type for these edges.
Obtains 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 291 of file PatchEdgeFaceWave.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::Pout.
PatchEdgeFaceWave | ( | const polyMesh & | mesh, |
const PrimitivePatchType & | patch, | ||
UList< Type > & | allEdgeInfo, | ||
UList< Type > & | allFaceInfo, | ||
TrackingData & | td = dummyTrackData_ |
||
) |
Construct from patch.
Use setEdgeInfo() and iterate() to do actual calculation
Definition at line 381 of file PatchEdgeFaceWave.C.
|
inlinestatic |
Access to tolerance.
Definition at line 167 of file PatchEdgeFaceWave.H.
|
inlinestatic |
Change tolerance.
Definition at line 173 of file PatchEdgeFaceWave.H.
|
inline |
Access allEdgeInfo.
Definition at line 214 of file PatchEdgeFaceWave.H.
|
inline |
Access allFaceInfo.
Definition at line 220 of file PatchEdgeFaceWave.H.
|
inline |
Additional data to be passed into container.
Definition at line 226 of file PatchEdgeFaceWave.H.
|
inline |
Number of unvisited faces, i.e. faces that were not (yet) reached from walking across patch.
This can happen from
Definition at line 238 of file PatchEdgeFaceWave.H.
|
inline |
Definition at line 243 of file PatchEdgeFaceWave.H.
Copy initial data into allEdgeInfo_.
Definition at line 427 of file PatchEdgeFaceWave.C.
References forAll, and List< T >::set().
Foam::label edgeToFace | ( | ) |
Propagate from edge to face.
Definition at line 529 of file PatchEdgeFaceWave.C.
References Foam::abort(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::nl, Foam::Pout, and Foam::returnReduce().
Foam::label faceToEdge | ( | ) |
Propagate from face to edge.
Definition at line 466 of file PatchEdgeFaceWave.C.
References Foam::abort(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::nl, Foam::Pout, and Foam::returnReduce().
Foam::label iterate | ( | const label | maxIter | ) |
Iterate until no changes or maxIter reached.
Definition at line 591 of file PatchEdgeFaceWave.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::nl, and Foam::Pout.