Main Table of Contents

Fri 5 Jul 2013


g_tcaf computes tranverse current autocorrelations. These are used to estimate the shear viscosity, η. 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 τ), W = sqrt(1 - 4 τ η/ρ k^2), which gives 16 values of τ and η. 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 η values should be fitted to 1 - a η(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 η 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 η(k) = η_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.


-f traj.trr Input Full precision trajectory: trr trj cpt
-s topol.tpr Input, Opt. Structure+mass(db): tpr tpb tpa gro g96 pdb
-n index.ndx Input, Opt. Index file
-ot transcur.xvg Output, Opt. xvgr/xmgr file
-oa tcaf_all.xvg Output xvgr/xmgr file
-o tcaf.xvg Output xvgr/xmgr file
-of tcaf_fit.xvg Output xvgr/xmgr file
-oc tcaf_cub.xvg Output, Opt. xvgr/xmgr file
-ov visc_k.xvg Output xvgr/xmgr file

Other options

-[no]h bool no Print help info and quit
-[no]version bool no Print version info and quit
-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 bool no View output .xvg, .xpm, .eps and .pdb files
-xvg enum xmgrace xvg plot formatting: xmgrace, xmgr or none
-[no]mol bool no Calculate TCAF of molecules
-[no]k34 bool 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 bool yes Normalize ACF
-P enum 0 Order of Legendre polynomial for ACF (0 indicates none): 0, 1, 2 or 3
-fitfn enum none Fit function: none, exp, aexp, exp_exp, vac, exp5, exp7, exp9 or erffit
-ncskip int 0 Skip this many points in the output file of correlation functions
-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