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 289 of file PatchEdgeFaceWave.C.
References globalMeshData::coupledPatch(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, polyMesh::globalData(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::iterate(), PatchTools::matchEdges(), Foam::Pout, PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setEdgeInfo(), and UList< T >::size().
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 379 of file PatchEdgeFaceWave.C.
References globalMeshData::coupledPatch(), polyMesh::globalData(), and PatchTools::matchEdges().
|
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 425 of file PatchEdgeFaceWave.C.
References forAll, and List< T >::set().
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::PatchEdgeFaceWave().
Foam::label edgeToFace |
Propagate from edge to face.
Definition at line 528 of file PatchEdgeFaceWave.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::nl, Foam::Pout, and Foam::returnReduce().
Foam::label faceToEdge |
Propagate from face to edge.
Definition at line 465 of file PatchEdgeFaceWave.C.
References Foam::abort(), 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 589 of file PatchEdgeFaceWave.C.
References Foam::endl(), nEdges(), nFaces(), Foam::nl, and Foam::Pout.
Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::PatchEdgeFaceWave().