[gmx-developers] IMD patch
baaden at smplinux.de
Tue Sep 9 17:34:07 CEST 2008
Dear Martin Hoefling (and Gromacs developers),
We recently caught track of your email exchange on the Gromacs mailing
list, where you contributed a patch for using IMD via Gromacs and
raised some interesting IMD-related issues.
Recently, we have developped a very similar application aiming at
coupling calculation code (including Gromacs) to a visualisation tool
(including VMD) for a convenient and an optimal use of interactive molecular
Our program, called MDDriver, and using an already described patch
co-developped with the Gromacs team [1-3] should be available in a few
There are currently two main papers related to this MDDriver library,
one in VRST 2008 and one in VRIPHYS 2008, which we can provide upon request.
There is also a preliminary Demo Movie at
If you are interested in this work, we can send you a code
version and tutorial before the official release date.
Marc Baaden, Nicolas Ferey & Olivier Delalande.
NB: After the official release, we very much hope to convince the
Gromacs developers to eventually include our IMD implementation in an
upcoming future version.
martin.hoefling at gmx.de said:
>> Hello Gromacs Developers,
>> here's my first version of a patch, implementing the IMD =
>> Interactive Molecular Dynamics Protocol into recent Gromacs CVS
>> Currently, the following works, at least here: -Connecting via VMD to
>> a running single or MPI simulation with md integrator. -Updating the
>> coordinate/energy to vmd and set update frequency from vmd.
>> -Detaching and reattaching from/to a running simulation. -Reading and
>> printing out new forces from VMD (pretty useless atm).
>> When you've compiled a mdrun binary, you can run it with -imd switch.
>> In VMD, you need to load the corresponding structure and then
>> connect to gromacs via Extensions->Simulation->IMD Connect (NAMD)
>> ToDo & Questions:
>> - My current implementation syncronizes IMD (e.g. output frequency)
>> only on next IMD output, to reduce communication. Is this ok? My
>> idea would be to implement the force synchronization from master to
>> other processes here as well.
>> -Implement action of VMD forces. VMD sends new forces, applied via
>> mouse to the master. The simplest idea would be to create a local
>> list with all added, changed and deleted forces and communicate this
>> list to all processes as mentined above. Then I need to find out how/
>> where to implement the force update per process.
>> -PBC treatment, currently molecules look not so nice after crossing
>> the boundaries.
>> -Allow only a certain group to be send to VMD, maybe write out a
>> matching structure for IMD-client as well.
>> -Implement IMD into other integrators.
>> -MPI_Bcast crashes If only one MPI process... ... is (cr->nnodes > 1)
>> the proper condition?
>> -Energies displayed in VMD might be wrong, conversion should be OK
>> but I didn't really think about if the contributions are correct.
>> OK, any comments, suggestions,... ;-)
>> ...I am sure there's a lot of stuff one can do better.
Dr. Marc Baaden - Institut de Biologie Physico-Chimique, Paris
mailto:baaden at smplinux.de - http://www.baaden.ibpc.fr
FAX: +33 15841 5026 - Tel: +33 15841 5176 ou +33 609 843217
More information about the gromacs.org_gmx-developers