g_tcaf(1) calculates viscosities of liquids


g_tcaf -f traj.trr -s topol.tpr -n index.ndx -ot transcur.xvg -oa tcaf_all.xvg -o tcaf.xvg -of tcaf_fit.xvg -oc tcaf_cub.xvg -ov visc_k.xvg -[no]h -[no]version -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 -ncskip int -beginfit real -endfit real


g_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 TCAF's. Each of these TCAF's 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 with time as exp(-t/wt), and the TCAF and fit are calculated up to time 5*wt. 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 TCAF's over all k-vectors with the same length. This results in more accurate tcaf's. Both the cubic TCAF's 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) = eta0 (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.


-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 


 Print help info and quit

 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)

 View output  .xvg .xpm .eps and  .pdb files

-xvg enum xmgrace
 xvg plot formatting:  xmgrace xmgr or  none

 Calculate tcaf of molecules

 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

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