--- trunk/src/brains/SimInfo.cpp 2013/07/19 21:25:45 1908 +++ trunk/src/brains/SimInfo.cpp 2013/08/19 13:51:04 1930 @@ -372,10 +372,12 @@ namespace OpenMD { void SimInfo::addInteractionPairs(Molecule* mol) { ForceFieldOptions& options_ = forceField_->getForceFieldOptions(); + vector::iterator atomIter; vector::iterator bondIter; vector::iterator bendIter; vector::iterator torsionIter; vector::iterator inversionIter; + Atom* atom; Bond* bond; Bend* bend; Torsion* torsion; @@ -418,6 +420,7 @@ namespace OpenMD { atomGroups.insert(map >::value_type(sd->getGlobalIndex(), oneAtomSet)); } } + for (bond= mol->beginBond(bondIter); bond != NULL; bond = mol->nextBond(bondIter)) { @@ -938,16 +941,21 @@ namespace OpenMD { } } - // Build the identArray_ + // Build the identArray_ and regions_ identArray_.clear(); - identArray_.reserve(getNAtoms()); - for(mol = beginMolecule(mi); mol != NULL; mol = nextMolecule(mi)) { + identArray_.reserve(getNAtoms()); + regions_.clear(); + regions_.reserve(getNAtoms()); + + for(mol = beginMolecule(mi); mol != NULL; mol = nextMolecule(mi)) { + int reg = mol->getRegion(); for(atom = mol->beginAtom(ai); atom != NULL; atom = mol->nextAtom(ai)) { identArray_.push_back(atom->getIdent()); + regions_.push_back(reg); } } - + topologyDone_ = true; }