Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OppositeFaceCellWave< Type, TrackingData > Class Template Reference

Version of FaceCellWave that walks through prismatic cells only. More...

Inheritance diagram for OppositeFaceCellWave< Type, TrackingData >:
Inheritance graph
[legend]
Collaboration diagram for OppositeFaceCellWave< Type, TrackingData >:
Collaboration graph
[legend]

Public Member Functions

 OppositeFaceCellWave (const polyMesh &, const labelList &initialChangedFaces, const List< Type > &changedFacesInfo, UList< Type > &allFaceInfo, UList< Type > &allCellInfo, const label maxIter, TrackingData &td=FaceCellWave< Type, TrackingData >::dummyTrackData_)
 
virtual ~OppositeFaceCellWave ()=default
 
virtual label faceToCell ()
 
virtual label cellToFace ()
 
- Public Member Functions inherited from FaceCellWave< Type, int >
 FaceCellWave (const polyMesh &mesh, UList< Type > &allFaceInfo, UList< Type > &allCellInfo, int &td=dummyTrackData_)
 
 FaceCellWave (const polyMesh &mesh, const labelUList &initialChangedFaces, const List< Type > &changedFacesInfo, UList< Type > &allFaceInfo, UList< Type > &allCellInfo, const label maxIter, int &td=dummyTrackData_)
 
 FaceCellWave (const polyMesh &mesh, const labelPairList &explicitConnections, const bool handleCyclicAMI, const labelUList &initialChangedFaces, const List< Type > &changedFacesInfo, UList< Type > &allFaceInfo, UList< Type > &allCellInfo, const label maxIter, int &td=dummyTrackData_)
 
virtual ~FaceCellWave ()=default
 
UList< Type > & allFaceInfo ()
 
UList< Type > & allCellInfo ()
 
const int & data () const
 
const polyMeshmesh () const
 
label nUnvisitedCells () const
 
label nUnvisitedFaces () const
 
void setFaceInfo (const label facei, const Type &faceInfo)
 
void setFaceInfo (const labelUList &changedFaces, const List< Type > &changedFacesInfo)
 
virtual label iterate (const label maxIter)
 

Protected Member Functions

void opposingFaceLabels (const label celli, const label facei, DynamicList< label > &) const
 
- Protected Member Functions inherited from FaceCellWave< Type, int >
bool updateCell (const label celli, const label neighbourFacei, const Type &neighbourInfo, const scalar tol, Type &cellInfo)
 
bool updateFace (const label facei, const label neighbourCelli, const Type &neighbourInfo, const scalar tol, Type &faceInfo)
 
bool updateFace (const label facei, const Type &neighbourInfo, const scalar tol, Type &faceInfo)
 
void checkCyclic (const polyPatch &pPatch) const
 
bool hasPatch () const
 
void mergeFaceInfo (const polyPatch &patch, const label nFaces, const labelUList &changedFaces, const List< Type > &changedFacesInfo)
 
label getChangedPatchFaces (const polyPatch &patch, const label startFacei, const label nFaces, labelList &changedPatchFaces, List< Type > &changedPatchFacesInfo) const
 
void leaveDomain (const polyPatch &patch, const label nFaces, const labelUList &faceLabels, List< Type > &faceInfo) const
 
void enterDomain (const polyPatch &patch, const label nFaces, const labelUList &faceLabels, List< Type > &faceInfo) const
 
void transform (const tensorField &rotTensor, const label nFaces, List< Type > &faceInfo)
 
void handleProcPatches ()
 
void handleCyclicPatches ()
 
void handleAMICyclicPatches ()
 
void handleExplicitConnections ()
 
 FaceCellWave (const FaceCellWave &)=delete
 
void operator= (const FaceCellWave &)=delete
 

Protected Attributes

DynamicList< label > changedOppositeFaces_
 
- Protected Attributes inherited from FaceCellWave< Type, int >
const polyMeshmesh_
 
const labelPairList explicitConnections_
 
UList< Type > & allFaceInfo_
 
UList< Type > & allCellInfo_
 
int & td_
 
bitSet changedFace_
 
bitSet changedCell_
 
DynamicList< label > changedFaces_
 
DynamicList< label > changedCells_
 
DynamicList< taggedInfoTypechangedBaffles_
 
const bool hasCyclicPatches_
 
const bool hasCyclicAMIPatches_
 
label nEvals_
 
label nUnvisitedCells_
 
label nUnvisitedFaces_
 

Additional Inherited Members

- Static Public Member Functions inherited from FaceCellWave< Type, int >
static scalar propagationTol ()
 
static void setPropagationTol (const scalar tol)
 
- Protected Types inherited from FaceCellWave< Type, int >
typedef std::pair< label, Type > taggedInfoType
 
- Static Protected Member Functions inherited from FaceCellWave< Type, int >
static void offset (const polyPatch &patch, const label off, const label nFaces, labelList &faces)
 
- Static Protected Attributes inherited from FaceCellWave< Type, int >
static const scalar geomTol_
 
static scalar propagationTol_
 
static int dummyTrackData_
 

Detailed Description

template<class Type, class TrackingData = int>
class Foam::OppositeFaceCellWave< Type, TrackingData >

Version of FaceCellWave that walks through prismatic cells only.

Used to determine mesh structure. In the front walking routines (faceToCell and faceToCell) it

Notes: A cell with a split faces will be marked but not walked through (since there is no single opposite face.

Source files

Definition at line 64 of file OppositeFaceCellWave.H.

Constructor & Destructor Documentation

◆ OppositeFaceCellWave()

OppositeFaceCellWave ( const polyMesh mesh,
const labelList initialChangedFaces,
const List< Type > &  changedFacesInfo,
UList< Type > &  allFaceInfo,
UList< Type > &  allCellInfo,
const label  maxIter,
TrackingData &  td = FaceCellWave<Type, TrackingData>::dummyTrackData_ 
)

Definition at line 93 of file OppositeFaceCellWave.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ ~OppositeFaceCellWave()

virtual ~OppositeFaceCellWave ( )
virtualdefault

Member Function Documentation

◆ opposingFaceLabels()

void opposingFaceLabels ( const label  celli,
const label  facei,
DynamicList< label > &  oppositeFaceLabels 
) const
protected

Definition at line 28 of file OppositeFaceCellWave.C.

References DynamicList::append(), DynamicList::clear(), and forAll.

Here is the call graph for this function:

◆ faceToCell()

Foam::label faceToCell
virtual

◆ cellToFace()

Foam::label cellToFace
virtual

Reimplemented from FaceCellWave< Type, int >.

Definition at line 251 of file OppositeFaceCellWave.C.

References Foam::abort(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Pout, and reduce().

Here is the call graph for this function:

Member Data Documentation

◆ changedOppositeFaces_

DynamicList<label> changedOppositeFaces_
protected

Definition at line 75 of file OppositeFaceCellWave.H.


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