espressomd / espresso

The ESPResSo package
https://espressomd.org
GNU General Public License v3.0
230 stars 186 forks source link

Integration scheme not documented #2680

Closed fweik closed 5 years ago

fweik commented 5 years ago

The integration scheme for Langevin dynamics is not documented, at least I could not find something in the documents or code comments. LD can be done in different ways with a Verlet scheme, in Espresso it is even more complex because it also supports dissipative and inertia coupling to LB, DPD, anisotropy and more, as well as combinations of those. I think this is a central point that should absolutely be documented an well understood.

In my opinion the following points should be addressed, not only documenting what is implemented, but also explaining why it is done in a specific way if there is a choice:

Without having clarity about these points, we can in my opinion not say with confidence what the code actually calculates, and whether the numeric calculations approximate some physical model in any limit. This understanding is also needed to properly handle initial forces in the future.

RudolfWeeber commented 5 years ago

@christophlohrmann,

The Velocity Verlet integrator is in src/core/integrate.cpp:integrate_vv() Literature: Allen Tildesley, also, a google search for langevin velocity verlet yields a few papers discussing the combination of the two.

LB Coupling: src/core/grid_based_algorithms/lb_particle_coupling.cpp and lb_interpolation.cpp Citations are in the code: Ahlrichs and Duenweg, JCP 111(17):8225 (1999))

User's guide source files are in doc/sphinx

fweik commented 5 years ago

I think for the LB coupling stuff https://www.sciencedirect.com/science/article/pii/S0010465514002094 is a good starting point.

christophlohrmann commented 5 years ago

Ok thanks