Split md module facets to different interfaces
commita219c96cdc6d0fbf66a3efa3d01131f3a68d12ce
authorTeemu Murtola <teemu.murtola@gmail.com>
Sun, 26 Feb 2017 18:45:13 +0000 (26 20:45 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Sat, 4 Mar 2017 11:34:39 +0000 (4 12:34 +0100)
tree532c0e8970878597ef61dd60daba12dc2c6060c1
parent6f4f6819f74f2e629a7881f08780132e12e02f01
Split md module facets to different interfaces

Now that IInputRecExtension is no longer embedded in t_inputrec, split
the interface to more focused interfaces.  Put each interface to its own
file, and introduce IMDModule that allows getting an instance of each
interface symmetrically from a module.  This also allows modules to
return null for interfaces they do now need to implement, but that is
not supported very well yet.

Change-Id: I7641e90fea3f63d7c5f987fd7595912a1286cce9
13 files changed:
docs/doxygen/lib/mdmodules.md
src/gromacs/applied-forces/electricfield.cpp
src/gromacs/applied-forces/electricfield.h
src/gromacs/applied-forces/tests/electricfield.cpp
src/gromacs/mdlib/sim_util.cpp
src/gromacs/mdrunutility/mdmodules.cpp
src/gromacs/mdrunutility/mdmodules.h
src/gromacs/mdtypes/forcerec.h
src/gromacs/mdtypes/iforceprovider.h [new file with mode: 0644]
src/gromacs/mdtypes/imdmodule.h [copied from src/gromacs/applied-forces/electricfield.h with 58% similarity]
src/gromacs/mdtypes/imdoutputprovider.h [new file with mode: 0644]
src/gromacs/mdtypes/imdpoptionprovider.h [new file with mode: 0644]
src/gromacs/mdtypes/inputrec.h