The purpose of the MDAPI (molecular dynamics applications programming interface) is to provide a high performance C programming interface for the separation of code for molecular dynamics (MD) simulations into a front end and a computational engine. The computational engine includes all of the code that performs the numerical computation for each time step of an MD simulation. The front end contains everything else that is needed for performing an MD simulation, specifically, the setup of the simulation, the analysis of the results, and all I/O. The rationale for this separation is to improve software design for MD codes. Highly optimized engines can be developed without having to worry about all of the supporting tasks that are necessary for performing an MD simulation. User-friendly front ends can be developed separately that support a variety of data file formats without concern for introducing any side effects to the numerical portions of the code. The MDAPI enables front ends to interoperate with computational engines, facilitating the development of specialized engines.

The source code includes a fully functional front end and engine that together demonstrate all of the basic features and some of the advanced features of the MDAPI. The resulting MD program provides a subset of the features of NAMD.


If you have questions please send email to the author David J. Hardy at dhardy@ks.uiuc.edu.

Source Code and Documentation

Source code for the reference implementation of the MDAPI is available. It follows the guidelines presented in the MDAPI Specification, Version 0.9 document. Both the source code and the documentation, along with a fully functional front end and computational engine have been released with the MDX software collection.


University of Illinois/NCSA Open Source License

Page created and maintained by David J. Hardy.