How to calculate diffusion constant vs time?

GROMACS version:2020
GROMACS modification: Yes/No

Dear all

I want to calculate diffusion constant vs time (D vs t) in Gromacs. Is there a direct way to do that? I want to check system equilibration using block averaging of diffusion constant. If there is another way to check equilibrium state, I would be appreciated to tell.

Thank you in advance

Simply run gmx msd on different time blocks from your simulation.

How you measure “equilibrium state” depends on what is important to you from the simulation. For some systems/properties of interest something as simple as the energy may be sufficient, which typically stabilises pretty quickly. However, with others (such as bilayer phase behaviour) the structure and behaviour occurs over much longer time frames.

Dear Dr_DBW

Thank you very much for your reply.

I have a question. Is it possible to check the time that system reaches to equilibrium state using velocity auto correlation function?


Does the velocity of the particles and their correlation with time relate with the property you are interested in? If your answer is yes, then it is likely to provide an indicator. If your answer is no, then you need to find another property to monitor.