# gmx tcaf¶

## 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>]

## Description¶

`gmx tcaf`

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.

## Options¶

Options to specify input files:

`-f`

[<.trr/.cpt/…>] (traj.trr)`-s`

[<.tpr/.gro/…>] (topol.tpr) (Optional)`-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)`-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