[gmx-developers] do_update_md

Zachmann, Martin m.zachmann at tum.de
Fri Jun 9 14:01:35 CEST 2017


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20170609/b8652a9f/attachment.html>


More information about the gromacs.org_gmx-developers mailing list