[gmx-developers] Interactive Molecular Dynamics

Martin Hoefling mhoefli at gwdg.de
Fri Jan 27 14:51:55 CET 2012


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:
GMX_IMDPORT, GMX_IMDFREQ, GMX_IMDWAIT, GMX_IMDTERM, GMX_IMDALLOWPULL

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

-- 
Martin Hoefling
Max Planck Institute for Biophysical Chemistry
Theoretical & Computational Biophysics
Am Fassberg 11
37077 Goettingen
Germany
Phone: +49 551 201 2314
Fax: +49 551 201 2302
Mail: mhoefli at gwdg.de




More information about the gromacs.org_gmx-developers mailing list