49 const label nIntFaces = mesh_.nInternalFaces();
55 for(
label faceI=0;faceI<nIntFaces;++faceI)
56 newFaceLabel[faceI] = faceI;
62 mesh_.procBoundaries_;
65 forAll(procBoundaries, patchI)
66 nProcFaces += procBoundaries[patchI].patchSize();
68 const label procStart = nIntFaces + boundaryFaces.
size();
69 const label shift = procStart - procBoundaries[0].patchStart();
73 faces.
setSize(procStart+nProcFaces);
76 const label start = procBoundaries[patchI].patchStart();
77 const label end = procBoundaries[patchI].patchSize() + start;
78 for(
label faceI=end-1;faceI>=start;--faceI)
80 faces[faceI+shift].
transfer(faces[faceI]);
81 newFaceLabel[faceI] = faceI+shift;
84 procBoundaries[patchI].patchStart() += shift;
89 forAll(procBoundaries, patchI)
91 const label start = procBoundaries[patchI].patchStart();
92 const label end = procBoundaries[patchI].patchSize() + start;
93 for(
label faceI=start;faceI<end;++faceI)
95 faces[faceI+shift].
transfer(faces[faceI]);
96 newFaceLabel[faceI] = faceI+shift;
99 procBoundaries[patchI].patchStart() += shift;
102 faces.
setSize(procStart+nProcFaces);
107 for(
label fI=0;fI<nProcFaces;++fI)
108 newFaceLabel[procStart+fI] = procStart+fI;
124 if( newFaceLabel[
c[fI]] != -1 )
125 newC[nFacesInCell[cellI]++] = newFaceLabel[
c[fI]];
130 mesh_.updateFaceSubsets(newFaceLabel);
137 ++newPatchSize[facePatches[bfI]];
139 newPatchStart[0] = nIntFaces;
141 newPatchStart[i] = newPatchStart[i-1] + newPatchSize[i-1];
145 forAll(boundaryFaces, faceI)
147 const label fPatch = facePatches[faceI];
148 const label fOwn = faceOwners[faceI];
150 const label fLabel = newPatchStart[fPatch] + newPatchSize[fPatch]++;
155 faces[fLabel][pI] = boundaryFaces(faceI, pI);
164 forAll(boundaries, patchI)
166 boundaries[patchI].patchName() =
patchNames[patchI];
167 boundaries[patchI].patchStart() = newPatchStart[patchI];
168 boundaries[patchI].patchSize() = newPatchSize[patchI];
175 forAll(boundaries, patchI)
183 newPatchSize[patchI],
184 newPatchStart[patchI]