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

Comparing trunk/OOPSE/libmdtools/Integrator.cpp (file contents):
Revision 1118 by tim, Mon Apr 19 03:52:27 2004 UTC vs.
Revision 1178 by gezelter, Thu May 13 21:08:05 2004 UTC

# Line 160 | Line 160 | template<typename T> void Integrator<T>::integrate(voi
160    double thermalTime = info->thermalTime;
161    double resetTime = info->resetTime;
162  
163 <
163 >  double difference;
164    double currSample;
165    double currThermal;
166    double currStatus;
# Line 178 | Line 178 | template<typename T> void Integrator<T>::integrate(voi
178    dt2 = 0.5 * dt;
179  
180    readyCheck();
181 +
182 +  // remove center of mass drift velocity (in case we passed in a configuration
183 +  // that was drifting
184 +  tStats->removeCOMdrift();
185  
186    // initialize the forces before the first step
187  
# Line 211 | Line 215 | template<typename T> void Integrator<T>::integrate(voi
215   #endif // is_mpi
216  
217    while (info->getTime() < runTime && !stopIntegrator()){
218 <    if ((info->getTime() + dt) >= currStatus){
218 >    difference = info->getTime() + dt - currStatus;
219 >    if (difference > 0 || fabs(difference) < 1e-4 ){
220        calcPot = 1;
221        calcStress = 1;
222      }
# Line 710 | Line 715 | template<typename T> void Integrator<T>::rotationPropa
715      this->rotate( k, i, angle, ji, A );
716  
717    } else {
718 <  // rotate about the x-axis
719 <  angle = dt2 * ji[0] / I[0][0];
720 <  this->rotate( 1, 2, angle, ji, A );
721 <
722 <  // rotate about the y-axis
723 <  angle = dt2 * ji[1] / I[1][1];
724 <  this->rotate( 2, 0, angle, ji, A );
725 <
726 <  // rotate about the z-axis
727 <  angle = dt * ji[2] / I[2][2];
728 <  this->rotate( 0, 1, angle, ji, A);
729 <
730 <  // rotate about the y-axis
731 <  angle = dt2 * ji[1] / I[1][1];
732 <  this->rotate( 2, 0, angle, ji, A );
733 <
734 <  // rotate about the x-axis
735 <  angle = dt2 * ji[0] / I[0][0];
736 <  this->rotate( 1, 2, angle, ji, A );
737 <
718 >    // rotate about the x-axis
719 >    angle = dt2 * ji[0] / I[0][0];
720 >    this->rotate( 1, 2, angle, ji, A );
721 >    
722 >    // rotate about the y-axis
723 >    angle = dt2 * ji[1] / I[1][1];
724 >    this->rotate( 2, 0, angle, ji, A );
725 >    
726 >    // rotate about the z-axis
727 >    angle = dt * ji[2] / I[2][2];
728 >    this->rotate( 0, 1, angle, ji, A);
729 >    
730 >    // rotate about the y-axis
731 >    angle = dt2 * ji[1] / I[1][1];
732 >    this->rotate( 2, 0, angle, ji, A );
733 >    
734 >    // rotate about the x-axis
735 >    angle = dt2 * ji[0] / I[0][0];
736 >    this->rotate( 1, 2, angle, ji, A );
737 >    
738    }
739    sd->setA( A  );
740   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines