MDCraft Documentation¶
MDCraft is a Python assistant for performing and analyzing molecular dynamics simulations of soft matter systems. It is designed to provide comprehensive support throughout the entire simulation process, from initialization to post-processing.
Being tightly integrated with OpenMM, a relatively new simulation toolkit that has seen a surge in popularity in recent years due to its class-leading performance and flexibility through support for custom intermolecular forces and integrators for equations of motion. Due to its age and design philosophy, OpenMM offers comparatively fewer choices of pair potentials and external forces, and no on-the-fly analysis support. MDCraft fills this gap in two ways. First, the openmm module leverages the modularity of OpenMM to provide a suite of custom force fields, problem-solving tools, trajectory readers and writers, and utility functions for unit reduction, topology transformations, and performance optimizations that are not typically available in other simulation packages. Then, the classes in the analysis module enable computing common structural, thermodynamic, and dynamic properties using the topology, trajectory, and state data generated by OpenMM (or other simulation packages).
The analysis module also stands out due to the remarkable flexibility it affords its end users. General users have unprecedented control over what aspects of the properties to calculate and which method to employ through a plethora of well-documented built-in options in each analysis class, without having to be concerned about the underlying implementations. More advanced users, on the other hand, have the option to work directly with the algorithms in the algorithms module for further customization.
The application of MDCraft extends across various domains within computational chemistry and materials science. Researchers can utilize it to study the low-level mechanisms involved in supercapacitors, polymer gels, drug delivery systems, and nanomaterial synthesis, thus highlighting its versatility and broad applicability in cutting-edge scientific research.
Setup
New to MDCraft? Start here to learn how to install and use the package.
Tutorials
Want to see how MDCraft can be used? Explore a selection of curated examples. Work in progress.
Features
Ready to start using MDCraft in your own projects? See a detailed description of all available classes and functions.
Contributing
Have an idea for a new feature or found a bug? Learn how to contribute to the development of MDCraft.