39#ifndef zoneCellStencils_H
40#define zoneCellStencils_H
100 const label exclude1,
labelList faceLabels(nFaceLabels)
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Mesh data needed to do the Finite Volume discretisation.
Calculates a non-overlapping list of offsets based on an input size (eg, number of cells) from differ...
Mesh consisting of general polyhedral cells.
globalIndex globalNumbering_
Global numbering for cells and boundary faces.
const globalIndex & globalNumbering() const noexcept
Global numbering for cells and boundary faces.
labelHashSet needComm_
cells requiring processor communciation
autoPtr< indirectPrimitivePatch > allCoupledFacesPatch() const
Return patch of all coupled faces.
autoPtr< indirectPrimitivePatch > nonEmptyFacesPatch() const
Return patch of all coupled faces.
const labelHashSet & needsComm() noexcept
TypeName("zoneCellStencils")
void updateStencil(const boolList &zone)
virtual void calculateStencil(const boolList &zone, labelListList &globalCellCells)=0
void operator=(const zoneCellStencils &)=delete
No copy assignment.
zoneCellStencils(const zoneCellStencils &)=delete
No copy construct.
static void merge(const label globalI, const labelList &pGlobals, labelList &cCells)
Merge two lists and guarantee globalI is first.
void validBoundaryFaces(boolList &isValidBFace) const
Valid boundary faces (not empty and not coupled).
virtual ~zoneCellStencils()=default
Calculates per cell the neighbour data.
void insertFaceCells(const label exclude0, const label exclude1, const boolList &nonEmptyFace, const labelList &faceLabels, labelHashSet &globals) const
Collect cell neighbours of faces in global numbering.
const polyMesh & mesh() const noexcept
const fvMesh & meshRef_
const reference to fvMesh
labelList calcFaceCells(const boolList &nonEmptyFace, const labelList &faceLabels, labelHashSet &globals) const
Collect cell neighbours of faces in global numbering.
Base class for mesh zones.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
List< bool > boolList
A List of bools.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.