[gmx-developers] Restraints and external potentials and IMD

Eric Irrgang ericirrgang at gmail.com
Wed Feb 6 17:33:51 CET 2019


Yup. Actually, the Restraint forces are implemented _using_
IForceProvider, but expose a minimal public interface.

http://jenkins.gromacs.org/job/Documentation_Nightly_master/javadoc/doxygen/html-user/group__module__restraint.xhtml
describes a public header that allows binding of
externally-implemented MD-force-providing code at run time without
depending on the library-internal details of IMDModule and
IForceProvider.

As we solve extensibility and API stability issues more generally, the
restraint code in the library can dwindle to a template header, I
hope. :-)

That's a bit down the road. In the near term, my goal is just to
retain the basic functionality that allows for MD plugins like
https://github.com/kassonlab/sample_restraint

Cheers!

On Wed, Feb 6, 2019 at 7:17 PM Mark Abraham <mark.j.abraham at gmail.com> wrote:
>
> Hi,
>
> On Thu, 31 Jan 2019 at 11:01 David van der Spoel <spoel at xray.bmc.uu.se> wrote:
>>
>> Hi,
>> I was browsing the API documentation and stumbled over the
>> "MD restraints":
>>
>> http://jenkins.gromacs.org/job/Documentation_Nightly_master/javadoc/doxygen/html-lib/group__module__restraint.xhtml
>>
>> I wonder how this relates to the code in the applied-forces directory
>> which is now based on the IMD module.
>> http://jenkins.gromacs.org/job/Documentation_Nightly_master/javadoc/doxygen/html-lib/classgmx_1_1IMDModule.xhtml
>>
>> As I envisioned the applied-forces code, this could be a blue-print for
>> all external forces, including restraints, refinement etc.
>>
>> I might be wrong but it seems there is parallel development of very
>> similar code going on, or am I wrong?
>
>
> Elsewhere in this list, Peter Kasson replied:
>
> David--I think you also had a question about this code path.  The point of generality in ongoing external force development really is the iForceProvider work (c.f. Christian and others), and that's probably the best place to hook in.  I don't think it's a problem at this point if Gromacs has different interfaces for using iForceProvider code for external interactions.
>
> Agree that the long term ought to look like exposing interfaces to use (and eventually add) modules that provide additional forces. At the moment the RestraintForceProvider class in the restraint module does model IForceProvider, so things are on a reasonable track.
>
> Mark
>
>>
>> Cheers,
>> --
>> David van der Spoel, Ph.D., Professor of Biology
>> Head of Department, Cell & Molecular Biology, Uppsala University.
>> Box 596, SE-75124 Uppsala, Sweden. Phone: +46184714205.
>> http://www.icm.uu.se
>> --
>> Gromacs Developers mailing list
>>
>> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers or send a mail to gmx-developers-request at gromacs.org.
>
> --
> Gromacs Developers mailing list
>
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers or send a mail to gmx-developers-request at gromacs.org.


More information about the gromacs.org_gmx-developers mailing list