ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/brains/SimInfo.cpp
(Generate patch)

Comparing trunk/src/brains/SimInfo.cpp (file contents):
Revision 1879 by gezelter, Sun Jun 16 15:15:42 2013 UTC vs.
Revision 1940 by gezelter, Fri Nov 1 19:31:41 2013 UTC

# Line 47 | Line 47
47   * @version 1.0
48   */
49  
50 + #ifdef IS_MPI
51 + #include <mpi.h>
52 + #endif
53   #include <algorithm>
54   #include <set>
55   #include <map>
# Line 61 | Line 64
64   #include "io/ForceFieldOptions.hpp"
65   #include "brains/ForceField.hpp"
66   #include "nonbonded/SwitchingFunction.hpp"
64 #ifdef IS_MPI
65 #include <mpi.h>
66 #endif
67  
68   using namespace std;
69   namespace OpenMD {
# Line 91 | Line 91 | namespace OpenMD {
91      for (vector<Component*>::iterator i = components.begin();
92           i !=components.end(); ++i) {
93        molStamp = (*i)->getMoleculeStamp();
94 +      if ( (*i)->haveRegion() ) {        
95 +        molStamp->setRegion( (*i)->getRegion() );
96 +      } else {
97 +        // set the region to a disallowed value:
98 +        molStamp->setRegion( -1 );
99 +      }
100 +
101        nMolWithSameStamp = (*i)->getNMol();
102        
103        addMoleculeStamp(molStamp, nMolWithSameStamp);
# Line 411 | Line 418 | namespace OpenMD {
418          atomGroups.insert(map<int, set<int> >::value_type(sd->getGlobalIndex(), oneAtomSet));        
419        }
420      }  
421 +
422            
423      for (bond= mol->beginBond(bondIter); bond != NULL;
424           bond = mol->nextBond(bondIter)) {
# Line 931 | Line 939 | namespace OpenMD {
939        }      
940      }
941  
942 <    // Build the identArray_
942 >    // Build the identArray_ and regions_
943  
944      identArray_.clear();
945 <    identArray_.reserve(getNAtoms());    
946 <    for(mol = beginMolecule(mi); mol != NULL; mol = nextMolecule(mi)) {        
945 >    identArray_.reserve(getNAtoms());  
946 >    regions_.clear();
947 >    regions_.reserve(getNAtoms());
948 >
949 >    for(mol = beginMolecule(mi); mol != NULL; mol = nextMolecule(mi)) {      
950 >      int reg = mol->getRegion();      
951        for(atom = mol->beginAtom(ai); atom != NULL; atom = mol->nextAtom(ai)) {
952          identArray_.push_back(atom->getIdent());
953 +        regions_.push_back(reg);
954        }
955      }    
956 <    
956 >      
957      topologyDone_ = true;
958    }
959  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines