Version of FaceCellWave that walks through prismatic cells only. More...
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 >::defaultTrackingData_) | |
Construct from mesh and list of changed faces with the Type. More... | |
virtual | ~OppositeFaceCellWave () |
Destructor. More... | |
virtual label | faceToCell () |
Propagate from face to cell. Returns total number of cells. More... | |
virtual label | cellToFace () |
Propagate from cell to face. Returns total number of faces. More... | |
Public Member Functions inherited from FaceCellWave< Type, int > | |
FaceCellWave (const polyMesh &, UList< Type > &allFaceInfo, UList< Type > &allCellInfo, int &td=defaultTrackingData_) | |
FaceCellWave (const polyMesh &, const labelList &initialChangedFaces, const List< Type > &changedFacesInfo, UList< Type > &allFaceInfo, UList< Type > &allCellInfo, const label maxIter, int &td=defaultTrackingData_) | |
Construct from mesh and list of changed faces with the Type. More... | |
FaceCellWave (const polyMesh &, const labelPairList &explicitConnections, const labelList &initialChangedFaces, const List< Type > &changedFacesInfo, UList< Type > &allFaceInfo, UList< Type > &allCellInfo, const label maxIter, int &td=defaultTrackingData_) | |
Construct from mesh and explicitly connected boundary faces. More... | |
FaceCellWave (const FaceCellWave &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~FaceCellWave () |
Destructor. More... | |
UList< Type > & | allFaceInfo () |
Access allFaceInfo. More... | |
UList< Type > & | allCellInfo () |
Access allCellInfo. More... | |
const int & | data () const |
Additional data to be passed into container. More... | |
int & | data () |
Additional data to be passed into container. More... | |
const polyMesh & | mesh () const |
Access mesh. More... | |
label | getUnsetCells () const |
Get number of unvisited cells, i.e. cells that were not (yet) More... | |
label | getUnsetFaces () const |
Get number of unvisited faces. More... | |
void | setFaceInfo (const labelList &changedFaces, const List< Type > &changedFacesInfo) |
Set initial changed faces. More... | |
virtual label | iterate (const label maxIter) |
Iterate until no changes or maxIter reached. Returns actual. More... | |
void | operator= (const FaceCellWave &)=delete |
Disallow default bitwise assignment. More... | |
Protected Member Functions | |
void | opposingFaceLabels (const label celli, const label facei, DynamicList< label > &) const |
Determine 'opposite' faces (= faces not sharing a vertex) on cell. More... | |
Protected Member Functions inherited from FaceCellWave< Type, int > | |
bool | updateCell (const label celli, const label neighbourFacei, const Type &neighbourInfo, const scalar tol, Type &cellInfo) |
Updates cellInfo with information from neighbour. Updates all. More... | |
bool | updateFace (const label facei, const label neighbourCelli, const Type &neighbourInfo, const scalar tol, Type &faceInfo) |
Updates faceInfo with information from neighbour. Updates all. More... | |
bool | updateFace (const label facei, const Type &neighbourInfo, const scalar tol, Type &faceInfo) |
Updates faceInfo with information from same face. Updates all. More... | |
void | checkCyclic (const polyPatch &pPatch) const |
Debugging: check info on both sides of cyclic. More... | |
bool | hasPatch () const |
Has cyclic patch? More... | |
void | mergeFaceInfo (const polyPatch &patch, const label nFaces, const labelList &, const List< Type > &) |
Merge received patch data into global data. More... | |
label | getChangedPatchFaces (const polyPatch &patch, const label startFacei, const label nFaces, labelList &changedPatchFaces, List< Type > &changedPatchFacesInfo) const |
Extract info for single patch only. More... | |
void | transform (const polyPatch &patch, const label nFaces, const labelList &faceLabels, const transformer &transform, List< Type > &faceInfo) |
Transform across an interface. Implementation referred to Type. More... | |
void | handleProcPatches () |
Merge data from across processor boundaries. More... | |
void | handleCyclicPatches () |
Merge data from across cyclics. More... | |
void | handleExplicitConnections () |
Merge data across explicitly provided local connections (usually. More... | |
Protected Attributes | |
DynamicList< label > | changedOppositeFaces_ |
For every entry in changedCells (i.e. the cell front) gives. More... | |
Protected Attributes inherited from FaceCellWave< Type, int > | |
const polyMesh & | mesh_ |
Reference to mesh. More... | |
const labelPairList | explicitConnections_ |
Optional boundary faces that information should travel through. More... | |
UList< Type > & | allFaceInfo_ |
Information for all faces. More... | |
UList< Type > & | allCellInfo_ |
Information for all cells. More... | |
int & | td_ |
Additional data to be passed into container. More... | |
PackedBoolList | changedFace_ |
Has face changed. More... | |
DynamicList< label > | changedFaces_ |
List of changed faces. More... | |
PackedBoolList | changedCell_ |
Has cell changed. More... | |
DynamicList< label > | changedCells_ |
const bool | hasCyclicPatches_ |
Contains cyclics. More... | |
label | nEvals_ |
Number of evaluations. More... | |
label | nUnvisitedCells_ |
Number of unvisited cells. More... | |
label | nUnvisitedFaces_ |
Number of unvisited faces. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from FaceCellWave< Type, int > | |
static scalar | propagationTol () |
Access to tolerance. More... | |
static void | setPropagationTol (const scalar tol) |
Change tolerance. More... | |
Static Public Attributes inherited from FaceCellWave< Type, int > | |
static int | defaultTrackingData_ |
Default tracking data to go with default template argument. More... | |
Static Protected Attributes inherited from FaceCellWave< Type, int > | |
static const scalar | geomTol_ |
... More... | |
static scalar | propagationTol_ |
... More... | |
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.
Definition at line 65 of file OppositeFaceCellWave.H.
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>::defaultTrackingData_ |
||
) |
Construct from mesh and list of changed faces with the Type.
for these faces. Iterates until nothing changes or maxIter reached. (maxIter can be 0)
Definition at line 97 of file OppositeFaceCellWave.C.
References FaceCellWave< Type, int >::changedCells_, FaceCellWave< Type, int >::changedFaces_, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, FaceCellWave< Type, int >::iterate(), and List< T >::size().
|
inlinevirtual |
Destructor.
Definition at line 111 of file OppositeFaceCellWave.H.
|
protected |
Determine 'opposite' faces (= faces not sharing a vertex) on cell.
Definition at line 32 of file OppositeFaceCellWave.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::clear(), and forAll.
|
virtual |
Propagate from face to cell. Returns total number of cells.
(over all processors) changed.
Reimplemented from FaceCellWave< Type, int >.
Definition at line 139 of file OppositeFaceCellWave.C.
References Foam::abort(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Pout, Foam::reduce(), and List< T >::size().
|
virtual |
Propagate from cell to face. Returns total number of faces.
(over all processors) changed. (Faces on processorpatches are counted double)
Reimplemented from FaceCellWave< Type, int >.
Definition at line 256 of file OppositeFaceCellWave.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, UPstream::parRun(), Foam::Pout, and Foam::reduce().
|
protected |
For every entry in changedCells (i.e. the cell front) gives.
the face that it needs to transfer to
Definition at line 76 of file OppositeFaceCellWave.H.