[gmx-developers] interface for externally calculated forces
feenstra at few.vu.nl
Wed May 4 17:19:24 CEST 2011
On 04/05/11 17:09, Rene Staritzbichler wrote:
> Wouldn't that make the interplay of Gromacs and the external program a
> bit more tricky?
> For the interface to be as general as possible, the external program
> would need to read from a file, do its calculations and write to a file.
> A callback is usually something like passing a function as a pointer to
> another function.
> But I saw that only within one program so far.
> Can one use that for the coordination of two separate programs?
That of course depends on what interface(s) the other program allows. If
you can call it as a library function, that would allow passing a
pointer to a function. But I think making a callback to something like
the python wrapper, and then handling any calling is a good design.
Using the callback, you could still implement it using file IO etc and
starting the other program, making it equivalent to the script option
your proposed. But the callback could be much more manageable, more
flexible, and potentially more efficient.
We have this now implemented to the point where you can initiate an MD
run from your python script by calling a (new) library 'libmdrun'.
The mdrunnner function (vanilla gromacs) is now split into md_init(),
md_integrate() and md_finalize() (and yes we found memory leaks and
fixed all of them). Adding a callback functionality would not be much of
| | |
| _ _ ___,| K. Anton Feenstra |
| / \ / \'| | | IBIVU/Bioinformatics - Free University Amsterdam |
|( | )| | | De Boelelaan 1083A - 1081 HV Amsterdam - Netherlands |
| \_/ \_/ | | | Tel +31 20 59 87783 - Fax +31 20 59 87653 - Room P136 |
| | Feenstra at few.vu.nl - www.few.vu.nl/~feenstra/ |
| | "Everybody is Smashing Things Down" (Offspring) |
More information about the gromacs.org_gmx-developers