254 |
|
|
255 |
|
moveA(); |
256 |
|
|
257 |
– |
if (nConstrained){ |
258 |
– |
constrainA(); |
259 |
– |
} |
257 |
|
|
258 |
|
|
259 |
+ |
|
260 |
|
#ifdef IS_MPI |
261 |
|
strcpy(checkPointMsg, "Succesful moveA\n"); |
262 |
|
MPIcheckPoint(); |
277 |
|
|
278 |
|
moveB(); |
279 |
|
|
280 |
< |
if (nConstrained){ |
283 |
< |
constrainB(); |
284 |
< |
} |
280 |
> |
|
281 |
|
|
282 |
|
#ifdef IS_MPI |
283 |
|
strcpy(checkPointMsg, "Succesful moveB\n"); |
357 |
|
dAtom->setA(A); |
358 |
|
} |
359 |
|
} |
360 |
+ |
|
361 |
+ |
if (nConstrained){ |
362 |
+ |
constrainA(); |
363 |
+ |
} |
364 |
|
} |
365 |
|
|
366 |
|
|
401 |
|
|
402 |
|
dAtom->setJ(ji); |
403 |
|
} |
404 |
+ |
} |
405 |
+ |
|
406 |
+ |
if (nConstrained){ |
407 |
+ |
constrainB(); |
408 |
|
} |
409 |
|
} |
410 |
|
|
564 |
|
painCave.isFatal = 1; |
565 |
|
simError(); |
566 |
|
} |
567 |
+ |
|
568 |
|
} |
569 |
|
|
570 |
|
template<typename T> void Integrator<T>::constrainB(void){ |
758 |
|
template<typename T> void Integrator<T>::thermalize(){ |
759 |
|
tStats->velocitize(); |
760 |
|
} |
761 |
+ |
|
762 |
+ |
template<typename T> double Integrator<T>::getConservedQuantity(void){ |
763 |
+ |
return tStats->getTotalE(); |
764 |
+ |
} |