[gmx-users] Remove rotation around the center of mass

gmail wenjin.brooks.li at gmail.com
Wed Jun 4 01:02:05 CEST 2014

Dear gmx-users,

I have some questions on the way that gromacs remove the rotation around the center of mass when set "comm-mode = Angular”

I have checked the related code for removing the rotation and have a question on how gromacs estimate the inertia tensor I.

In gromacs, the inertia tensor is estimated as follows,

I=sum m_i*[x_i*x_i]-M*[x_c*x_c]

here, m_i is the mass of atom i;
          x_i is the Cartesian coordinate of atom i;
          x_c is the center of mass;
          M is the total mass of the system.
          [x*x] represents the outer product between x and x.

One can easily get that 

I=sum m_i*[y_i*y_i]  with y_i = x_i - x_c     ———(1)

However, from standard mechanics textbook, the inertia is given as

I=sum m_i*{(y_i.y_i)E - [y_i*y_i]}       ———— (2)

here,  y_i.y_i is the inner product between y_i and y_i;
          E is a 3*3 identity matrix.

I want to know the reason that gromacs use Eq. (1) instead of Eq. (2) to calculate the inertia tensor.

Since gromacs estimate the angular velocity (w) with 

Here, I^-1 is the inverse of the inertia tensor I;
          L is the angular momentum.

The angular velocity will be different using Eq. (1) comparing to Eq. (2)

Does anyone know why gromacs use Eq. (1) not Eq. (2)?


More information about the gromacs.org_gmx-users mailing list