mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: add single-parameter sortedOrder() function
This commit is contained in:
committed by
Andrew Heather
parent
5788fe056c
commit
1d86fc4f6b
@ -58,10 +58,12 @@ int main(int argc, char *argv[])
|
||||
SortableList<label> list1r(list1.size());
|
||||
list1r = list1;
|
||||
|
||||
Info<< "unsorted: " << orig << endl;
|
||||
Info<< "unsorted: " << orig << nl
|
||||
<< "order: " << sortedOrder(list1) << endl;
|
||||
sort(list1);
|
||||
Info<< "sorted: " << list1 << nl
|
||||
<< "indices: " << order << endl;
|
||||
<< "indices: " << order << nl
|
||||
<< "order: " << sortedOrder(list1) << endl;
|
||||
|
||||
list1r.reverseSort();
|
||||
Info<< "reverse ..." << nl;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd |
|
||||
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
| Copyright (C) 2012-2017 OpenFOAM Foundation
|
||||
@ -67,9 +67,7 @@ void Foam::DelaunayMesh<Triangulation>::sortFaces
|
||||
<< "Sorting faces, owner and neighbour into upper triangular order"
|
||||
<< endl;
|
||||
|
||||
labelList oldToNew;
|
||||
|
||||
sortedOrder(ownerNeighbourPair, oldToNew);
|
||||
labelList oldToNew(sortedOrder(ownerNeighbourPair));
|
||||
|
||||
oldToNew = invert(oldToNew.size(), oldToNew);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
| Copyright (C) 2012-2016 OpenFOAM Foundation
|
||||
@ -1322,8 +1322,7 @@ void Foam::conformalVoronoiMesh::indexDualVertices
|
||||
|
||||
// Sort the vertices so that they will be in the same order on
|
||||
// each processor
|
||||
labelList oldToNew;
|
||||
sortedOrder(cellVerticesPair, oldToNew);
|
||||
labelList oldToNew(sortedOrder(cellVerticesPair));
|
||||
oldToNew = invert(oldToNew.size(), oldToNew);
|
||||
inplaceReorder(oldToNew, cellVertices);
|
||||
|
||||
@ -2406,10 +2405,7 @@ void Foam::conformalVoronoiMesh::sortFaces
|
||||
<< "Sorting faces, owner and neighbour into upper triangular order"
|
||||
<< endl;
|
||||
|
||||
labelList oldToNew;
|
||||
|
||||
sortedOrder(ownerNeighbourPair, oldToNew);
|
||||
|
||||
labelList oldToNew(sortedOrder(ownerNeighbourPair));
|
||||
oldToNew = invert(oldToNew.size(), oldToNew);
|
||||
|
||||
inplaceReorder(oldToNew, faces);
|
||||
@ -2459,10 +2455,7 @@ void Foam::conformalVoronoiMesh::sortProcPatches
|
||||
<< exit(FatalError) << endl;
|
||||
}
|
||||
|
||||
labelList oldToNew;
|
||||
|
||||
sortedOrder(sortingIndices, oldToNew);
|
||||
|
||||
labelList oldToNew(sortedOrder(sortingIndices));
|
||||
oldToNew = invert(oldToNew.size(), oldToNew);
|
||||
|
||||
inplaceReorder(oldToNew, sortingIndices);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
| Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
@ -226,12 +226,10 @@ labelList getFaceOrder
|
||||
}
|
||||
}
|
||||
|
||||
order.setSize(nbr.size());
|
||||
sortedOrder(nbr, order);
|
||||
|
||||
forAll(order, i)
|
||||
for (const label index : order)
|
||||
{
|
||||
label index = order[i];
|
||||
if (nbr[index] != -1)
|
||||
{
|
||||
oldToNewFace[cFaces[index]] = newFacei++;
|
||||
@ -495,8 +493,7 @@ autoPtr<mapPolyMesh> reorderMesh
|
||||
newFlipMap[i] = fZone.flipMap()[i];
|
||||
}
|
||||
}
|
||||
labelList newToOld;
|
||||
sortedOrder(newAddressing, newToOld);
|
||||
labelList newToOld(sortedOrder(newAddressing));
|
||||
fZone.resetAddressing
|
||||
(
|
||||
labelUIndList(newAddressing, newToOld)(),
|
||||
@ -1010,8 +1007,7 @@ int main(int argc, char *argv[])
|
||||
bndCellMap.setSize(nBndCells);
|
||||
|
||||
// Sort
|
||||
labelList order;
|
||||
sortedOrder(bndCellMap, order);
|
||||
labelList order(sortedOrder(bndCellMap));
|
||||
|
||||
// Redo newReverseCellOrder
|
||||
labelList newReverseCellOrder(mesh.nCells(), -1);
|
||||
|
||||
Reference in New Issue
Block a user