Skip to main content

A library that enables code interoperability via the MolSSI Driver Interface.

Project description

MolSSI Driver Interface (MDI) Library

Build Status codecov

Overview

The MolSSI Driver Interface (MDI) project provides a standardized API for fast, on-the-fly communication between computational chemistry codes. This greatly simplifies the process of implementing methods that require the cooperation of multiple software packages and enables developers to write a single implementation that works across many different codes. The API is sufficiently general to support a wide variety of techniques, including QM/MM, ab initio MD, machine learning, advanced sampling, and path integral MD, while also being straightforwardly extensible. Communication between codes is handled by the MDI Library, which enables tight coupling between codes using either the MPI or TCP/IP methods.

Documentation

Complete documentation can be found at https://molssi-mdi.github.io/MDI_Library

License

The MDI Library is released under the BSD 3-clause license. See LICENSE for details.

Acknowledgements

This work was supported by the Molecular Sciences Software Institute under U.S. National Science Foundation grant ACI-1547580.

MDI builds upon the work of numerous development groups, without whom it could not exist. The syntactical structure of the MDI Standard, including the fundamental command-response communication pattern, is modelled after that used by the i-PI project, as is the string-based representation of commands. The Node System draws inspiration from the techniques used by several molecular mechanics packages, especially LAMMPS and OpenMM, to enable modular code additions. The unit conversions available through the MDI Library were provided by the QCElemental project. Certain details of the communication protocols implemented by the MDI Library, especially pertaining to MPI-based communication in the MPMD regime, were informed by the accomplishments of the CSlib library. The library-based communication protocol was developed in response to discussions with the EXAALT team. The interface, error handling, data types, and numerous other elements of the MDI Library are modelled after the MPI Standard. A distribution of the MDI Library for Python is provided by Conda Forge.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymdi-1.4.29.tar.gz (84.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page