From 923764e35a1f8ef6dcfb050ca24d5cd0e3fabffe Mon Sep 17 00:00:00 2001 From: mattijs Date: Wed, 15 Apr 2009 12:32:18 +0100 Subject: [PATCH] in-place subset bug --- .../mapDistribute/mapDistributeTemplates.C | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C index 330f48be00..5f5d7a9fcf 100644 --- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeTemplates.C @@ -58,7 +58,13 @@ void Foam::mapDistribute::distribute } // Subset myself - UIndirectList subField(field, subMap[Pstream::myProcNo()]); + const labelList& mySubMap = subMap[Pstream::myProcNo()]; + + List subField(mySubMap.size()); + forAll(mySubMap, i) + { + subField[i] = field[mySubMap[i]]; + } // Receive sub field from myself (subField) const labelList& map = constructMap[Pstream::myProcNo()]; @@ -355,7 +361,13 @@ void Foam::mapDistribute::distribute } // Subset myself - UIndirectList subField(field, subMap[Pstream::myProcNo()]); + const labelList& mySubMap = subMap[Pstream::myProcNo()]; + + List subField(mySubMap.size()); + forAll(mySubMap, i) + { + subField[i] = field[mySubMap[i]]; + } // Receive sub field from myself (subField) const labelList& map = constructMap[Pstream::myProcNo()];