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

Comparing trunk/OOPSE/libmdtools/Molecule.cpp (file contents):
Revision 1097 by gezelter, Mon Apr 12 20:32:20 2004 UTC vs.
Revision 1109 by gezelter, Wed Apr 14 16:32:15 2004 UTC

# Line 12 | Line 12 | Molecule::Molecule( void ){
12    myBonds = NULL;
13    myBends = NULL;
14    myTorsions = NULL;
15  myRigidBodies = NULL;
15  
16   }
17  
19
20
18   Molecule::~Molecule( void ){
19    int i;
20    
# Line 41 | Line 38 | Molecule::~Molecule( void ){
38      delete[] myTorsions;
39    }
40  
44  if( myRigidBodies != NULL ){
45    for(i=0; i<nRigidBodies; i++) if(myRigidBodies[i] != NULL )
46      delete myRigidBodies[i];
47    delete[] myRigidBodies;
48  }
49  
41   }
42  
43  
# Line 65 | Line 56 | void Molecule::initialize( molInit &theInit ){
56    myBends = theInit.myBends;
57    myTorsions = theInit.myTorsions;
58    myRigidBodies = theInit.myRigidBodies;
59 +
60 +  myIntegrableObjects = theInit.myIntegrableObjects;
61      
62   }
63  
# Line 72 | Line 65 | void Molecule::calcForces( void ){
65    
66    int i;
67  
68 <  for(i=0; i<nRigidBodies; i++) {
68 >  for(i=0; i<myRigidBodies.size(); i++) {
69      myRigidBodies[i]->updateAtoms();
70    }
71  
# Line 97 | Line 90 | double Molecule::getPotential( void ){
90    
91    int i;
92    double myPot = 0.0;
93 +
94 +  for(i=0; i<myRigidBodies.size(); i++) {
95 +    myRigidBodies[i]->updateAtoms();
96 +  }
97    
98    for(i=0; i<nBonds; i++){
99      myPot += myBonds[i]->get_potential();
# Line 147 | Line 144 | void Molecule::moveCOM(double delta[3]){
144      }
145    }
146  
147 <  for(i=0; i<nRigidBodies; i++) {
147 >  for(i=0; i<myRigidBodies.size(); i++) {
148  
152    if (myRigidBodies[i] != NULL) {
153      
149        myRigidBodies[i]->getPos( aPos );
150  
151        for (j=0; j< 3; j++)
# Line 158 | Line 153 | void Molecule::moveCOM(double delta[3]){
153        
154        myRigidBodies[i]->setPos( aPos );
155      }
161  }  
156   }
157  
158   void Molecule::atoms2rigidBodies( void ) {
159    int i;
160 <  for (i = 0; i < nRigidBodies; i++) {
161 <    if (myRigidBodies[i] != NULL) {
168 <      myRigidBodies[i]->calcForcesAndTorques();  
169 <    }
160 >  for (i = 0; i < myRigidBodies.size(); i++) {
161 >    myRigidBodies[i]->calcForcesAndTorques();  
162    }
163   }
164  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines