forAll(subDecomp, i) { finalDecomp[subsetter.cellMap()[i]] = subDecomp[i]; }
// Extract a submesh. labelHashSet patchCells(2*nFaces); forAllConstIter(labelHashSet, patchIDs, iter) { const labelUList& fc = pbm[iter.key()].faceCells(); forAll(fc, i) { patchCells.insert(fc[i]); } } // Subset the layer of cells next to the patch fvMeshSubset subsetter(dynamic_cast<const fvMesh&>(mesh)); subsetter.setLargeCellSubset(patchCells); const fvMesh& subMesh = subsetter.subMesh(); pointField subCc(cc, subsetter.cellMap()); scalarField subWeights(cWeights, subsetter.cellMap()); // Decompose the layer of cells labelList subDecomp(method_().decompose(subMesh, subCc, subWeights)); // Transfer to final decomposition labelList finalDecomp(cc.size(), -1); forAll(subDecomp, i) { finalDecomp[subsetter.cellMap()[i]] = subDecomp[i]; } // Field on cells and faces. List<topoDistanceData> cellData(mesh.nCells());