# Viscosity of water in CNT

Hello

I am trying to calculate the viscosity of water in 2nm diameter CNT.
in order to get the viscosity I am using Einstein relation by getting the axial self diffusion coefficient. But when I try to calculate that using compute MSD I get lots of fluctuation in MSD vs time plot and hence not able to get a stable slope for the simulation.

Thank you
Pranay

I am trying to calculate the viscosity of water in 2nm diameter CNT.
in order to get the viscosity I am using Einstein relation by getting the axial self diffusion coefficient. But when I try to calculate that using compute MSD I get lots of fluctuation in MSD vs time plot and hence not able to get a stable slope for the simulation.

I’ve never used “compute msd”, but here goes my attempt:

MSD is an acronym for mean-squared-displacement. It computes the average (the mean) squared distance traveled by a particle at many-different pairs-of-times over the course of the simulation. After glancing at the documentation, it looks as though when using “compute msd”, one of these time points is arbitrarily set to t=0 (unless “-average” is used, but I’m not sure that helps either). So when using the “compute msd” within a LAMMPS simulation, it looks like the average is performed by considering the displacement traveled different particles within the group. If what I said is correct, then the best way to improve the accuracy of the average is to increase the number of particles in that group. In other words, don’t just use one water molecule. Use all of the water molecules in the tube. In addition, try and use a very long tube to increase the number of molecules in this group.

Also, if the tube is not long enough (and the water falls out of the tube), then you will additional see strange behavior. So I suggest using periodic boundary conditions to build an infinite tube (if you are not already doing this).

Also, if you see that the MSD-vs-time is curving upwards instead of remaining straight, then try using the “-com” argument.

I hope this helps in some way.

Andrew

(If you write your own script to analyze the trajectory after the simulation is over, you can use every possible pair of time points in the trajectory, not just ta=0 and tb=t. This will greatly improve sampling, but it requires writing your own script. It doesn’t look like you can do that using “compute msd”)

Hi,
if you use all the t1-t2 intervals of time you should also assess the underestimation of the uncertainty due autocorrelation of the trajectories by means of the block average or similar methods. The use of all the intervals increases the statistics but underestimate the error.

A.