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 607 by gezelter, Tue Jul 15 14:28:54 2003 UTC vs.
Revision 610 by gezelter, Tue Jul 15 15:50:55 2003 UTC

# Line 121 | Line 121 | void Molecule::moveCOM(double delta[3]){
121   }
122  
123   void Molecule::moveCOM(double delta[3]){
124 <  double x, y, z;
125 <  int i;
124 >  double aPos[3];
125 >  int i, j;
126  
127    for(i=0; i<nAtoms; i++) {
128      if(myAtoms[i] != NULL ) {
129 +      
130 +      myAtoms[i]->getPos( aPos );
131 +      
132 +      for (j=0; j< 3; j++)
133 +        aPos[j] += delta[j];
134  
135 <      x = myAtoms[i]->getX() + delta[0];
131 <      y = myAtoms[i]->getY() + delta[1];
132 <      z = myAtoms[i]->getZ() + delta[2];
133 <
134 <      myAtoms[i]->setX(x);
135 <      myAtoms[i]->setY(y);
136 <      myAtoms[i]->setZ(z);
135 >      myAtoms[i]->setPos( aPos );
136      }
137    }
138   }
# Line 141 | Line 140 | void Molecule::getCOM( double COM[3] ) {
140   void Molecule::getCOM( double COM[3] ) {
141  
142    double mass, mtot;
143 <  int i;
143 >  double aPos[3];
144 >  int i, j;
145  
146 <  COM[0] = 0.0;
147 <  COM[1] = 0.0;
148 <  COM[2] = 0.0;
146 >  for (j=0; j<3; j++)
147 >    COM[j] = 0.0;
148 >
149    mtot   = 0.0;
150  
151    for (i=0; i < nAtoms; i++) {
# Line 153 | Line 153 | void Molecule::getCOM( double COM[3] ) {
153  
154        mass = myAtoms[i]->getMass();
155        mtot   += mass;
156 <      COM[0] += myAtoms[i]->getX() * mass;
157 <      COM[1] += myAtoms[i]->getY() * mass;
158 <      COM[2] += myAtoms[i]->getZ() * mass;
156 >      
157 >      myAtoms[i]->getPos( aPos );
158  
159 +      for( j = 0; j < 3; j++)
160 +        COM[j] += aPos[j] * mass;
161 +
162      }
163    }
164  
165 <  COM[0] /= mtot;
166 <  COM[1] /= mtot;
165 <  COM[2] /= mtot;
166 <
165 >  for (j = 0; j < 3; j++)
166 >    COM[j] /= mtot;
167   }
168  
169   double Molecule::getCOMvel( double COMvel[3] ) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines