[gmx-users] Velocity Verlet integrator

Michael Shirts mrshirts at gmail.com
Wed Oct 15 17:05:48 CEST 2014


Yes, I've been using the theory here:

http://arxiv.org/abs/1301.3800

Which describes how to concantenate integrator steps in a formal way.

I can say that the time savings you get by concatenating integrators is
VERY small.  The only time it is nonnegligible is when there is a LOT of
communication, and even then, there are better ways to make simulations
faster.  It's not an area where there is a lot of improvement that can be
made.

When doing temperature and pressure control, there are many cases that you
cannot really join the steps as well.

On Wed, Oct 15, 2014 at 10:05 AM, Mario Fernández Pendás <
mariofp77 at gmail.com> wrote:

> Thank you very much Professor Shirts.
>
> I have these doubts because I am trying to implement new integrators based
> in the concatenation of two VV steps to make a single step. The idea
> follows the integrators suggested in
> http://web.mit.edu/~ripper/www/research/efficient_md_integrators.pdf
>
> This is why it is important for me to know where each step starts and
> finishes.
>
> 2014-10-15 15:52 GMT+02:00 Michael Shirts <mrshirts at gmail.com>:
>
> > Because the 'start' of the vv integrator step is halfway through the
> loop.
> > This is a byproduct of 1) putting leapfrog and velocity verlet in the
> same
> > loop and 2) minimizing communication and output.  It is not as elegant as
> > it should be.  There are efforts to clean this up, but it's a lot of
> > reorganization, and has gone slowly.
> >
> > On Wed, Oct 15, 2014 at 8:46 AM, Mario Fernández Pendás <
> > mariofp77 at gmail.com
> > > wrote:
> >
> > > Yes, I understand that. But my question is more about why the two
> > velocity
> > > updates are implemented before the position update and not the other
> way
> > > round?
> > >
> > > From the theoretical point of view I would think more in one of the
> > > following schemes:
> > >
> > >
> > >    1. Calculate: [image: \vec{v}\left(t + \tfrac12\,\Delta t\right) =
> > >    \vec{v}(t) + \tfrac12\,\vec{a}(t)\,\Delta t\,]
> > >    2. Calculate: [image: \vec{x}(t + \Delta t) = \vec{x}(t) +
> > >    \vec{v}\left(t + \tfrac12\,\Delta t\right)\, \Delta t\,]
> > >    3. Derive [image: \vec{a}(t + \Delta t)] from the interaction
> > potential
> > >    using [image: \vec{x}(t + \Delta t)]
> > >    4. Calculate: [image: \vec{v}(t + \Delta t) = \vec{v}\left(t +
> > >    \tfrac12\,\Delta t\right) + \tfrac12\,\vec{a}(t + \Delta t)\Delta
> t,]
> > >
> > >
> > >
> > >    1. Calculate: [image: \vec{x}(t + \Delta t) = \vec{x}(t) +
> > \vec{v}(t)\,
> > >    \Delta t+\tfrac12 \,\vec{a}(t)\,\Delta t^2]
> > >    2. Derive [image: \vec{a}(t + \Delta t)] from the interaction
> > potential
> > >    using [image: \vec{x}(t + \Delta t)]
> > >    3. Calculate: [image: \vec{v}(t + \Delta t) = \vec{v}(t) +
> > >    \tfrac12\,\left(\vec{a}(t)+\vec{a}(t + \Delta t)\right)\Delta t\,]
> > >
> > >
> > > This is why my confusion arises.
> > >
> > >
> > > 2014-10-15 14:05 GMT+02:00 Justin Lemkul <jalemkul at vt.edu>:
> > >
> > > >
> > > >
> > > > On 10/15/14 7:30 AM, Mario Fernández Pendás wrote:
> > > >
> > > >> Dear all,
> > > >>
> > > >> I am still interested in some integrator related issues.
> > > >>
> > > >> I understand that the easiest way to implement velocity Verlet was
> to
> > > >> split
> > > >> the updates in two updates. But I don't understad the order of those
> > > >> updates.
> > > >> I mean why there are two updates for velocities and then the update
> > for
> > > >> positions?
> > > >> My intuitive idea would be to update first one half for velocities,
> > > then a
> > > >> full step for positions and, finally, using these new positions the
> > > second
> > > >> half for velocities.
> > > >>
> > > >
> > > > Yes, there are two separate half-step updates for velocities.  The
> > > > comments in the md.cpp code are quite verbose if you want to trace
> > > through.
> > > >
> > > > -Justin
> > > >
> > > > --
> > > > ==================================================
> > > >
> > > > Justin A. Lemkul, Ph.D.
> > > > Ruth L. Kirschstein NRSA Postdoctoral Fellow
> > > >
> > > > Department of Pharmaceutical Sciences
> > > > School of Pharmacy
> > > > Health Sciences Facility II, Room 629
> > > > University of Maryland, Baltimore
> > > > 20 Penn St.
> > > > Baltimore, MD 21201
> > > >
> > > > jalemkul at outerbanks.umaryland.edu | (410) 706-7441
> > > > http://mackerell.umaryland.edu/~jalemkul
> > > >
> > > > ==================================================
> > > >
> > > > --
> > > > Gromacs Users mailing list
> > > >
> > > > * Please search the archive at http://www.gromacs.org/
> > > > Support/Mailing_Lists/GMX-Users_List before posting!
> > > >
> > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > > >
> > > > * For (un)subscribe requests visit
> > > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users
> or
> > > > send a mail to gmx-users-request at gromacs.org.
> > > >
> > > --
> > > Gromacs Users mailing list
> > >
> > > * Please search the archive at
> > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > posting!
> > >
> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > >
> > > * For (un)subscribe requests visit
> > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > > send a mail to gmx-users-request at gromacs.org.
> > >
> > --
> > Gromacs Users mailing list
> >
> > * Please search the archive at
> > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > posting!
> >
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> > * For (un)subscribe requests visit
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > send a mail to gmx-users-request at gromacs.org.
> >
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>


More information about the gromacs.org_gmx-users mailing list