[gmx-users] GROMACS API?
Mark.Abraham at anu.edu.au
Wed Feb 7 01:30:31 CET 2007
Ben FrantzDale wrote:
> On 2/6/07, *Mark Abraham* <Mark.Abraham at anu.edu.au
> <mailto:Mark.Abraham at anu.edu.au>> wrote:
> Ben FrantzDale wrote:
> > I am interested in using GROMACS as a library. I get the
> impression from
> > its use in Folding at Home that this is possible, but I don't see any
> > documentation on the subject. Is there a C/C++ API for GROMACS so
> that I
> > could initialize GROMACS with an MPI communicator then send it
> jobs to
> > process? If so, did I just not find the documentation?
> Well, from an engineering point of view, of course libgmx can be used
> "as a library". You just have to work out how to call it intelligently.
> The only available documentation for this is reading the source code to
> see what the data types are and understanding the algorithms as well.
> You would have to write a bunch of stuff to be able to "initialize
> GROMACS with an MPI communicator then send it jobs" and you'd have to
> ask yourself why you'd bother doing that when you could just start a
> mdrun process each time you have something new to do...
> Thanks for the response. Any suggestions as to which source file(s) to
> start with to do this?
Unfortunately the organization into subdirectories of src is a bit
haphazard... I can't make much sense of why things go in mdlib gmxlib or
kernel, for example. gmxlib/nonbonded is rational though :-)
Thus I can only suggest what I did... start with main in kernel/mdrun.c
and construct your own picture of what is going on.
> In response to the last question, I am doing multiscale modeling,
> linking atomistic to continuum. In that context, the cost of
> initializing a parallel run, especially using files, can become
> prohibitive. For example, I want to ask for the forces on all atoms,
> then programatically move the atoms a little, then ask for the forces
Well that's fair enough... but make sure you get it working without the
complexities of MPI and parallel stuff before you attempt the latter!
More information about the gromacs.org_gmx-users