MiMiC is a multiscale modeling framework aimed at supporting a wide range of models, e.g. QM, MM, CG, and CM, and to couple, in principle, any number of these models, which can either be used for different spatial regions or within the same subsystem. To achieve this flexibility while at the same time retaining a high degree of computational efficiency, MiMiC uses a strategy based on the MPMD model with a loose coupling between programs. This implies that instead of creating program-specific interfaces, i.e. tight coupling, the communication between programs goes through a well-defined application programming interface (API). Specifically, MiMiC has a two-sided API, where on one side MiMiC interfaces to a host program, which is the main driver evolving the system in time, while on the other side it can connect to multiple external programs in a plugin-like fashion (see illustration in The data structure of the MiMiC framework is general and allows modeling of subsystems at different levels of theory and resolution. A subsystem can contain a set of objects, such as fragments (used to describe, e.g., molecules or amino acid residues) and particles (used to describe, e.g., QM nuclei, MM atoms, or CG beads). Properties, such as electron densities, nuclear charges, point charges, masses, etc., are associated to the appropriate object. MiMiC supports both additive and subtractive subsystem schemes. In an additive scheme, the total system is divided into a number of subsystems in such a way that the total energy can be written as sums of (embedded) subsystem energies and interaction energies. This is the scheme we used for the present QM/MM implementation. A subtractive scheme, on the other hand, uses overlapping subsystems such that the total energy can be written as additions and differences of overlapping subsystem energies, which is the approach used, for example, in the ONIOM method. The MiMiC framework provides embedding capabilities which are currently limited to electrostatic embedding for QM/MM using a PW basis. The embedding functionality will be extended in future work, e.g., to support polarized embedding and Gaussian-type orbital (GTO) basis sets. The electrostatic embedding supports a generalized version of the electrostatic coupling scheme by Laio et al. in which long-range electrostatic QM-MM interactions are computed using the multipoles of the QM subsystem. MiMiC provides two schemes to partition the MM subsystem into short-and long-range parts, namely fragmentbased and atom-based partitioning. The fragment-based scheme uses the distances between the centroid of the fragments in the MM subsystem and the centroid of the QM subsystem while the atom-based scheme uses the distance between MM atoms and QM nuclei. When fragment information is available from the external MM program, e.g. as charge groups or molecules, it is generally advisable to use the fragment-based partitioning scheme, because this will usually ensure neutral charge of the short-and long-range parts. It is not a requirement that the short-and long-range parts are neutral but it can potentially improve the convergence with respect to cutoff distance and the order of the multipole expansion needed to achieve a given accuracy.