diff --git a/src/sampling/sampledSet/cellCentre/cellCentreSet.C b/src/sampling/sampledSet/cellCentre/cellCentreSet.C index 2631595ff1fe3e506420e5a9790c71fa0885fdfa..1c7cc4a1828ab2b6cc710918f247eb0ff2c23b30 100644 --- a/src/sampling/sampledSet/cellCentre/cellCentreSet.C +++ b/src/sampling/sampledSet/cellCentre/cellCentreSet.C @@ -27,6 +27,7 @@ License #include "meshSearch.H" #include "polyMesh.H" #include "volFields.H" +#include "globalIndex.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -44,6 +45,8 @@ void Foam::cellCentreSet::genSamples() { const label len = mesh().nCells(); + const globalIndex globalSampleNumbers(len); + const auto& cellCentres = refCast<const fvMesh>(mesh()).C().primitiveField(); @@ -70,8 +73,13 @@ void Foam::cellCentreSet::genSamples() } labelList samplingFaces(selectedCells.size(), -1); - labelList samplingSegments(selectedCells.size(), -1); - scalarList samplingCurveDist(selectedCells.size(), 0.0); + labelList samplingSegments(selectedCells.size(), 0); + scalarList samplingCurveDist(selectedCells.size()); + + forAll(selectedCells, i) + { + samplingCurveDist[i] = globalSampleNumbers.toGlobal(selectedCells[i]); + } // Move into *this setSamples diff --git a/src/sampling/sampledSet/sampledSet/sampledSet.C b/src/sampling/sampledSet/sampledSet/sampledSet.C index f13fce7c77ff1781ce70a48505893d0c0b054a6e..cc053293305dca8956d93f37726281867f9207a9 100644 --- a/src/sampling/sampledSet/sampledSet/sampledSet.C +++ b/src/sampling/sampledSet/sampledSet/sampledSet.C @@ -29,7 +29,6 @@ License #include "meshSearch.H" #include "writer.H" #include "particle.H" -#include "SortableList.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -467,7 +466,7 @@ Foam::autoPtr<Foam::coordSet> Foam::sampledSet::gather ); - if (Pstream::master() && allCurveDist.size() == 0) + if (Pstream::master() && allCurveDist.empty()) { WarningInFunction << "Sample set " << name() @@ -475,8 +474,8 @@ Foam::autoPtr<Foam::coordSet> Foam::sampledSet::gather } // Sort curveDist and use to fill masterSamplePts - SortableList<scalar> sortedDist(allCurveDist); - indexSet = sortedDist.indices(); + Foam::sortedOrder(allCurveDist, indexSet); // uses stable sort + scalarList sortedDist(allCurveDist, indexSet); // with indices for mapping return autoPtr<coordSet>::New ( diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.C b/src/sampling/sampledSet/sampledSets/sampledSets.C index 567aed51120b9431f751f436992916420f9b1351..f706f3848604e331226bf235fd191424f6356c34 100644 --- a/src/sampling/sampledSet/sampledSets/sampledSets.C +++ b/src/sampling/sampledSet/sampledSets/sampledSets.C @@ -28,7 +28,6 @@ License #include "Time.H" #include "volFields.H" #include "ListListOps.H" -#include "SortableList.H" #include "volPointInterpolation.H" #include "mapPolyMesh.H" #include "addToRunTimeSelectionTable.H"