diff --git a/applications/utilities/preProcessing/snappyHexMeshConfig/Tuple3.H b/src/OpenFOAM/primitives/Tuple3/Tuple3.H similarity index 98% rename from applications/utilities/preProcessing/snappyHexMeshConfig/Tuple3.H rename to src/OpenFOAM/primitives/Tuple3/Tuple3.H index be601d70f2..0881862e5c 100644 --- a/applications/utilities/preProcessing/snappyHexMeshConfig/Tuple3.H +++ b/src/OpenFOAM/primitives/Tuple3/Tuple3.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2023 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2023-2024 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/parallel/decompose/zoltan/zoltan.C b/src/parallel/decompose/zoltan/zoltan.C index 843481233b..d262481f8d 100644 --- a/src/parallel/decompose/zoltan/zoltan.C +++ b/src/parallel/decompose/zoltan/zoltan.C @@ -26,6 +26,7 @@ License #include "zoltan.H" #include "globalIndex.H" #include "PstreamGlobals.H" +#include "Tuple3.H" #include "addToRunTimeSelectionTable.H" #include "sigFpe.H" @@ -81,28 +82,32 @@ static void get_vertex_list int* ierr ) { - const Foam::Tuple2& - vertexData = + const Foam::Tuple3 + < + const Foam::pointField&, + const Foam::scalarField&, + const Foam::globalIndex& + >& vertexData = *static_cast < - const Foam::Tuple2 + const Foam::Tuple3 < const Foam::pointField&, - const Foam::scalarField& + const Foam::scalarField&, + const Foam::globalIndex& >* >(data); const Foam::pointField& points = vertexData.first(); const Foam::scalarField& weights = vertexData.second(); + const Foam::globalIndex& globalMap = vertexData.third(); - if (wgt_dim != weights.size()/points.size()) + if (points.size() && wgt_dim != weights.size()/points.size()) { *ierr = ZOLTAN_FATAL; return; } - Foam::globalIndex globalMap(points.size()); - for (Foam::label i=0; i& adjacency = - *static_cast*>(data); + const Foam::Tuple2 + < + const Foam::CompactListList&, + const Foam::globalIndex& + >& edgeData = + *static_cast + < + const Foam::Tuple2 + < + const Foam::CompactListList&, + const Foam::globalIndex& + >* + >(data); + + const Foam::CompactListList& adjacency = edgeData.first(); + const Foam::globalIndex& globalMap = edgeData.second(); const Foam::labelList& m(adjacency.m()); - Foam::globalIndex globalMap(nPoints); - if ( (nGID != 1) @@ -251,14 +268,6 @@ Foam::label Foam::decompositionMethods::zoltan::decompose List