---
name: "g_tcaf_d"
section: "1"
platform: "linux"
package: "gromacs-data"
version: "5.0.2-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/gmx-tcaf"
---

# g\_tcaf\_d(1)

Calculate viscosities of liquids

Part of [gmx-tcaf(1)](/gmx-tcaf/1.md).

## NAME

gmx-tcaf - Calculate viscosities of liquids

## SYNOPSIS

gmx tcaf \[-f \[\<.trr/.cpt/...\>\]\] \[-s \[\<.tpr/.tpb/...\>\]\] \[-n \[\<.ndx\>\]\]\
          \[-ot \[\<.xvg\>\]\] \[-oa \[\<.xvg\>\]\] \[-o \[\<.xvg\>\]\] \[-of \[\<.xvg\>\]\]\
          \[-oc \[\<.xvg\>\]\] \[-ov \[\<.xvg\>\]\] \[-nice \<int\>\] \[-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 k2), 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) k2, 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 k2) 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 and output files:

**-f** *\[\<.trr/.cpt/...\>\] (traj.trr) (Input)*\
     Full precision trajectory: trr cpt trj tng

**-s** *\[\<.tpr/.tpb/...\>\] (topol.tpr) (Input, Optional)*\
     Structure+mass(db): tpr tpb tpa gro g96 pdb brk ent

**-n** *\[\<.ndx\>\] (index.ndx) (Input, Optional)*\
     Index file

**-ot** *\[\<.xvg\>\] (transcur.xvg) (Output, Optional)*\
     xvgr/xmgr file

**-oa** *\[\<.xvg\>\] (tcaf\_all.xvg) (Output)*\
     xvgr/xmgr file

**-o** *\[\<.xvg\>\] (tcaf.xvg) (Output)*\
     xvgr/xmgr file

**-of** *\[\<.xvg\>\] (tcaf\_fit.xvg) (Output)*\
     xvgr/xmgr file

**-oc** *\[\<.xvg\>\] (tcaf\_cub.xvg) (Output, Optional)*\
     xvgr/xmgr file

**-ov** *\[\<.xvg\>\] (visc\_k.xvg) (Output)*\
     xvgr/xmgr file

Other options:

**-nice** *\<int\> (19)*\
     Set the nicelevel

**-b** *\<time\> (0)*\
     First frame (ps) to read from trajectory

**-e** *\<time\> (0)*\
     Last frame (ps) to read from trajectory

**-dt** *\<time\> (0)*\
     Only use frame when t MOD dt = first time (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, vac, exp5, exp7, exp9, erffit

**-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

**[gromacs(7)](/gromacs/7.md)**

More information about **GROMACS** is available at \<*http://www.gromacs.org/*\>.
