| 160 |
|
double thermalTime = info->thermalTime; |
| 161 |
|
double resetTime = info->resetTime; |
| 162 |
|
|
| 163 |
< |
|
| 163 |
> |
double difference; |
| 164 |
|
double currSample; |
| 165 |
|
double currThermal; |
| 166 |
|
double currStatus; |
| 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 |
|
|
| 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 |
|
} |
| 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 |
|
} |