| 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 |
|
|
| 188 |
|
calcForce(1, 1); |
| 714 |
|
this->rotate( k, i, angle, ji, A ); |
| 715 |
|
|
| 716 |
|
} else { |
| 717 |
< |
// rotate about the x-axis |
| 718 |
< |
angle = dt2 * ji[0] / I[0][0]; |
| 719 |
< |
this->rotate( 1, 2, angle, ji, A ); |
| 720 |
< |
|
| 721 |
< |
// rotate about the y-axis |
| 722 |
< |
angle = dt2 * ji[1] / I[1][1]; |
| 723 |
< |
this->rotate( 2, 0, angle, ji, A ); |
| 724 |
< |
|
| 725 |
< |
// rotate about the z-axis |
| 726 |
< |
angle = dt * ji[2] / I[2][2]; |
| 727 |
< |
this->rotate( 0, 1, angle, ji, A); |
| 728 |
< |
|
| 729 |
< |
// rotate about the y-axis |
| 730 |
< |
angle = dt2 * ji[1] / I[1][1]; |
| 731 |
< |
this->rotate( 2, 0, angle, ji, A ); |
| 732 |
< |
|
| 733 |
< |
// rotate about the x-axis |
| 734 |
< |
angle = dt2 * ji[0] / I[0][0]; |
| 735 |
< |
this->rotate( 1, 2, angle, ji, A ); |
| 736 |
< |
|
| 717 |
> |
// rotate about the x-axis |
| 718 |
> |
angle = dt2 * ji[0] / I[0][0]; |
| 719 |
> |
this->rotate( 1, 2, angle, ji, A ); |
| 720 |
> |
|
| 721 |
> |
// rotate about the y-axis |
| 722 |
> |
angle = dt2 * ji[1] / I[1][1]; |
| 723 |
> |
this->rotate( 2, 0, angle, ji, A ); |
| 724 |
> |
|
| 725 |
> |
// rotate about the z-axis |
| 726 |
> |
angle = dt * ji[2] / I[2][2]; |
| 727 |
> |
this->rotate( 0, 1, angle, ji, A); |
| 728 |
> |
|
| 729 |
> |
// rotate about the y-axis |
| 730 |
> |
angle = dt2 * ji[1] / I[1][1]; |
| 731 |
> |
this->rotate( 2, 0, angle, ji, A ); |
| 732 |
> |
|
| 733 |
> |
// rotate about the x-axis |
| 734 |
> |
angle = dt2 * ji[0] / I[0][0]; |
| 735 |
> |
this->rotate( 1, 2, angle, ji, A ); |
| 736 |
> |
|
| 737 |
|
} |
| 738 |
|
sd->setA( A ); |
| 739 |
|
} |