| 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 |
|
|
| 346 |
|
integrableObjects[i]->getVel(vel); |
| 347 |
|
integrableObjects[i]->getPos(pos); |
| 348 |
|
integrableObjects[i]->getFrc(frc); |
| 349 |
+ |
|
| 350 |
+ |
std::cerr << "i =\t" << i << "\t" << frc[0] << "\t" << frc[1]<< "\t" << frc[2] << "\n"; |
| 351 |
|
|
| 352 |
|
mass = integrableObjects[i]->getMass(); |
| 353 |
|
|
| 716 |
|
this->rotate( k, i, angle, ji, A ); |
| 717 |
|
|
| 718 |
|
} else { |
| 719 |
< |
// rotate about the x-axis |
| 720 |
< |
angle = dt2 * ji[0] / I[0][0]; |
| 721 |
< |
this->rotate( 1, 2, angle, ji, A ); |
| 722 |
< |
|
| 723 |
< |
// rotate about the y-axis |
| 724 |
< |
angle = dt2 * ji[1] / I[1][1]; |
| 725 |
< |
this->rotate( 2, 0, angle, ji, A ); |
| 726 |
< |
|
| 727 |
< |
// rotate about the z-axis |
| 728 |
< |
angle = dt * ji[2] / I[2][2]; |
| 729 |
< |
this->rotate( 0, 1, angle, ji, A); |
| 730 |
< |
|
| 731 |
< |
// rotate about the y-axis |
| 732 |
< |
angle = dt2 * ji[1] / I[1][1]; |
| 733 |
< |
this->rotate( 2, 0, angle, ji, A ); |
| 734 |
< |
|
| 735 |
< |
// rotate about the x-axis |
| 736 |
< |
angle = dt2 * ji[0] / I[0][0]; |
| 737 |
< |
this->rotate( 1, 2, angle, ji, A ); |
| 738 |
< |
|
| 719 |
> |
// rotate about the x-axis |
| 720 |
> |
angle = dt2 * ji[0] / I[0][0]; |
| 721 |
> |
this->rotate( 1, 2, angle, ji, A ); |
| 722 |
> |
|
| 723 |
> |
// rotate about the y-axis |
| 724 |
> |
angle = dt2 * ji[1] / I[1][1]; |
| 725 |
> |
this->rotate( 2, 0, angle, ji, A ); |
| 726 |
> |
|
| 727 |
> |
// rotate about the z-axis |
| 728 |
> |
angle = dt * ji[2] / I[2][2]; |
| 729 |
> |
this->rotate( 0, 1, angle, ji, A); |
| 730 |
> |
|
| 731 |
> |
// rotate about the y-axis |
| 732 |
> |
angle = dt2 * ji[1] / I[1][1]; |
| 733 |
> |
this->rotate( 2, 0, angle, ji, A ); |
| 734 |
> |
|
| 735 |
> |
// rotate about the x-axis |
| 736 |
> |
angle = dt2 * ji[0] / I[0][0]; |
| 737 |
> |
this->rotate( 1, 2, angle, ji, A ); |
| 738 |
> |
|
| 739 |
|
} |
| 740 |
|
sd->setA( A ); |
| 741 |
|
} |