[gmx-users] Viscosity of water from gmx tcaf

Gmx QA gmxquestions at gmail.com
Tue Dec 15 10:14:38 CET 2015

Dear users

I am trying to teach myself how to calculate the viscosity of different
simulations from gmx tcaf, and to that end I made a test system with a box
of about 4000 water molecules, so that I can see if I can get a viscosity
that matches that of water.

I have read some mails on this list, and in particular the Berk Hess paper
about various methods to calculate viscosity in gromacs, but I have some
additional questions.

>From the help-text for gmx tcaf:
The k-dependent viscosities in the -ov file should be fitted to eta(k) =
(1 - a k^2) to obtain the viscosity at infinite wavelength.

This is my command line for running gmx tcaf:
$ gmx tcaf -f run.trr -s run.tpr -ov

which gives me the visc_k.xvg file.

I then tried to fit the data (per above) using xmgrace to y = a0 * (1 - a1
* y * y), and get a0 = 0.41*10^-3 kg /m*s, which after unit conversion
seems to be too low? (wikipedia says viscosity of water is 0.001 kg /m *s.

On the other hand, gmx tcaf also says:

When the box is cubic, one can use the option -oc, which averages the TCAFs
over all k-vectors with the same length. This results in more accurate
TCAFs. Both the cubic TCAFs and fits are written to -oc The cubic eta
estimates are also written to -ov.

Since I have a cubic box, I run
$ gmx tcaf -f run.trr -s run.tpr -ov -oc

which gives me another visc_k,xvg file with some (fitted?) data in it. What
is this data?
The following is also printed to stdout

Averaged over k-vectors:
k  1.273  tau  1.860  Omega  1.790  eta  0.14901 10^-3 kg/(m s)
k  1.801  tau  1.133  Omega  2.061  eta  0.14087 10^-3 kg/(m s)
k  2.206  tau  0.420  Omega  0.799  eta  0.09827 10^-3 kg/(m s)
k  2.547  tau  0.340  Omega  0.599  eta  0.06810 10^-3 kg/(m s)

Does gromacs somehow already compute the viscosity at "infinite
wavelength"?, or am i missing something.

I'd really, really appreciate some help here.


More information about the gromacs.org_gmx-users mailing list