Software design for a highly parallel molecular dynamics simulation framework in chemical engineering

Highlights ► Software structure of a nanofluidics simulation program in chemical engineering. ► Design supports especially testing and comparison of different methods. ► Focus on modules for parallelisation using MPI and allowing hybrid parallelisation. ► Supports different libraries (e.g. TBB, OpenMP) for memory-coupled parallelisation. Abstract The software structure of MarDyn, a molecular dynamics simulation program for nanofluidics in chemical engineering, is presented. Multi-component mixtures in heterogeneous states with huge numbers of particles put great challenges on the simulation of scenarios in this field, which cannot be tackled with the established molecular simulation programs. The need to develop a new software for such simulations with an interdisciplinary team opened the chance of using state-of-the-art methods on the modelling as well as on the simulation side. This entails the need to test and compare different methods in all parts of the program to be able to find the best method for each task. It is shown how the software design of MarDyn supports testing and comparing of various methods in all parts of the program. The focus lies on those parts concerning parallelisation, which is on the one hand a pure MPI parallelisation and on the other hand a hybrid approach using MPI in combination with a memory-coupled parallelisation. For the latter, MarDyn not only allows the use of different algorithms, but also supports the use of different libraries such as OpenMP and TBB.