MiMiC: A Framework for Multiscale Modeling in Computational Chemistry

Attention

Under construction. Expect major changes as well as missing and incomplete information.

MiMiC is a framework for the development of multiscale models and for running multiscale simulations related to computational chemistry. 1,2 The goal is to enable flexible implementations of multiscale models with support for multiple subsystems that each can be described at different resolutions and levels of theory.

Spatial resolutions may range from a quantum mechanical description of electrons, over atomistic molecular mechanics and coarse-grained modeling, to continuum models. However, MiMiC itself does not calculate any subsystem contributions (e.g., energy and forces) on its own except potentially for contributions arising from the interactions between subsystems. Instead, MiMiC relies on external programs using a multiple-program multiple-data (MPMD) model with loose coupling between programs. This allows high flexibility while at the same time retaining a high degree of computational efficiency by letting the external programs run concurrently and by exploiting the fact that different programs have been optimized for their own specific use case.

Specifically, MiMiC couples a main driver (which runs a molecular dynamics simulation or performs some other type of calculation) to a set of external programs, each of which concurrently computes the contributions that are relevant to a specific subsystem using their own optimal parallelization strategy. Crucial for this strategy is the efficient communication between programs which is achieved through the use of a lightweight communication library (MiMiC Communication Library aka MCL), which was developed specifically for this use. MCL has a C (and optionally Fortran) API that avoids major intervention in the source code of the external programs. The underlying data transfer uses MPI, which gives immediate access to high-speed interconnects such as InfiniBand, but it can be seamlessly expanded, i.e., without altering the API.

For more details about the MiMiC framework and the theory and performance of the QM/MM implementation, we refer to the following two articles:

  1. J. M. H. Olsen, V. Bolnykh, S. Meloni, E. Ippoliti, M. P. Bircher, P. Carloni, U. Rothlisberger, MiMiC: A Novel Framework for Multiscale Modeling in Computational Chemistry, J. Chem. Theory Comput. 15, 3810–3823 (2019). DOI: 10.1021/acs.jctc.9b00093

  2. V. Bolnykh, J. M. H. Olsen, S. Meloni, M. P. Bircher, E. Ippoliti, P. Carloni, U. Rothlisberger, Extreme Scalability of DFT-Based QM/MM MD Simulations Using MiMiC, J. Chem. Theory Comput. 15, 5601–5613 (2019). DOI: 10.1021/acs.jctc.9b00424

References

List of TODOs

Todo

To be added…

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/contributing.rst, line 4.)

Todo

To be added…

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/contributing.rst, line 10.)

Todo

Add CPMD patches

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/installation.rst, line 130.)

Todo

Add GROMACS patches

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/installation.rst, line 143.)

Todo

This is how you build and install MiMiC

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/installation.rst, line 273.)

Todo

Expand with patch and simple build instructions

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/installation.rst, line 291.)

Todo

Expand with patch and simple build instructions

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/installation.rst, line 299.)

Todo

Add versions

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/introduction.rst, line 40.)

Todo

To be added…

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/mimic-project/checkouts/latest/docs/introduction.rst, line 53.)