Go to the documentation of this file.
50 #ifndef FaceCellWave_H
51 #define FaceCellWave_H
78 template<
class Type,
class TrackingData =
int>
81 public FaceCellWaveName
153 const label neighbourFacei,
154 const Type& neighbourInfo,
164 const label neighbourCelli,
165 const Type& neighbourInfo,
175 const Type& neighbourInfo,
187 template<
class PatchType>
203 const label startFacei,
290 const polyMesh&
mesh,
301 const polyMesh&
mesh,
303 const List<Type>& changedFacesInfo,
316 const polyMesh&
mesh,
318 const bool handleCyclicAMI,
320 const List<Type>& changedFacesInfo,
349 const TrackingData&
data()
const
376 void setFaceInfo(
const label facei,
const Type& faceInfo);
382 const List<Type>& changedFacesInfo
396 virtual label
iterate(
const label maxIter);
bool updateCell(const label celli, const label neighbourFacei, const Type &neighbourInfo, const scalar tol, Type &cellInfo)
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
static int dummyTrackData_
void handleExplicitConnections()
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
void operator=(const FaceCellWave &)=delete
void enterDomain(const polyPatch &patch, const label nFaces, const labelUList &faceLabels, List< Type > &faceInfo) const
List< labelPair > labelPairList
List of labelPairs.
bool updateFace(const label facei, const label neighbourCelli, const Type &neighbourInfo, const scalar tol, Type &faceInfo)
const bool hasCyclicPatches_
const TrackingData & data() const
UList< Type > & allFaceInfo()
DynamicList< taggedInfoType > changedBaffles_
UList< Type > & allCellInfo_
virtual label iterate(const label maxIter)
Mesh consisting of general polyhedral cells.
DynamicList< label > changedCells_
label getChangedPatchFaces(const polyPatch &patch, const label startFacei, const label nFaces, labelList &changedPatchFaces, List< Type > &changedPatchFacesInfo) const
void checkCyclic(const polyPatch &pPatch) const
static scalar propagationTol_
static const scalar geomTol_
label nUnvisitedFaces() const
const bool hasCyclicAMIPatches_
static scalar propagationTol()
virtual label faceToCell()
void setFaceInfo(const label facei, const Type &faceInfo)
label nUnvisitedCells() const
void handleCyclicPatches()
UList< Type > & allFaceInfo_
Generic templated field type.
A patch is a list of labels that address the faces in the global face list.
std::pair< label, Type > taggedInfoType
TemplateName(blendedSchemeBase)
FaceCellWave(const FaceCellWave &)=delete
void handleAMICyclicPatches()
const labelPairList explicitConnections_
virtual label cellToFace()
Wave propagation of information through grid. Every iteration information goes through one layer of c...
UList< Type > & allCellInfo()
Holds information regarding type of cell. Used in inside/outside determination in cellClassification.
const polyMesh & mesh() const
void transform(const tensorField &rotTensor, const label nFaces, List< Type > &faceInfo)
DynamicList< label > changedFaces_
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)
void mergeFaceInfo(const polyPatch &patch, const label nFaces, const labelUList &changedFaces, const List< Type > &changedFacesInfo)
static void offset(const polyPatch &patch, const label off, const label nFaces, labelList &faces)
UList< label > labelUList
A UList of labels.
void leaveDomain(const polyPatch &patch, const label nFaces, const labelUList &faceLabels, List< Type > &faceInfo) const
virtual ~FaceCellWave()=default