-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolution of Arnold's equation with minimal testing #2351
Conversation
physics/euler_solver_body.hpp
Outdated
Bivector<Variation<AngularMomentum>, PrincipalAxesFrame> const ṁ = | ||
Commutator(m, ω) / Radian; | ||
|
||
// If ṁ is constant in the principal axes frame, pick 𝒫ₜ = identity. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If m is constant
, or If ṁ is 0
.
But how is this correct? If 𝒫ₜ
is the identity in coordinates, 𝒫ₜ(m_normalized)
is e₃
(in ℬₜ
) only if m_normalized
is e₃
(in PrincipalAxesFrame
); but m
can be constant for at least 6 different values of m_normalized
(±eᵢ
in PrincipalAxesFrame
), and for many values if some moments of inertia are equal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, it gets a bit ugly.
if (m.x < AngularMomentum()) { | ||
B₁₃_ = -B₁₃_; | ||
σB₁₃_ = -B₁₃_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a TODO to investigate the behaviour with respect to nothing's sign bit.
No description provided.