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

gmail wenjin.brooks.li at gmail.com
Wed Jun 4 16:37:11 CEST 2014


On Jun 4, 2014, at 5:00 AM, gromacs.org_gmx-users-request at maillist.sys.kth.se wrote:
> From: Mark Abraham <mark.j.abraham at gmail.com>
> Subject: Re: [gmx-users] Remove rotation around the center of mass
> Date: June 4, 2014 at 3:31:39 AM CDT
> To: Discussion list for GROMACS users <gmx-users at gromacs.org>
> Cc: Discussion list for GROMACS users <gromacs.org_gmx-users at maillist.sys.kth.se>
> Reply-To: gmx-users at gromacs.org
> 
> 
> On Wed, Jun 4, 2014 at 1:01 AM, gmail <wenjin.brooks.li at gmail.com> wrote:
> 
>> 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.
>> 
> 
> Without having looked at the code, I imagine GROMACS would calculate the
> moment of inertia about the specified center, rather than bothering with
> computing the tensor. Eq (2) is expressed in coordinates relative to an
> arbitrary origin, to what does it reduce if you choose the COM as the
> origin?
> 
> Mark
> 

Eq. (2) is the one relative to the COM, as I used y_i not x_i.
So, there is a difference in using Eq. (1) instead of Eq. (2), and
I still do not get the reason to use Eq. (1), any further explanation?

In addition, gromacs code does calculate the tensor with Eq. (1)

Wenjin

> Since gromacs estimate the angular velocity (w) with
>> 
>> w=I^-1*L
>> 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)?
>> 
>> Thanks,
>> Wenjin
>> 
>> 
>> --
>> Gromacs Users mailing list
>> 
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
>> posting!
>> 
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>> 
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
>> send a mail to gmx-users-request at gromacs.org.
>> 
> 



More information about the gromacs.org_gmx-users mailing list