ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/SimSetup.cpp (file contents):
Revision 1163 by gezelter, Wed May 12 14:30:12 2004 UTC vs.
Revision 1167 by tim, Wed May 12 16:38:45 2004 UTC

# Line 185 | Line 185 | void SimSetup::makeMolecules(void){
185    RigidBodyStamp* currentRigidBody;
186    CutoffGroupStamp* currentCutoffGroup;
187    CutoffGroup* myCutoffGroup;
188 <  
188 >  int nCutoffGroups;// number of cutoff group of a molecule defined in mdl file
189 >  set<int> cutoffAtomSet; //atoms belong to  cutoffgroup defined at mdl file
190 >
191    bond_pair* theBonds;
192    bend_set* theBends;
193    torsion_set* theTorsions;
# Line 218 | Line 220 | void SimSetup::makeMolecules(void){
220        molInfo.nBends = comp_stamps[stampID]->getNBends();
221        molInfo.nTorsions = comp_stamps[stampID]->getNTorsions();
222        molInfo.nRigidBodies = comp_stamps[stampID]->getNRigidBodies();
223 <      molInfo.nCutoffGroups = comp_stamps[stampID]->getNCutoffGroups();
223 >
224 >      nCutoffGroups = comp_stamps[stampID]->getNCutoffGroups();
225        
226        molInfo.myAtoms = &(info[k].atoms[atomOffset]);
227  
# Line 485 | Line 488 | void SimSetup::makeMolecules(void){
488        
489  
490        //create cutoff group for molecule
491 +
492 +      cutoffAtomSet.clear();
493        molInfo.myCutoffGroups.clear();
494 <      for (j = 0; j < molInfo.nCutoffGroups; j++){
494 >      
495 >      for (j = 0; j < nCutoffGroups; j++){
496  
497          currentCutoffGroup = comp_stamps[stampID]->getCutoffGroup(j);
498          nMembers = currentCutoffGroup->getNMembers();
# Line 500 | Line 506 | void SimSetup::makeMolecules(void){
506  
507            // tempI is atom numbering on local processor
508            tempI = molI + atomOffset;
509 <
509 >          
510            myCutoffGroup->addAtom(info[k].atoms[tempI]);          
511 +
512 +          cutoffAtomSet.insert(tempI);
513          }
514  
515          molInfo.myCutoffGroups.push_back(myCutoffGroup);
516        }//end for (j = 0; j < molInfo.nCutoffGroups; j++)
509      
517  
518 +      //creat a cutoff group for every atom  in current molecule which does not belong to cutoffgroup defined at mdl file
519  
520 +      for(j = 0; j < molInfo.nAtoms; j++){
521 +
522 +        if(cutoffAtomSet.find(molInfo.myAtoms[j]->getIndex()) == cutoffAtomSet.end()){
523 +          myCutoffGroup = new CutoffGroup();
524 +          myCutoffGroup->addAtom(molInfo.myAtoms[j]);
525 +          molInfo.myCutoffGroups.push_back(myCutoffGroup);
526 +        }
527 +          
528 +      }
529 +
530 +              
531 +
532 +
533        // After this is all set up, scan through the atoms to
534        // see if they can be added to the integrableObjects:
535  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines