[lammps-users] Diffusion coefficient under PBC

Thank you Sir,

But, my problem is that I only have some output files to be analyzed. I ran NPT ensemble and have all the position data of each atom every 1 or 2ps. I could calculate MSD w/o PBC and resulted in an order of low diffusivity compared to literature. So I wonder if I can handle the problem from the output data. From now on I will refer to the "fix msd" command.

Thanks again,


Diffusion coefficients can certainly be computed as a
post-process, but LAMMPS does not do post-processing.
We�re building the pizza.py toolkit


to assist with pre- and post-processing for LAMMPS,
and all are invited to contribute to it:


Unfortunately, it looks like we do not yet have a
module to compute diffusion coefficients using
pizza.py, although it would not be that difficult to
write. Pizza.py does have machinery to account for the
pbc problem you refer to. But you would need to save
the box image flags in the LAMMPS dump file to take
advantage of this:


Otherwise, you have to have code that deduces when the
pbc have been applied so that there are no
discontinuities (due to the pbc) in the particle
trajectories. This could get a bit messy, so it is
better to save the box image flags in the LAMMPS dump
files. But you may have a long trajectory that you do
not want to re-run, in which case you have to try to
deal with the pbc issue.

Another alternative would be to convert your
trajectory into a CHARMM trajectory using mkdcd.f,
which is included in the LAMMPS distribution
(tools/ch2lmp/other). Then you could potentially use
CHARMM to compute the diffusion coefficients. I�m not
sure if CHARMM could easily get around the pbc issue