[gmx-developers] Interactive Molecular Dynamics

Berk Hess hess at kth.se
Wed Feb 1 17:52:33 CET 2012


Carsten started cross-posting. I'll answer here.

This is very nice!

Are there really only 4 extra conditionals in do_md?
I assume those are within ifdef's.
If that's the case we can put it in 4.6.
The only question is then how this is configured in cmake and if should 
be on by default.



On 01/27/2012 02:51 PM, Martin Hoefling wrote:
> Hey Folks,
> Carsten and myself would like to contribute a patch for the 
> release-4-6 implementing IMD on the "Feature Wishlist". This allows 
> Gromacs simulations to be "remote controlled" like NAMD from VMD. The 
> patch implements the same protocol as NAMD-VMD. Below, the features 
> are summarized. Also below, we require your feedback if we should / 
> before submit(ting) to gerrit code review.
> Features:
> -Supports md, steep, lbfgs and cg integrator.
> -Pulling from VMD in MD integrator.
> -Runs in parallel with DD and PD.
> -Virtually no performance impact (4 bool checks in mainloop) when 
> disabled (default).
> -An IMD group can be specified in tpr to restrict the coordinate 
> transmission to VMD and to pull on parts of the system only.
> -Molecules are made whole to avoid pbc artifacts in VMD.
> -Also works on windows using the winsock library.
> -IMD can be completely deactivated during cmake.
> Dependencies:
> sys/socket.h and netinet/in.h on unix systems and I guess on CYGWIN too.
> Winsock.h and Windows.h on Windows MSVC builds.
> The IMD functionality is in 4 files:
> The actual IMD stuff:
> imd.h and imd.c
> Socket communication routines.
> imdsocket.h & imdsocket.c
> imd.h exports 6 public functions, which are used in minimize.c, md.c 
> and sim_util.c
> Open questions / To discuss:
> -Shall we include this patch into 4.6?
> We think yes, since it changes virtually nothing when disabled. 
> Alternatively one could also disable the entire code by default during 
> compilation. It would, however, require incrementing the tpr file 
> format, since there the
> IMD group atom numbers are stored.
> -Should enable or disable be the default during compilation?
> -Enabling currently works by setting one or more environment variables 
> during runtime:
> We thought its best like this to avoid inflation of mdrun switches. 
> What do you think?
> -Are there any features missing?
> If to be merged into release-4-6, we would also write/add:
> -IMD logfile, similar to pullf.xvg
> -Wallcycle counters
> -Section for the Gromacs Manual
> Best wishes
> Martin and Carsten

More information about the gromacs.org_gmx-developers mailing list