[gmx-users] a question about removing the rotation
Wei Zhang
zhangw at sinr.ac.cn
Fri Oct 17 21:41:01 CEST 2003
Dear David,
I read the code calculating the inertia momentum. I don't understand in a place.
I think the inertia momentum should be calculated like:
Ixx = sum( m(i)*(y(i)^2+z(i)^2 )
Iyy = sum( m(i)*(z(i)^2+x(i)^2 )
Izz = sum( m(i)*(x(i)^2+y(i)^2 )
But in gromacs code, there is
/* Update inertia tensor */
update_tensor(x[i],m0,vcm->group_i[g]);
..
In update_tensor(...)
static void update_tensor(rvec x,real m0,tensor I)
{
real xy,xz,yz;
/* Compute inertia tensor contribution due to this atom */
xy = x[XX]*x[YY]*m0;
xz = x[XX]*x[ZZ]*m0;
yz = x[YY]*x[ZZ]*m0;
I[XX][XX] += x[XX]*x[XX]*m0;
I[YY][YY] += x[YY]*x[YY]*m0;
I[ZZ][ZZ] += x[ZZ]*x[ZZ]*m0;
I[XX][YY] += xy;
I[YY][XX] += xy;
I[XX][ZZ] += xz;
I[ZZ][XX] += xz;
I[YY][ZZ] += yz;
I[ZZ][YY] += yz;
}
Is it right?
Wei Zhang
zhangw at sinr.ac.cn
2003-10-18
More information about the gromacs.org_gmx-users
mailing list