MaMiCo: Software design for parallel molecular-continuum flow simulations

Philipp Neumann, Hanno Flohr, Rahul Arora, Piet Jarmatz, Nikola Tchipev, Hans-Joachim Bungartz

Research output: Contribution to journalArticlepeer-review

27 Scopus citations


The macro-micro-coupling tool (MaMiCo) was developed to ease the development of and modularize molecular-continuum simulations, retaining sequential and parallel performance. We demonstrate the functionality and performance of MaMiCo by coupling the spatially adaptive Lattice Boltzmann framework waLBerla with four molecular dynamics (MD) codes: the light-weight Lennard-Jones-based implementation SimpleMD, the node-level optimized software ls1 mardyn, and the community codes ESPResSo and LAMMPS. We detail interface implementations to connect each solver with MaMiCo. The coupling for each waLBerla-MD setup is validated in three-dimensional channel flow simulations which are solved by means of a state-based coupling method. We provide sequential and strong scaling measurements for the four molecular-continuum simulations. The overhead of MaMiCo is found to come at 10%-20% of the total (MD) runtime. The measurements further show that scalability of the hybrid simulations is reached on up to 500 Intel SandyBridge, and more than 1000 AMD Bulldozer compute cores. Program summary: Program title: MaMiCo. Catalogue identifier: AEYW_v1_0. Program summary URL: Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland. Licensing provisions: BSD License. No. of lines in distributed program, including test data, etc.: 67905. No. of bytes in distributed program, including test data, etc.: 1757334. Distribution format: tar.gz. Programming language: C, C++II. Computer: Standard PCs, compute clusters. Operating system: Unix/Linux. RAM: Test cases consume ca. 30-50 MB. Classification: 7.7. External routines: Scons (, ESPResSo, LAMMPS, ls1 mardyn, waLBerla. Nature of problem: Coupled molecular-continuum simulation for multi-resolution fluid dynamics: parts of the domain are resolved by molecular dynamics whereas large parts are covered by a CFD solver, e.g. a lattice Boltzmann automaton. Solution method: We couple existing MD and CFD solvers via MaMiCo (macro-micro coupling tool). Data exchange and coupling algorithmics are abstracted and incorporated in MaMiCo. Once an algorithm is set up in MaMiCo, it can be used and extended, even if other solvers are used (as soon as the respective interfaces are implemented). Restrictions: Currently, only single-centered Lennard-Jones systems are supported. Running time: Runtime depends on the underlying coupled problem and may range from minutes to days. The provided test cases for all different solver couplings (incl. one complete coupling cycle of avg. domain size) take ca. 10 h on a regular Desktop.
Original languageEnglish (US)
Pages (from-to)324-335
Number of pages12
JournalComputer Physics Communications
StatePublished - Nov 19 2015
Externally publishedYes

Bibliographical note

KAUST Repository Item: Exported on 2020-10-01
Acknowledged KAUST grant number(s): UK-C0020
Acknowledgements: This work is partially supported by the Award No. UK-C0020 made by King Abdullah University of Science and Technology (KAUST). Financial support of the German Federal Ministry of Education and Research (BMBF) in terms of the project SkaSim is further acknowledged. We particularly thank Florian Schornbaum for his support on the framework waLBerla. The Munich Centre of Advanced Computing (MAC) is acknowledged for providing computational resources (MAC-cluster). We further thank the Leibniz Supercomputing Centre for providing further computational resources in the scope of the project Massively Parallel Multiscale Simulation of Nanoflows (project pr87cu).
This publication acknowledges KAUST support, but has no KAUST affiliated authors.


Dive into the research topics of 'MaMiCo: Software design for parallel molecular-continuum flow simulations'. Together they form a unique fingerprint.

Cite this