[gmx-developers] do_update_md
Berk Hess
hess at kth.se
Fri Jun 9 14:51:25 CEST 2017
On 2017-06-09 14:29, Mark Abraham wrote:
> Hi,
>
> That looks like a bug that was silently fixed during the adoption of
> the velocity-rescale thermostat of Bussi (see commit
> 333641e040ae824badf9d9531290a46ad581ed53). It may be that the issue
> wasn't noticed because people often used parameters that produce lg ==
> 1...
Is debatable if one should call that a bug. The original Berendsen
thermostat that this code was written for did not produce the correct
ensemble anyhow, so it was likely purposely coded this way to give
better/more scaling with consistently too high temperature, as would
happen with the group cut-off scheme and no pair list buffering. With
the V-rescale thermostat you should scale the velocity you computed the
temperature for, which are the minus half-step velocities, as is now
correctly done.
In practice it will be difficult to detect a difference between these
two codes.
>
> I would strongly advise avoiding doing development work on unsupported
> versions of the software more than five years old... ;-) Get the git
> master branch and stay up to date with the hundreds of bugs that have
> been fixed since :-)
His mail didn't imply he is using an old version for development, it
could just be for trying to understand the code or porting changes from
an old version to master, which is good!
Cheers,
Berk
>
> Mark
>
> On Fri, Jun 9, 2017 at 2:01 PM Zachmann, Martin <m.zachmann at tum.de
> <mailto:m.zachmann at tum.de>> wrote:
>
> Hello community!
>
> i hope someone can help me understand some code changes in the
> do_update_md() function in update.cpp.
>
> In the case where it advances r and v in the leap-frog scheme
> together with the berendsen thermostat
>
> (last two else if { } and else { }) in version 4.0.7. it looks
> like this
>
> vv = lg*(vn + f[n][d]*w_dt);
>
> where lg is the lambda-scaling factor from the thermostat and w_dt
> is dt/m.
>
> Instead in version 4.5. and higher:
>
> vv = lg*vn + f[n][d]*w_dt;
>
>
> The original paper (The Journal of Chemical Physics 81, 3684
> (1984); doi: 10.1063/1.448118) seems to scale
>
> both old velocity and force. Btw in do_update_visc() scaling is
> done to both.
>
> What is the purpose of this?
>
> any help is much appreciated,
>
> regards Martin
>
>
> --
> Gromacs Developers mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_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-developers
> or send a mail to gmx-developers-request at gromacs.org
> <mailto:gmx-developers-request at gromacs.org>.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20170609/8625dd7b/attachment.html>
More information about the gromacs.org_gmx-developers
mailing list