My name is Evyatar Arad, and as part of my studies Im working on an implementation of a newly released thermostat, G-JF, in the ESPResSo package.
The new thermostat exhibits stable results with use of much longer time steps (compared to existing options, as shown in attached article) and thus may save the ESPResSo users community a-lot of computational time if integrated properly (see attached article, p3).
I’m rather new to the ESPResSo c++ code and package and might need some help regarding the best way to properly integrate it.
I’ve taken a look around and saw the 4 phases of Velocity-Verlet integration in the ESPResSo code.
The way I see the G-JF integration loop should go something like:
1) Randomise gaussian numbers and from them derive Beta^(n+1) for every particle.
2) propagate pos by calculating eq 4 in attached article
3) recalc forces to find f^(n+1) (while keeping f^n)
4) propagate velocities by calculating eq. 5 in attached article
5) f^(n+1) => f^n
The problem I’ve been having is of an orderly nature. I’m just not sure where to place each step in the tangled code and was wondering how do you think is best to go about it?
I’ve enclosed a 4 pages article for reference.
Application of the G-JF discrete-time thermostat for fast and accurate molecular simulations:
Thank you.
Evyatar Arad,
Department Of Biomedical Engineering,
Ben Gurion University.