diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C index a432ae889b3d8427593eca6e618b3ee26fb9ef4b..6765ee8378348427fd10708b24178a778b9013ed 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C @@ -27,14 +27,22 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::globalIndex::globalIndex(const label localSize, const int tag) +Foam::globalIndex::globalIndex +( + const label localSize, + const int tag, + const bool parallel +) : offsets_(Pstream::nProcs()+1) { labelList localSizes(Pstream::nProcs()); localSizes[Pstream::myProcNo()] = localSize; - Pstream::gatherList(localSizes, tag); - Pstream::scatterList(localSizes, tag); + if (parallel) + { + Pstream::gatherList(localSizes, tag); + Pstream::scatterList(localSizes, tag); + } label offset = 0; offsets_[0] = 0; diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H index 1bd83470508c40cb5283167a266612c01c7eacba..c712066f4a18218ec320e7c0b33c5acbd1449371 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H @@ -72,7 +72,12 @@ public: // Constructors //- Construct from local max size - globalIndex(const label localSize, const int tag = Pstream::msgType()); + globalIndex + ( + const label localSize, + const int tag = Pstream::msgType(), + const bool parallel = true // use parallel comms + ); //- Construct from Istream globalIndex(Istream& is);