Go to the documentation of this file.
52 if (!isA<emptyPolyPatch>(pp))
54 nNonEmpty += pp.size();
62 if (!isA<emptyPolyPatch>(pp))
64 label facei = pp.start();
68 nonEmptyFaces[nNonEmpty++] = facei++;
96 nCoupled += pp.size();
106 label facei = pp.start();
110 coupledFaces[nCoupled++] = facei++;
131 isValidBFace.
setSize(mesh_.nBoundaryFaces());
137 if (pp.coupled() || isA<emptyPolyPatch>(pp))
139 label bFacei = pp.start()-mesh_.nInternalFaces();
142 isValidBFace[bFacei++] =
false;
157 for (
const label celli : cCells)
159 if (celli != globalI)
165 for (
const label celli : pGlobals)
167 if (celli != globalI)
173 cCells.setSize(
set.size()+1);
175 cCells[
n++] = globalI;
177 for (
const label seti :
set)
186 const label exclude0,
187 const label exclude1,
193 const labelList& own = mesh_.faceOwner();
194 const labelList& nei = mesh_.faceNeighbour();
198 label facei = faceLabels[i];
200 label globalOwn = globalNumbering().toGlobal(own[facei]);
201 if (globalOwn != exclude0 && globalOwn != exclude1)
203 globals.
insert(globalOwn);
206 if (mesh_.isInternalFace(facei))
208 label globalNei = globalNumbering().toGlobal(nei[facei]);
209 if (globalNei != exclude0 && globalNei != exclude1)
211 globals.
insert(globalNei);
216 const label bFacei = facei-mesh_.nInternalFaces();
218 if (isValidBFace[bFacei])
220 label globalI = globalNumbering().toGlobal
222 mesh_.nCells() + bFacei
225 if (globalI != exclude0 && globalI != exclude1)
253 return globals.
toc();
264 globalNumbering_(mesh_.nCells() + mesh_.nBoundaryFaces())
272 if (mesh_.topoChanging())
275 globalIndex(mesh_.nCells() + mesh_.nBoundaryFaces());
static autoPtr< T > New(Args &&... args)
Construct autoPtr of T with forwarding arguments.
virtual const pointField & points() const
Return raw points.
autoPtr< indirectPrimitivePatch > nonEmptyFacesPatch() const
Return patch of all coupled faces.
autoPtr< indirectPrimitivePatch > allCoupledFacesPatch() const
Return patch of all coupled faces.
void set(List< bool > &bools, const labelRange &range)
Set the specified range 'on' in a boolList.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
List< Key > toc() const
The table of contents (the keys) in unsorted order.
zoneCellStencils(const fvMesh &)
Construct from all cells and boundary faces.
void validBoundaryFaces(boolList &isValidBFace) const
Valid boundary faces (not empty and not coupled)
static void merge(const label globalI, const labelList &pGlobals, labelList &cCells)
Merge two lists and guarantee globalI is first.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
#define forAll(list, i)
Loop across all elements in list.
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.
A patch is a list of labels that address the faces in the global face list.
A List with indirect addressing.
base class for cell stencil in a narrow band
Mesh data needed to do the Finite Volume discretisation.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
List< labelList > labelListList
A List of labelList.
virtual const faceList & faces() const
Return raw faces.
labelList calcFaceCells(const boolList &nonEmptyFace, const labelList &faceLabels, labelHashSet &globals) const
Collect cell neighbours of faces in global numbering.
void clear()
Clear all entries from table.
void clear()
Clear the list, i.e. set size to zero.
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
const polyBoundaryMesh & patches
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
void setSize(const label newSize)
Alias for resize(const label)
defineTypeNameAndDebug(combustionModel, 0)
virtual void updateMesh(const mapPolyMesh &mpm)