| 177 |
|
|
| 178 |
|
//project the inertial moment of directional atoms into this rigid body |
| 179 |
|
if (atoms_[i]->isDirectional()) { |
| 180 |
– |
Itmp += IAtom; |
| 180 |
|
Itmp += refOrients_[i].transpose() * atoms_[i]->getI() * refOrients_[i]; |
| 181 |
|
} |
| 182 |
|
} |
| 183 |
|
|
| 184 |
+ |
// std::cout << Itmp << std::endl; |
| 185 |
+ |
|
| 186 |
|
//diagonalize |
| 187 |
|
Vector3d evals; |
| 188 |
|
Mat3x3d::diagonalize(Itmp, evals, sU_); |
| 483 |
|
"RigidBody error.\n" |
| 484 |
|
"\tAtom %s does not have a position specified.\n" |
| 485 |
|
"\tThis means RigidBody cannot set up reference coordinates.\n", |
| 486 |
< |
ats->getType() ); |
| 486 |
> |
ats->getType().c_str() ); |
| 487 |
|
painCave.isFatal = 1; |
| 488 |
|
simError(); |
| 489 |
|
} |
| 503 |
|
"RigidBody error.\n" |
| 504 |
|
"\tAtom %s does not have an orientation specified.\n" |
| 505 |
|
"\tThis means RigidBody cannot set up reference orientations.\n", |
| 506 |
< |
ats->getType() ); |
| 506 |
> |
ats->getType().c_str() ); |
| 507 |
|
painCave.isFatal = 1; |
| 508 |
|
simError(); |
| 509 |
|
} |