gmx-tcaf - Calculate viscosities of liquids
Contents
Copyright
2025, GROMACS development team
2025.0 Feb 10, 2025 GMX-TCAF(1)
Description
gmxtcaf computes tranverse current autocorrelations. These are used to estimate the shear viscosity,
eta. For details see: Palmer, Phys. Rev. E 49 (1994) pp 359-366.
Transverse currents are calculated using the k-vectors (1,0,0) and (2,0,0) each also in the y- and
z-direction, (1,1,0) and (1,-1,0) each also in the 2 other planes (these vectors are not independent) and
(1,1,1) and the 3 other box diagonals (also not independent). For each k-vector the sine and cosine are
used, in combination with the velocity in 2 perpendicular directions. This gives a total of 16*2*2=64
transverse currents. One autocorrelation is calculated fitted for each k-vector, which gives 16 TCAFs.
Each of these TCAFs is fitted to f(t) = exp(-v)(cosh(Wv) + 1/W sinh(Wv)), v = -t/(2 tau), W = sqrt(1 - 4
tau eta/rho k^2), which gives 16 values of tau and eta. The fit weights decay exponentially with time
constant w (given with -wt) as exp(-t/w), and the TCAF and fit are calculated up to time 5*w. The eta
values should be fitted to 1 - a eta(k) k^2, from which one can estimate the shear viscosity at k=0.
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.
With option -mol, the transverse current is determined of molecules instead of atoms. In this case, the
index group should consist of molecule numbers instead of atom numbers.
The k-dependent viscosities in the -ov file should be fitted to eta(k) = eta_0 (1 - a k^2) to obtain the
viscosity at infinite wavelength.
Note: make sure you write coordinates and velocities often enough. The initial, non-exponential, part of
the autocorrelation function is very important for obtaining a good fit.
Name
gmx-tcaf - Calculate viscosities of liquids
Options
Options to specify input files:
-f[<.trr/.cpt/...>](traj.trr)
Full precision trajectory: trrcpttng-s[<.tpr/.gro/...>](topol.tpr)(Optional)
Structure+mass(db): tprgrog96pdb brk ent
-n[<.ndx>](index.ndx)(Optional)
Index file
Options to specify output files:
-ot[<.xvg>](transcur.xvg)(Optional)
xvgr/xmgr file
-oa[<.xvg>](tcaf_all.xvg)
xvgr/xmgr file
-o[<.xvg>](tcaf.xvg)
xvgr/xmgr file
-of[<.xvg>](tcaf_fit.xvg)
xvgr/xmgr file
-oc[<.xvg>](tcaf_cub.xvg)(Optional)
xvgr/xmgr file
-ov[<.xvg>](visc_k.xvg)
xvgr/xmgr file
Other options:
-b<time>(0)
Time of first frame to read from trajectory (default unit ps)
-e<time>(0)
Time of last frame to read from trajectory (default unit ps)
-dt<time>(0)
Only use frame when t MOD dt = first time (default unit ps)
-[no]w(no)
View output .xvg, .xpm, .eps and .pdb files
-xvg<enum>(xmgrace)
xvg plot formatting: xmgrace, xmgr, none
-[no]mol(no)
Calculate TCAF of molecules
-[no]k34(no)
Also use k=(3,0,0) and k=(4,0,0)
-wt<real>(5)
Exponential decay time for the TCAF fit weights
-acflen<int>(-1)
Length of the ACF, default is half the number of frames
-[no]normalize(yes)
Normalize ACF
-P<enum>(0)
Order of Legendre polynomial for ACF (0 indicates none): 0, 1, 2, 3
-fitfn<enum>(none)
Fit function: none, exp, aexp, exp_exp, exp5, exp7, exp9
-beginfit<real>(0)
Time where to begin the exponential fit of the correlation function
-endfit<real>(-1)
Time where to end the exponential fit of the correlation function, -1 is until the end
See Also
gmx(1) More information about GROMACS is available at <http://www.gromacs.org/>.
Synopsis
gmx tcaf [-f[<.trr/.cpt/...>]] [-s[<.tpr/.gro/...>]] [-n[<.ndx>]]
[-ot[<.xvg>]] [-oa[<.xvg>]] [-o[<.xvg>]] [-of[<.xvg>]]
[-oc[<.xvg>]] [-ov[<.xvg>]] [-b<time>] [-e<time>]
[-dt<time>] [-[no]w] [-xvg<enum>] [-[no]mol] [-[no]k34]
[-wt<real>] [-acflen<int>] [-[no]normalize] [-P<enum>]
[-fitfn<enum>] [-beginfit<real>] [-endfit<real>]
