| 146 | 
  | 
 | 
| 147 | 
  | 
 | 
| 148 | 
  | 
template<typename T> void Integrator<T>::integrate(void){ | 
| 149 | 
– | 
  int i, j;                         // loop counters | 
| 149 | 
  | 
 | 
| 150 | 
  | 
  double runTime = info->run_time; | 
| 151 | 
  | 
  double sampleTime = info->sampleTime; | 
| 160 | 
  | 
  double currReset; | 
| 161 | 
  | 
   | 
| 162 | 
  | 
  int calcPot, calcStress; | 
| 164 | 
– | 
  int isError; | 
| 163 | 
  | 
 | 
| 164 | 
  | 
  tStats = new Thermo(info); | 
| 165 | 
  | 
  statOut = new StatWriter(info); | 
| 166 | 
  | 
  dumpOut = new DumpWriter(info); | 
| 167 | 
  | 
 | 
| 168 | 
  | 
  atoms = info->atoms; | 
| 171 | 
– | 
  DirectionalAtom* dAtom; | 
| 169 | 
  | 
 | 
| 170 | 
  | 
  dt = info->dt; | 
| 171 | 
  | 
  dt2 = 0.5 * dt; | 
| 246 | 
  | 
#endif // is_mpi | 
| 247 | 
  | 
  } | 
| 248 | 
  | 
 | 
| 249 | 
< | 
  dumpOut->writeFinal(info->getTime()); | 
| 249 | 
> | 
 | 
| 250 | 
> | 
  // write the last frame | 
| 251 | 
> | 
  dumpOut->writeDump(info->getTime()); | 
| 252 | 
  | 
 | 
| 253 | 
  | 
  delete dumpOut; | 
| 254 | 
  | 
  delete statOut; | 
| 404 | 
  | 
} | 
| 405 | 
  | 
 | 
| 406 | 
  | 
template<typename T> void Integrator<T>::constrainA(){ | 
| 407 | 
< | 
  int i, j, k; | 
| 407 | 
> | 
  int i, j; | 
| 408 | 
  | 
  int done; | 
| 409 | 
  | 
  double posA[3], posB[3]; | 
| 410 | 
  | 
  double velA[3], velB[3]; | 
| 548 | 
  | 
} | 
| 549 | 
  | 
 | 
| 550 | 
  | 
template<typename T> void Integrator<T>::constrainB(void){ | 
| 551 | 
< | 
  int i, j, k; | 
| 551 | 
> | 
  int i, j; | 
| 552 | 
  | 
  int done; | 
| 553 | 
  | 
  double posA[3], posB[3]; | 
| 554 | 
  | 
  double velA[3], velB[3]; | 
| 557 | 
  | 
  int a, b, ax, ay, az, bx, by, bz; | 
| 558 | 
  | 
  double rma, rmb; | 
| 559 | 
  | 
  double dx, dy, dz; | 
| 560 | 
< | 
  double rabsq, pabsq, rvab; | 
| 562 | 
< | 
  double diffsq; | 
| 560 | 
> | 
  double rvab; | 
| 561 | 
  | 
  double gab; | 
| 562 | 
  | 
  int iteration; | 
| 563 | 
  | 
 |