Date
Now online
Attendees (not all attendees listed as online)
Discussion items
Item | Notes |
---|---|
Multisphere | E-mail from Frank: Martijn and I have been looking at the rigid body rotations in MercuryDPM and especially the difference between how it is done for multispheres and other objects (including superquadratics). This is my current understanding: inertia_ is the initial moment of inertia matrix, rotation of a particle are encoded using a quaternion. For multispheres there is a master-slave relation between particles. The center-of-mass motion and rotation of a multisphere are stored at the master particle.
For multispheres the angularAccelerateMaster method is used, while for other particles angularAccelerate is used. Both function should do the same, but for different types of particles. angularAccelerateMaster seems fine to me (in principle), while angularAccelerate solves as Here I have used the subscript ‘lab’ to denote the laboratory frame of reference. It is related to the quantities in the frame of the ‘principal axis’ by a rotation, e.g. , where is the moment of inertial matrix actually used in the code. I think here a term is missing in the update performed by angularAccelerate! The (correct) equation of motion is
This is actually done in angularAccelerateMaster, but in the frame of the ‘principal axes’
I have a few remarks:
Here is in the principal axes frame of reference. For the quaternion we have, applying the quaternion algebra, and where vectors are treated as quaternions with zero scalar part. Note that the angular velocity in the principal axes frame of reference was used. Therefore the multiplication with the angular momentum vector is on the right ().
With kind regards, Frank |
TriangleWalls | How to have only one contact with connected triangles. Thomas looking at it. |
Coupling Branch | Three build systems. How to merge together.
|