[gmx-users] zero temperature II, found feature
Berk Hess
gmx3 at hotmail.com
Mon Apr 5 16:24:00 CEST 2004
>found it ... strange though, what happens is:
>if I have two groups of atoms, one frozen and one not frozen ("gra" and
>"HOH" in my case, frozen graphite and a water slab) and if I put the
>directive "comm_grps HOH"
>in my md.mdp then the temperature output is ZERO.
>If I use: "comm_grps HOH gra" the temperature output is also ZERO.
>If I use: "comm_grps System" the temperature output is back to normal.
>If I replace one of the water molecules by a single Argon atom
>and combine this with "comm_grps HOH", then the temperature output is also
>back to normal.
There is a bug in calculating the number of degrees of freedom
for temperature coupling groups, when a comm group has 3 (or less)
degress of freedom.
To fix it replace in src/kernel/readir.c.
for(j=0; j<atoms->grps[egcVCM].nr; j++)
opts->nrdf[i] += nrdf_uc*((double)na_vcm[j]/(double)na_tot)*
(nrdf_vcm[j] - n_sub)/nrdf_vcm[j];
by
for(j=0; j<atoms->grps[egcVCM].nr; j++)
if (nrdf_vcm[j] > n_sub) {
opts->nrdf[i] += nrdf_uc*((double)na_vcm[j]/(double)na_tot)*
(nrdf_vcm[j] - n_sub)/nrdf_vcm[j];
}
Thanks for reporting this bug!
>a related issue: I seem to recall that at some point it was announced
>(can't remember by whom) that in 3.2 there'd be the possibility
>to thermostate only a part of the system (i.e.: SUM(tc_grps) != System)
>... doesn't seem to work for me, though.
I think this has always been possible, but via setting tau_t and/or ref_t to
zero for the group that you do not want to couple.
Berk.
_________________________________________________________________
MSN Search, for accurate results! http://search.msn.nl
More information about the gromacs.org_gmx-users
mailing list