lammps/examples/DIFFUSE
Steven J. Plimpton 5789ef9128 bug-fix for slope() function in variable 2018-08-03 10:08:02 -06:00
..
README bug-fix for slope() function in variable 2018-08-03 10:08:02 -06:00
in.msd.2d git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@11551 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2014-02-12 23:09:42 +00:00
in.vacf.2d git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@11551 f3b2605a-c512-4ea7-a41b-209d697bcdaa 2014-02-12 23:09:42 +00:00
log.3Aug18.msd.2d.g++.8 bug-fix for slope() function in variable 2018-08-03 10:08:02 -06:00
log.3Aug18.vacf.2d.g++.8 bug-fix for slope() function in variable 2018-08-03 10:08:02 -06:00

README

This directory has 2 scripts that compute the diffusion coefficient of
a 2d Lennard-Jones fluid using 2 different methods.  See the
discussion in Section 6.22 of the manual for an overview of the
methods and pointers to doc pages for the commands which implement
them. 

These scripts are provided for illustration purposes.  No guarantee is
made that the systems are fully equilibrated or that the runs are long
enough to generate good statistics and highly accurate results.

-------------

These are the 2 methods for computing the diffusion coefficient.  The
first computes the slope of the mean-squared displacement (MSD) of the
atoms.  The second time-integrates the velocity-auto-correlation
function (VACF) for the system.  In both cases a single time origin is
used.  This allows the diffusion coefficient to be estimated
on-the-fly using variables in the LAMMPS input scripts.  For better
statistics you typically want to use multiple time origins,
post-processing the data from dump files.

in.msd.2d = mean-squared displacement (MSD)
in.vacf.2d = velocity auto-correlation function (VACF)

Both systems have 3200 atoms and run for 100000 timesteps, after
equilibration.

The scripts were both run on 8 processors.  They both run in about 10
seconds and produce the accompanying log files.

The state point of the LJ fluid is rho* = 0.6, T* = 1.0, and Rcut =
2.5 sigma.  

-------------

Here is how to extract the diffusion coefficient from the log file
output for each method.

(1) in.msd.2d

The 3rd column of output is the instantaneous mean-squared
displacment, which grows over time.  The 4th column estimates the
slope of the MSD from its two end-points, and uses it to compute the
diffusion coefficient.  The 5th column fits a straight line to the
entire (growing) set of MSD data and uses the slope of the line to
compute the diffusion coefficient.  You can see that both measures
give roughly the same answer and rapidly become roughly constant for
the 100K step simulation.

Dcoeff = 0.33

(2) in.vacf.2d

The 3rd column of output is the instantaneous velocity
auto-correlation function (VACF).  The 4th column is the
time-integration of the VACF (for every timestep), integrated up to
that point in time, converted into the diffusion coefficient.  You can
see the VACF approach gives a more noise, fluctuating value for the
diffusion coefficient, compared to the MSD approach.

Dcoeff = ~0.25