The MolSSI Driver Interface (MDI) project provides a standardized interface for fast, on-the-fly communication between computational chemistry codes. By simplifying the process of implementing and running methods that require the cooperation of multiple software packages, MDI enables researchers to use these software packages in a highly modular manner. This modularity greatly expands the options available to users when running complex simulations, such as quantum mechanics / molecular mechanics (QM/MM) multiscale techniques, ab initio molecular dynamics (AIMD), machine learning, advanced sampling, and path integral MD.
The MolSSI Driver Interface (MDI) project provides a standardized interface for fast, on-the-fly communication between computational chemistry codes. This greatly simplifies the process of implementing and running methods that require the cooperation of multiple software packages and enables developers to write a single implementation that works across many different codes. The interface is sufficiently general to support a wide variety of techniques, including QM/MM, AIMD, machine learning, advanced sampling, and path integral MD, while also being straightforwardly extensible.
MDI is designed to support a wide variety of different calculation types, with the MDI Standard defining a variety of simple commands that can be used to develop many drivers for many purposes. Potential application areas for MDI include AIMD, path integral molecular dynamics, advanced sampling, forcefield development, and QM/MM. More specifically, here are some examples of what can be accomplished using MDI:
More generally, MDI can support any scientific simulation methods that can be implemented using the command set defined by the MDI Standard. For simulation types that require additional commands, unofficial extensions to the MDI Standard can be straightforwardly developed. Feel free to contact us if your use case requires additions to the MDI Standard, and we may be able to provide advice about the process.
A rapidly growing ecosystem of codes can be used in a modular manner through MDI, including:
MDI uses a driver/engine paradigm in which drivers orchestrate complex simulations by controlling engines using an API-like command set that is defined by the MDI Standard. A driver will typically implement one or more high-level methods, such as advanced sampling or QM/MM, while relying on one or more engines to perform lower-level operations, such as energy and force evaluation. In total, MDI consists of the following components:
You can download this datasheet here:
More information about MDI can be found at: