PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData > Class Template Reference

Wave propagation of information along patch. Every iteration information goes through one layer of faces. Templated on information that is transferred. More...

Inheritance diagram for PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >:
Collaboration diagram for PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >:

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...
 

Detailed Description

template<class PrimitivePatchType, class Type, class TrackingData = int>
class Foam::PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >

Wave propagation of information along patch. Every iteration information goes through one layer of faces. Templated on information that is transferred.

Source files

Definition at line 69 of file PatchEdgeFaceWave.H.

Constructor & Destructor Documentation

◆ PatchEdgeFaceWave() [1/3]

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PatchEdgeFaceWave() [2/3]

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().

Here is the call graph for this function:

◆ PatchEdgeFaceWave() [3/3]

PatchEdgeFaceWave ( const PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData > &  )
delete

Disallow default bitwise copy construction.

Member Function Documentation

◆ propagationTol()

static scalar propagationTol ( )
inlinestatic

Access to tolerance.

Definition at line 161 of file PatchEdgeFaceWave.H.

◆ setPropagationTol()

static void setPropagationTol ( const scalar  tol)
inlinestatic

◆ allEdgeInfo()

UList<Type>& allEdgeInfo ( ) const
inline

Access allEdgeInfo.

Definition at line 210 of file PatchEdgeFaceWave.H.

Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setPropagationTol().

Here is the caller graph for this function:

◆ allFaceInfo()

UList<Type>& allFaceInfo ( ) const
inline

Access allFaceInfo.

Definition at line 216 of file PatchEdgeFaceWave.H.

Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::setPropagationTol().

Here is the caller graph for this function:

◆ data()

◆ getUnsetFaces()

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

  • not enough iterations done
  • a disconnected patch
  • a patch without walls in it

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getUnsetEdges()

Foam::label getUnsetEdges ( ) const

◆ setEdgeInfo()

void setEdgeInfo ( const labelList changedEdges,
const List< Type > &  changedEdgesInfo 
)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ edgeToFace()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iterate()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void operator= ( const PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData > &  )
delete

Disallow default bitwise assignment.

Referenced by PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::data().

Here is the caller graph for this function:

Member Data Documentation

◆ defaultTrackingData_

int defaultTrackingData_ = -1
static

Default tracking data to go with default template argument.

Definition at line 155 of file PatchEdgeFaceWave.H.


The documentation for this class was generated from the following files: