Regarding viscosity calculation

GROMACS version:
GROMACS modification: Yes/No
Dear Gromacs Users,
I am calculating the viscosity by gmx tcaf bt I’m not getting the k value in x-axis below 1.0 , Please suggest me anything to add in the command to get k value below 1.0 In the reference file for calculating viscosity, there they have shown in viscosity calculation, the k value below 1.0 (Ref. : Palmer, Phys. Rev. E 49 (1994) pp 359-366.) The command I’m using is “gmx tcaf -s name.tpr -f name.trr -oc viscosity.xvg”
Here, I have given the viscosity data file below,

Executable: /apps/codes/gromacs/5.1.4/bin/gmx_mpi

Data prefix: /apps/codes/gromacs/5.1.4

Command line:

gmx_mpi tcaf -s nvt_330K_Prod_md.tpr -f nvt_330K_Prod_md-center.trr -oc viscosity.xvg

gmx tcaf is part of G R O M A C S:

GROningen MAchine for Chemical Simulation

@ title “Fits”
@ xaxis label “k (nm\S-1\N)”
@ yaxis label “\xh\f{} (10\S-3\N kg m\S-1\N s\S-1\N)”
@TYPE xy
@ s0 symbol 2
@ s0 symbol color 1
@ s0 linestyle 0
@ s1 symbol 3
@ s1 symbol color 2
1.003 1.006
1.003 1.03217
1.003 1.00746
1.418 0.847398
1.418 0.831458
1.418 0.846793
1.418 0.857653
1.418 0.854054
1.418 0.851492
1.737 0.685294
1.737 0.679414
1.737 1.59109
1.737 1.62262
2.005 10.1099
2.005 2.98908
2.005 2.46715
&
1.003 1.01519
1.418 0.848126
1.737 1.60483
2.005 20.714
&

Please suggest me what should i modify or do for calculating the viscosity correctly.
Thanks in Advance

I think you need to read the literature more carefully. The lower limit on k value is dictated by the box size. If you want lower k, you will need to use a larger box.

Hello, Sir.
I am trying to obtain tcaf after 100 ns md of a system of 12300 atoms using “gmx tcaf -f md.cpt -s md.tpr -o tcaf.xvg” but lack of memeory prevents me from getting the result.

My system is dell corei5 laptop. I make tpr of last 40ns and last 20ns of the system, run the md separately and employ the previous command but still to no avail in each case.

I am using subscribed-HPC account for the md and I tried it there but no success.

Cold you guide me on how to obtain this quantity and evaluate viscosity from it?

The memory requirements of gmx tcaf are rather low. The largest data struct has a size of the number of frames time 64 bytes. I would only expect memory issue when you have a trajectory with more than ten million frames. Could it be that you have nstxout and nstvout set vert low? In that case try the -dt option.

Thank you for the quick reply.

I set nstxout and nstvout to be 500 each. I tried for the last_20ns case and choose various values for dt, (up to 10000:
half of the whole 20 ns topology) but still got the same error as pasted below.

Fatal error:
Not enough memory. Failed to calloc -2147483647 elements of size 4 for tcaf[k]
(called from file /home/umar/Downloads/gromacs-2023.1/src/gromacs/gmxana/gmx_tcaf.cpp, line 137)

Maybe the time step computed for your frames is negative. Did you concatenate trajectories?
You can check the computed time step by specifying the -ot option and looking at the time value of the second data point.

I do not concatenate trajectories.
I am not clear about checking computed time step you mentioned.
I make use of md.trr instead of md.cpt and get the result in this case.

Thank You.

The time step that is used internally in gmx tacf is not printed anywhere. But if you specify the -ot option, then the time step is used to compute the times in the transcur.xvg output file. So you can check the time step by looking at the first number on the second data line in transcur.xvg.

Thank You, Sir.