44 label nGlobalInsert = 0;
70 label elem = listA[i];
72 if (elem != global0 && elem != global1)
89 result[resultI++] = global0;
93 result[resultI++] = global1;
100 label elem = listB[i];
102 if (elem != global0 && elem != global1)
104 result[resultI++] = elem;
112 label elem = listA[i];
114 if (elem != global0 && elem != global1)
118 result[resultI++] = elem;
123 if (resultI != result.size())
143 if (cCells[i] != globalI)
145 set.insert(cCells[i]);
151 if (pGlobals[i] != globalI)
153 set.insert(pGlobals[i]);
159 cCells[n++] = globalI;
163 cCells[n++] = iter.key();
178 if (pp.
coupled() || isA<emptyPolyPatch>(pp))
183 isValidBFace[bFacei++] =
false;
203 nCoupled += pp.size();
219 coupledFaces[nCoupled++] = facei++;
239 void Foam::cellToCellStencil::unionEqOp::operator()
266 const label exclude0,
267 const label exclude1,
278 label facei = faceLabels[i];
281 if (globalOwn != exclude0 && globalOwn != exclude1)
283 globals.
insert(globalOwn);
286 if (
mesh().isInternalFace(facei))
289 if (globalNei != exclude0 && globalNei != exclude1)
291 globals.
insert(globalNei);
298 if (isValidBFace[bFacei])
306 if (globalI != exclude0 && globalI != exclude1)
334 return globals.
toc();
343 globalNumbering_(mesh_.nCells()+mesh_.nFaces()-mesh_.nInternalFaces())
static void merge(const label global0, const label global1, const labelList &listA, labelList &listB)
Merge two lists.
label findSortedIndex(const ListType &, typename ListType::const_reference, const label start=0)
Find first occurence of given element in sorted list and return index,.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const globalIndex & globalNumbering() const
Global numbering for cells and boundary faces.
label toGlobal(const label i) const
From local to global.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
bool empty() const
Return true if the UList is empty (ie, size() is zero)
void size(const label)
Override size to be inconsistent with allocated storage.
PrimitivePatch< face, IndirectList, const pointField & > indirectPrimitivePatch
Foam::indirectPrimitivePatch.
bool insert(const Key &key)
Insert a new entry.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
void validBoundaryFaces(boolList &isValidBFace) const
Valid boundary faces (not empty and not coupled)
label start() const
Return start label of this patch in the polyMesh face list.
virtual bool coupled() const
Return true if this patch is geometrically coupled (i.e. faces and.
void clear()
Clear all entries from table.
autoPtr< indirectPrimitivePatch > allCoupledFacesPatch() const
Return patch of all coupled faces.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
errorManip< error > abort(error &err)
List< Key > toc() const
Return the table of contents.
labelList calcFaceCells(const boolList &nonEmptyFace, const labelList &faceLabels, labelHashSet &globals) const
Collect cell neighbours of faces in global numbering.
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.
void setSize(const label)
Reset size of List.
virtual const labelList & faceNeighbour() const
Return face neighbour.
cellToCellStencil(const polyMesh &)
Construct from mesh.
const polyMesh & mesh() const
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh consisting of general polyhedral cells.
virtual const labelList & faceOwner() const
Return face owner.
A patch is a list of labels that address the faces in the global face list.
label nInternalFaces() const
A List with indirect addressing.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.