Go to the documentation of this file.
45 label nGlobalInsert = 0;
71 label elem = listA[i];
73 if (elem != global0 && elem != global1)
90 result[resultI++] = global0;
94 result[resultI++] = global1;
101 label elem = listB[i];
103 if (elem != global0 && elem != global1)
105 result[resultI++] = elem;
113 label elem = listA[i];
115 if (elem != global0 && elem != global1)
119 result[resultI++] = elem;
124 if (resultI != result.
size())
145 if (cCells[i] != globalI)
153 if (pGlobals[i] != globalI)
161 cCells[
n++] = globalI;
165 cCells[
n++] = iter.key();
180 if (pp.
coupled() || isA<emptyPolyPatch>(pp))
185 isValidBFace[bFaceI++] =
false;
205 nCoupled += pp.size();
221 coupledFaces[nCoupled++] = faceI++;
241 void Foam::cellToCellStencil::unionEqOp::operator()
268 const label exclude0,
269 const label exclude1,
280 label faceI = faceLabels[i];
282 label globalOwn = globalNumbering().toGlobal(own[faceI]);
283 if (globalOwn != exclude0 && globalOwn != exclude1)
285 globals.
insert(globalOwn);
288 if (
mesh().isInternalFace(faceI))
290 label globalNei = globalNumbering().toGlobal(nei[faceI]);
291 if (globalNei != exclude0 && globalNei != exclude1)
293 globals.
insert(globalNei);
300 if (isValidBFace[bFaceI])
302 label globalI = globalNumbering().toGlobal
308 if (globalI != exclude0 && globalI != exclude1)
336 return globals.
toc();
345 globalNumbering_(mesh_.nCells()+mesh_.nFaces()-mesh_.nInternalFaces())
const polyMesh & mesh() const
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.
List< Key > toc() const
Return the table of contents.
#define forAll(list, i)
Loop across all elements in list.
labelList calcFaceCells(const boolList &nonEmptyFace, const labelList &faceLabels, labelHashSet &globals) const
Collect cell neighbours of faces in global numbering.
virtual bool coupled() const
Return true if this patch is geometrically coupled (i.e. faces and.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Mesh consisting of general polyhedral cells.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
label findSortedIndex(const ListType &, typename ListType::const_reference, const label start=0)
Find first occurence of given element in sorted list and return index,.
cellToCellStencil(const polyMesh &)
Construct from mesh.
void validBoundaryFaces(boolList &isValidBFace) const
Valid boundary faces (not empty and not coupled)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static void merge(const label, const label, const labelList &, labelList &)
Merge two lists.
A patch is a list of labels that address the faces in the global face list.
virtual const labelList & faceOwner() const
Return face owner.
A List with indirect addressing.
label size() const
Return number of elements in table.
label nInternalFaces() const
errorManip< error > abort(error &err)
label start() const
Return start label of this patch in the polyMesh face list.
void setSize(const label)
Reset size of List.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void clear()
Clear all entries from table.
autoPtr< indirectPrimitivePatch > allCoupledFacesPatch() const
Return patch of all coupled faces.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
bool insert(const Key &key)
Insert a new entry.
void size(const label)
Override size to be inconsistent with allocated storage.
virtual const labelList & faceNeighbour() const
Return face neighbour.
A list of faces which address into the list of points.