The problem I have may be really simple, but still getting a hard time solving it. So I have the Euler rotation equations:




where the $I_{i}$ are the moments of inertia about the principal axes of rotation and $\omega_{i}$ the time dependent angular velocities about each axis. In general $I_{i}\neq I_{j}, i\neq j$, or don't satisfy any situations in which they can be reduced to easier relations. $\lambda_{i}$ is a normal distributed random number.

I know that these equations are non-linear and, in general, have no analytic solution. The question is:

$\qquad$ Is there a good numerical integrator for these equations?

I'm using C++ and have looked into the LAPACK package, but I'm kind of confused on how to use it.

I know the reference from Skowron and Gould (arXiv:1203.1034 [astro-ph.EP]); however I really don't know how to implement this algorithm.

If somebody could help me in finding an open source integrator or a reference where they talk about the implementation of this code, it would be great.

  • 2
    $\begingroup$ Would Computational Science be a better home for this question? $\endgroup$
    – Qmechanic
    Mar 6 '16 at 19:31
  • $\begingroup$ I am curious - how does a normally distributed random number creep into an analytical equation? What is the application of this? Does the random number change on every iteration, or is it a one-time constant? $\endgroup$
    – Floris
    Mar 6 '16 at 19:39
  • $\begingroup$ You'd use the same sort of method used to simulate Brownian motion, e.g.. There's no need for LAPACK or any other external library, the implementation is straightforward. $\endgroup$
    – lemon
    Mar 6 '16 at 20:03
  • $\begingroup$ @Floris I imagine this could be used, for example, to simulate the stochastic rotation of a large molecule in a solvent due to random collisions. Analogous to the Langevin equation. $\endgroup$
    – lemon
    Mar 6 '16 at 20:06
  • 1
    $\begingroup$ Related course notes (pdf) from CMU. Also second course notes (pdf). From that you see that you integrate momentum and solve for speed later. $\endgroup$ Mar 6 '16 at 22:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy