Go to the documentation of this file.
47 #ifndef FaceCellWave_H
48 #define FaceCellWave_H
75 template<
class Type,
class TrackingData =
int>
78 public FaceCellWaveName
139 const label neighbourFaceI,
140 const Type& neighbourInfo,
150 const label neighbourCellI,
151 const Type& neighbourInfo,
161 const Type& neighbourInfo,
173 template<
class PatchType>
189 const label startFaceI,
305 const bool handleCyclicAMI,
332 const TrackingData&
data()
const
bool updateCell(const label cellI, const label neighbourFaceI, const Type &neighbourInfo, const scalar tol, Type &cellInfo)
Updates cellInfo with information from neighbour. Updates all.
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
static int dummyTrackData_
Used as default trackdata value to satisfy default template.
void handleExplicitConnections()
Merge data across explicitly provided local connections (usually.
bool updateFace(const label faceI, const label neighbourCellI, const Type &neighbourInfo, const scalar tol, Type &faceInfo)
Updates faceInfo with information from neighbour. Updates all.
FaceCellWave(const FaceCellWave &)
Disallow default bitwise copy construct.
const bool hasCyclicPatches_
Contains cyclics.
const TrackingData & data() const
Additional data to be passed into container.
UList< Type > & allFaceInfo()
Access allFaceInfo.
const List< labelPair > explicitConnections_
Optional boundary faces that information should travel through.
UList< Type > & allCellInfo_
Information for all cells.
label iterate(const label maxIter)
Iterate until no changes or maxIter reached. Returns actual.
label getUnsetFaces() const
Get number of unvisited faces.
Mesh consisting of general polyhedral cells.
void checkCyclic(const polyPatch &pPatch) const
Debugging: check info on both sides of cyclic.
void handleProcPatches()
Merge data from across processor boundaries.
static scalar propagationTol_
static const scalar geomTol_
bool hasPatch() const
Has cyclic patch?
const bool hasCyclicAMIPatches_
Contains cyclicAMI.
static scalar propagationTol()
Access to tolerance.
label faceToCell()
Propagate from face to cell. Returns total number of cells.
void enterDomain(const polyPatch &patch, const label nFaces, const labelList &faceLabels, List< Type > &faceInfo) const
Handle leaving domain. Implementation referred to Type.
void handleCyclicPatches()
Merge data from across cyclics.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
UList< Type > & allFaceInfo_
Information for all faces.
Pre-declare SubField and related Field type.
A patch is a list of labels that address the faces in the global face list.
TemplateName(blendedSchemeBase)
void handleAMICyclicPatches()
Merge data from across AMI cyclics.
void setFaceInfo(const labelList &changedFaces, const List< Type > &changedFacesInfo)
Set initial changed faces.
label cellToFace()
Propagate from cell to face. Returns total number of faces.
TrackingData & td_
Additional data to be passed into container.
const polyMesh & mesh_
Reference to mesh.
boolList changedFace_
Has face changed.
label nEvals_
Number of evaluations.
Wave propagation of information through grid. Every iteration information goes through one layer of c...
UList< Type > & allCellInfo()
Access allCellInfo.
Holds information regarding type of cell. Used in inside/outside determination in cellClassification.
const polyMesh & mesh() const
Access mesh.
void transform(const tensorField &rotTensor, const label nFaces, List< Type > &faceInfo)
Apply transformation to Type.
void operator=(const FaceCellWave &)
Disallow default bitwise assignment.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static void setPropagationTol(const scalar tol)
Change tolerance.
label nUnvisitedCells_
Number of unvisited cells/faces.
static void offset(const polyPatch &patch, const label off, const label nFaces, labelList &faces)
Offset face labels by constant value.
label getChangedPatchFaces(const polyPatch &patch, const label startFaceI, const label nFaces, labelList &changedPatchFaces, List< Type > &changedPatchFacesInfo) const
Extract info for single patch only.
label nChangedFaces_
Number of changed faces.
void mergeFaceInfo(const polyPatch &patch, const label nFaces, const labelList &, const List< Type > &)
Merge received patch data into global data.
label getUnsetCells() const
Get number of unvisited cells, i.e. cells that were not (yet)
void leaveDomain(const polyPatch &patch, const label nFaces, const labelList &faceLabels, List< Type > &faceInfo) const
Handle leaving domain. Implementation referred to Type.
labelList changedFaces_
List of changed faces.