--- branches/development/src/parallel/ForceDecomposition.cpp 2011/03/18 19:31:52 1544 +++ branches/development/src/parallel/ForceDecomposition.cpp 2011/04/11 18:44:16 1547 @@ -85,9 +85,13 @@ namespace OpenMD { vector pot_local(N_INTERACTION_FAMILIES, 0.0); // gather the information for atomtype IDs (atids): - AtomCommIntI->gather(info_->getIdentArray(), identsRow); - AtomCommIntJ->gather(info_->getIdentArray(), identsCol); + vector identsLocal = info_->getIdentArray(); + identsRow.reserve(nAtomsInRow); + identsCol.reserve(nAtomsInCol); + AtomCommIntI->gather(identsLocal, identsRow); + AtomCommIntJ->gather(identsLocal, identsCol); + AtomLocalToGlobal = info_->getLocalToGlobalAtomIndex(); AtomCommIntI->gather(AtomLocalToGlobal, AtomRowToGlobal); AtomCommIntJ->gather(AtomLocalToGlobal, AtomColToGlobal); @@ -96,11 +100,8 @@ namespace OpenMD { cgCommIntI->gather(cgLocalToGlobal, cgRowToGlobal); cgCommIntJ->gather(cgLocalToGlobal, cgColToGlobal); - - + - - // still need: // topoDist // exclude